mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
JS: add query js/unused-property
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
| tst.js:4:9:4:19 | unused1: 42 | Unused property unused1. |
|
||||
| tst.js:19:5:19:15 | unused9: 42 | Unused property unused9. |
|
||||
| tst.js:26:13:26:24 | unused11: 42 | Unused property unused11. |
|
||||
| tst.js:31:13:31:35 | used12_ ... lly: 42 | Unused property used12_butNotReally. |
|
||||
| tst.js:32:13:32:24 | unused12: 42 | Unused property unused12. |
|
||||
| tst.js:52:3:52:14 | unused14: 42 | Unused property unused14. |
|
||||
| tst.js:54:2:54:20 | captured14.unused14 | Unused property unused14. |
|
||||
| tst.js:55:2:55:20 | captured14.unused14 | Unused property unused14. |
|
||||
| tst.ts:24:21:24:25 | p: 42 | Unused property p. |
|
||||
@@ -0,0 +1 @@
|
||||
Declarations/UnusedProperty.ql
|
||||
@@ -0,0 +1,83 @@
|
||||
(function(){
|
||||
var captured1 = {
|
||||
used1: 42,
|
||||
unused1: 42
|
||||
};
|
||||
captured1.used1;
|
||||
|
||||
var unused2 = {
|
||||
unused2a: 42,
|
||||
unused2b: 42
|
||||
};
|
||||
|
||||
for (x.p in { used3: 42 });
|
||||
for (x.p of { used4: 42 });
|
||||
42 in { used5: 42 };
|
||||
f(...{used6: 42});
|
||||
[...{used7: 42}];
|
||||
({...{used8: 42}});
|
||||
({ unused9: 42 }) + "";
|
||||
({ used10: 42 }).hasOwnProperty;
|
||||
({ used10: 42 }).propertyIsEnumerable;
|
||||
|
||||
(function(){
|
||||
var captured11 = {
|
||||
used11: 42,
|
||||
unused11: 42
|
||||
};
|
||||
captured11.used11;
|
||||
|
||||
var captured12 = {
|
||||
used12_butNotReally: 42,
|
||||
unused12: 42
|
||||
};
|
||||
|
||||
throw x;
|
||||
|
||||
captured12.used12_butNotReally;
|
||||
|
||||
var captured13 = {
|
||||
used13: 42,
|
||||
unused13: 42
|
||||
};
|
||||
captured13.used13;
|
||||
});
|
||||
(function(options){
|
||||
if(unknown)
|
||||
options = {};
|
||||
options.output = 42;
|
||||
});
|
||||
|
||||
var captured14 = {
|
||||
unused14: 42
|
||||
};
|
||||
captured14.unused14 = 42;
|
||||
captured14.unused14 = 42;
|
||||
|
||||
|
||||
var captured15 = {
|
||||
semiUnused15: 42
|
||||
};
|
||||
captured15.semiUnused15 = 42;
|
||||
captured15.semiUnused15;
|
||||
});
|
||||
(function(unusedParam = {unusedProp: 42}){
|
||||
|
||||
});
|
||||
(function(){
|
||||
var unusedObj = {
|
||||
unusedProp: 42
|
||||
};
|
||||
});
|
||||
(function(){
|
||||
var unusedSpecials = {
|
||||
toString: function(){},
|
||||
valueOf: function(){},
|
||||
'@@iterator': function(){}
|
||||
};
|
||||
unusedSpecials.foo;
|
||||
});
|
||||
|
||||
(function(){
|
||||
({ unusedProp: 42 }, 42);
|
||||
});
|
||||
@@ -0,0 +1,28 @@
|
||||
(function(){
|
||||
var o1: { p: int, q: int } = { p: 42, q: 42 };
|
||||
o1.q;
|
||||
|
||||
var o2 = <{ p: int, q: int }>{ p: 42, q: 42 };
|
||||
o2.q;
|
||||
|
||||
var o3: { p: int, q: int } = f();
|
||||
o3 = o3 || { p: 42, q: 42 };
|
||||
o3.q;
|
||||
|
||||
});
|
||||
|
||||
class C {
|
||||
private o: { p: int, q: int };
|
||||
|
||||
constructor() {
|
||||
this.o = { p: 42, q: 42 };
|
||||
this.o.q;
|
||||
}
|
||||
}
|
||||
|
||||
(function(){
|
||||
var o1: any = { p: 42, q: 42 };
|
||||
o1.q;
|
||||
var o2: any = { p: 42, q: 42 };
|
||||
var o3: { p: int, q: int } = o2;
|
||||
})
|
||||
Reference in New Issue
Block a user