Merge pull request #2267 from max-schaefer/js/qltest-extractor-options

Approved by asger-semmle
This commit is contained in:
semmle-qlci
2019-11-07 11:36:45 +00:00
committed by GitHub
202 changed files with 398 additions and 525 deletions

View File

@@ -546,7 +546,7 @@
| classes | 39 | static x = 5; | 39 | t = cla ... () {} } |
| classes | 39 | t | 39 | A |
| classes | 39 | t = cla ... () {} } | 39 | t |
| classes | 39 | t = cla ... () {} } | 42 | exit node of <toplevel> |
| classes | 39 | t = cla ... () {} } | 40 | exit node of <toplevel> |
| classes | 39 | x | 39 | 5 |
| classes | 39 | {} | 39 | exit node of () {} |
| decorated_parameter | 1 | C | 2 | foo |
@@ -625,7 +625,7 @@
| fields | 8 | {} | 8 | exit node of () {} |
| fields | 11 | A | 12 | constructor |
| fields | 11 | B | 11 | A |
| fields | 11 | class B ... \\n z;\\n} | 21 | exit node of <toplevel> |
| fields | 11 | class B ... \\n z;\\n} | 19 | exit node of <toplevel> |
| fields | 12 | constru ... er;\\n } | 11 | class B ... \\n z;\\n} |
| fields | 12 | constructor | 12 | function in constru ... er;\\n } |
| fields | 12 | entry node of () {\\n ... er;\\n } | 12 | {\\n b ... er;\\n } |
@@ -680,7 +680,7 @@
| globals | 19 | h | 20 | {\\n} |
| globals | 20 | {\\n} | 21 | exit node of function\\n h()\\n{\\n} |
| mixedMembers | 1 | Mixed | 3 | constructor |
| mixedMembers | 1 | class M ... z) {}\\n} | 7 | exit node of <toplevel> |
| mixedMembers | 1 | class M ... z) {}\\n} | 6 | exit node of <toplevel> |
| mixedMembers | 1 | entry node of <toplevel> | 1 | Mixed |
| mixedMembers | 2 | 3 | 2 | x = 3 |
| mixedMembers | 2 | x | 2 | 3 |
@@ -746,7 +746,7 @@
| staticFields | 2 | C | 2 | new C() |
| staticFields | 2 | instance | 2 | C |
| staticFields | 2 | new C() | 2 | static ... ew C(); |
| staticFields | 2 | static ... ew C(); | 7 | exit node of <toplevel> |
| staticFields | 2 | static ... ew C(); | 4 | exit node of <toplevel> |
| staticFieldsTS | 1 | C | 1 | constructor |
| staticFieldsTS | 1 | class C ... C();\\n} | 2 | instance |
| staticFieldsTS | 1 | constructor | 1 | function in constructor() {} |

View File

@@ -37,5 +37,3 @@ t = class extends A { f() {} }
t = class extends A { x = 5; f() {} }
t = class extends A { static x = 5; f() {} }
t = class extends A { static x = 5; f() {} constructor() {} }
// semmle-extractor-options: --experimental

View File

@@ -16,5 +16,3 @@ class B extends A {
}
z;
}
// semmle-extractor-options: --experimental

View File

@@ -3,5 +3,3 @@ class Mixed {
constructor(y) {}
method(z) {}
}
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -1,6 +1,3 @@
class C {
static instance = new C();
}
// semmle-extractor-options: --experimental

View File

@@ -2,5 +2,3 @@ class C {
x;
y = 42
}
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -8,5 +8,3 @@ year;
year;
(for (i of numbers) for (j of letters) i+j);
(for (i of numbers) for (j of letters) if (i<j) i+j);
//semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -147,11 +147,11 @@
| tst.js:111:29:111:31 | o2c | tst.js:111:6:111:38 | v2c |
| tst.js:111:36:111:38 | o2d | tst.js:111:6:111:32 | [v2a, v ... = o2c] |
| tst.js:115:1:115:12 | reflective call | tst.js:115:1:115:12 | Array.call() |
| tst.ts:1:1:1:1 | A | tst.ts:1:11:1:11 | A |
| tst.ts:1:1:1:1 | A | tst.ts:1:18:1:18 | A |
| tst.ts:1:1:1:1 | A | tst.ts:7:1:7:0 | A |
| tst.ts:1:1:5:1 | A | tst.ts:7:1:7:0 | A |
| tst.ts:1:1:5:1 | A | tst.ts:11:11:11:11 | A |
| tst.ts:1:1:5:1 | namespa ... lysed\\n} | tst.ts:1:1:5:1 | A |
| tst.ts:1:8:5:1 | A | tst.ts:7:1:7:0 | A |
| tst.ts:1:8:5:1 | A | tst.ts:11:11:11:11 | A |
| tst.ts:1:8:5:1 | namespa ... lysed\\n} | tst.ts:1:8:5:1 | A |
| tst.ts:2:14:2:19 | x | tst.ts:4:3:4:3 | x |
| tst.ts:2:18:2:19 | 42 | tst.ts:2:14:2:19 | x |
| tst.ts:7:1:7:0 | A | tst.ts:8:3:8:3 | A |

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -113,5 +113,3 @@ x ?? y; // flow through short-circuiting operator
});
Array.call() // flow from implicit call to `Array` to `Array.call`
// semmle-extractor-options: --experimental

View File

@@ -1,4 +1,4 @@
namespace A {
export namespace A {
export let x = 42;
setX();
x; // global namespace exports are incompletely analysed
@@ -11,5 +11,3 @@ function setX() {
var nd2 = A.x as number; // flow through type assertions
class StringList extends List<string> {} // flow through expressions with type arguments
// semmle-extractor-options: --source-type module

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -7,5 +7,3 @@ var o = {
get bar() { return 42 },
set bar(v) { }
};
// semmle-extractor-options: --experimental

View File

@@ -4,5 +4,3 @@ for (let fn in fns)
function getSquares() {
return [for (i of [0, 1, 2]) i*i];
}
//semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --tolerate-parse-errors

View File

@@ -8,5 +8,3 @@ var o = {
set y(...ys) {},
set z(z, ...zs) {}
};
// semmle-extractor-options: --tolerate-parse-errors

View File

@@ -1,4 +1,2 @@
while
}
// semmle-extractor-options: --tolerate-parse-errors

View File

@@ -1,3 +1 @@
console.log(let (x = 23, y = 19) x + y);
//semmle-extractor-options: --experimental

View File

@@ -1,3 +1 @@
array.map(function(x) x+1);
//semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -682,29 +682,29 @@ test_getTopLevel
| functions.js:7:4:7:4 | x | functions.js:1:1:10:7 | <toplevel> |
| functions.js:7:7:7:16 | in_f_again | functions.js:1:1:10:7 | <toplevel> |
| functions.js:10:1:10:6 | global | functions.js:1:1:10:7 | <toplevel> |
| legacyletexpr.js:1:1:1:7 | console | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:1:1:11 | console.log | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:1:1:39 | console ... x + y) | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:9:1:11 | log | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:13:1:38 | let (x ... ) x + y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:18:1:18 | x | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:18:1:23 | x = 23 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:22:1:23 | 23 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:26:1:26 | y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:26:1:31 | y = 19 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:30:1:31 | 19 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:34:1:34 | x | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:34:1:38 | x + y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:38:1:38 | y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:1:1:5 | array | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:1:1:9 | array.map | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:1:1:26 | array.m ... x) x+1) | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:7:1:9 | map | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:11:1:25 | function(x) x+1 | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:20:1:20 | x | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:23:1:23 | x | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:23:1:25 | x+1 | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:25:1:25 | 1 | mozextensions.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:1:1:7 | console | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:1:1:11 | console.log | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:1:1:39 | console ... x + y) | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:9:1:11 | log | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:13:1:38 | let (x ... ) x + y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:18:1:18 | x | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:18:1:23 | x = 23 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:22:1:23 | 23 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:26:1:26 | y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:26:1:31 | y = 19 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:30:1:31 | 19 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:34:1:34 | x | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:34:1:38 | x + y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:38:1:38 | y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:1:1:5 | array | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:1:1:9 | array.map | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:1:1:26 | array.m ... x) x+1) | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:7:1:9 | map | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:11:1:25 | function(x) x+1 | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:20:1:20 | x | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:23:1:23 | x | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:23:1:25 | x+1 | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:25:1:25 | 1 | mozextensions.js:1:1:2:0 | <toplevel> |
| nullSensitiveContexts.js:7:1:7:3 | foo | nullSensitiveContexts.js:1:1:61:0 | <toplevel> |
| nullSensitiveContexts.js:7:1:7:8 | foo[bar] | nullSensitiveContexts.js:1:1:61:0 | <toplevel> |
| nullSensitiveContexts.js:7:5:7:7 | bar | nullSensitiveContexts.js:1:1:61:0 | <toplevel> |
@@ -1922,25 +1922,25 @@ test_getContainer
| functions.js:7:4:7:4 | x | functions.js:1:1:9:1 | functio ... \\t\\t});\\n} |
| functions.js:7:7:7:16 | in_f_again | functions.js:1:1:9:1 | functio ... \\t\\t});\\n} |
| functions.js:10:1:10:6 | global | functions.js:1:1:10:7 | <toplevel> |
| legacyletexpr.js:1:1:1:7 | console | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:1:1:11 | console.log | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:1:1:39 | console ... x + y) | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:9:1:11 | log | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:13:1:38 | let (x ... ) x + y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:18:1:18 | x | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:18:1:23 | x = 23 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:22:1:23 | 23 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:26:1:26 | y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:26:1:31 | y = 19 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:30:1:31 | 19 | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:34:1:34 | x | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:34:1:38 | x + y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:38:1:38 | y | legacyletexpr.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:1:1:5 | array | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:1:1:9 | array.map | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:1:1:26 | array.m ... x) x+1) | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:7:1:9 | map | mozextensions.js:1:1:3:42 | <toplevel> |
| mozextensions.js:1:11:1:25 | function(x) x+1 | mozextensions.js:1:1:3:42 | <toplevel> |
| legacyletexpr.js:1:1:1:7 | console | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:1:1:11 | console.log | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:1:1:39 | console ... x + y) | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:9:1:11 | log | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:13:1:38 | let (x ... ) x + y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:18:1:18 | x | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:18:1:23 | x = 23 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:22:1:23 | 23 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:26:1:26 | y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:26:1:31 | y = 19 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:30:1:31 | 19 | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:34:1:34 | x | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:34:1:38 | x + y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| legacyletexpr.js:1:38:1:38 | y | legacyletexpr.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:1:1:5 | array | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:1:1:9 | array.map | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:1:1:26 | array.m ... x) x+1) | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:7:1:9 | map | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:11:1:25 | function(x) x+1 | mozextensions.js:1:1:2:0 | <toplevel> |
| mozextensions.js:1:20:1:20 | x | mozextensions.js:1:11:1:25 | function(x) x+1 |
| mozextensions.js:1:23:1:23 | x | mozextensions.js:1:11:1:25 | function(x) x+1 |
| mozextensions.js:1:23:1:25 | x+1 | mozextensions.js:1:11:1:25 | function(x) x+1 |

View File

@@ -17,4 +17,4 @@ Point.prototype['final'];
/** @type {!Point} */
var aPoint;
//semmle-extractor-options: --externs
/** @externs */

View File

@@ -194,8 +194,8 @@
| n.js:2:1:2:15 | function g |
| n.js:2:1:2:15 | instance of function g |
| n.js:3:16:3:23 | object literal |
| namespace-reexport.js:1:1:4:0 | exports object of module namespace-reexport |
| namespace-reexport.js:1:1:4:0 | module object of module namespace-reexport |
| namespace-reexport.js:1:1:2:0 | exports object of module namespace-reexport |
| namespace-reexport.js:1:1:2:0 | module object of module namespace-reexport |
| nestedImport.js:1:1:13:0 | exports object of module nestedImport |
| nestedImport.js:1:1:13:0 | module object of module nestedImport |
| nestedImport.js:9:1:12:1 | function tst |
@@ -235,14 +235,14 @@
| objlit.js:43:12:45:3 | object literal |
| reexport-d.js:1:1:2:0 | exports object of module reexport-d |
| reexport-d.js:1:1:2:0 | module object of module reexport-d |
| reexport-mixins.js:1:1:4:0 | exports object of module reexport-mixins |
| reexport-mixins.js:1:1:4:0 | module object of module reexport-mixins |
| reexport-mixins.js:1:1:2:0 | exports object of module reexport-mixins |
| reexport-mixins.js:1:1:2:0 | module object of module reexport-mixins |
| reexport-unknown.js:1:1:2:0 | exports object of module reexport-unknown |
| reexport-unknown.js:1:1:2:0 | module object of module reexport-unknown |
| reexport/client/src/index.js:1:1:3:0 | exports object of module index |
| reexport/client/src/index.js:1:1:3:0 | module object of module index |
| reexport/lib/index.js:1:1:4:0 | exports object of module index |
| reexport/lib/index.js:1:1:4:0 | module object of module index |
| reexport/lib/index.js:1:1:2:0 | exports object of module index |
| reexport/lib/index.js:1:1:2:0 | module object of module index |
| reexport/lib/src/utils/util.js:1:1:3:0 | exports object of module util |
| reexport/lib/src/utils/util.js:1:1:3:0 | module object of module util |
| refinements.js:1:1:8:1 | function f1 |
@@ -341,8 +341,8 @@
| tst.js:174:1:183:1 | function awaitFlow |
| tst.mjs:1:1:4:0 | exports object of module tst |
| tst.mjs:1:1:4:0 | module object of module tst |
| tst.ts:1:1:15:0 | exports object of module tst |
| tst.ts:1:1:15:0 | module object of module tst |
| tst.ts:1:1:13:0 | exports object of module tst |
| tst.ts:1:1:13:0 | module object of module tst |
| tst.ts:8:1:10:1 | function setX |
| tst.ts:8:1:10:1 | instance of function setX |
| with.js:1:1:17:1 | function f |

View File

@@ -1,3 +1 @@
export * as h from './h';
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -1,3 +1 @@
export default from './mixins';
// semmle-extractor-options: --experimental

View File

@@ -1,3 +1 @@
export data from './src/utils/util'
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -1,4 +1,4 @@
namespace A {
export namespace A {
export let x = 42;
setX();
let x2 = x;
@@ -10,5 +10,3 @@ function setX() {
}
let a = A;
// semmle-extractor-options: --source-type module

View File

@@ -1,3 +1 @@
a.map(function(x) x+1);
//semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -1,4 +1,4 @@
// semmle-extractor-options: --html all
<html>
<body>
(1) as child #0

View File

@@ -0,0 +1 @@
semmle-extractor-options: --html all

View File

@@ -28,4 +28,4 @@ let source3 = "source3";
call2(source3, store);
call2(source3, confounder);
// semmle-extractor-options: --source-type module
export default 0;

View File

@@ -42,4 +42,4 @@ var o5 = {};
setP(o5, "not a source");
var sink10 = getP(o5);
// semmle-extractor-options: --source-type module
export default 0;

View File

@@ -1,2 +1 @@
| invalid.json:3:1:3:1 | Error: Comments are not legal in JSON. |
| invalid.json:4:1:4:1 | Error: Comments are not legal in JSON. |

View File

@@ -1,4 +1,3 @@
"hi"
// JSON doesn't have comments
// semmle-extractor-options: --tolerate-parse-errors

View File

@@ -0,0 +1 @@
semmle-extractor-options: --tolerate-parse-errors

View File

@@ -1,4 +1,4 @@
| tst1.js:1:1:1:55 | abc // semmle-extractor-options: --extract-program-text | abc // semmle-extractor-options: --extract-program-text | \n |
| tst1.js:1:1:1:3 | abc | abc | \n |
| tst1.js:2:1:2:3 | def | def | \r |
| tst1.js:3:1:3:3 | ghi | ghi | \r\n |
| tst1.js:4:1:4:3 | jkl | jkl | \n |
@@ -6,13 +6,13 @@
| tst1.js:6:1:6:3 | mno | mno | \u2028 |
| tst1.js:7:1:7:0 | | | \n |
| tst1.js:8:1:8:3 | pqr | pqr | \u2029 |
| tst1.js:9:1:9:3 | stu | stu | |
| tst2.js:1:1:1:63 | first_line // semmle-extractor-options: --extract-program-text | first_line // semmle-extractor-options: --extract-program-text | \n |
| tst3.js:1:1:1:56 | 42; // semmle-extractor-options: --extract-program-text | 42; // semmle-extractor-options: --extract-program-text | \n |
| tst1.js:9:1:9:3 | stu | stu | \n |
| tst2.js:1:1:1:10 | first_line | first_line | \n |
| tst3.js:1:1:1:3 | 42; | 42; | \n |
| tst3.js:2:1:2:4 | \t42; | \t42; | \n |
| tst3.js:3:1:3:5 | \t\t42; | \t\t42; | \n |
| tst3.js:4:1:4:6 | \t\t\t42; | \t\t\t42; | \n |
| tst3.js:5:1:5:6 | \t\t 42; | \t\t 42; | \n |
| tst3.js:6:1:6:6 | \t \t42; | \t \t42; | \n |
| tst3.js:7:1:7:7 | 42; | 42; | \n |
| tst3.js:8:1:8:5 | 42; | 42; | |
| tst3.js:8:1:8:5 | 42; | 42; | \n |

View File

@@ -0,0 +1 @@
semmle-extractor-options: --extract-program-text

View File

@@ -1,5 +1,5 @@
abc // semmle-extractor-options: --extract-program-text
abc
def
ghi
jkl

View File

@@ -1 +1 @@
first_line // semmle-extractor-options: --extract-program-text
first_line

View File

@@ -1,8 +1,8 @@
42; // semmle-extractor-options: --extract-program-text
42;
42;
42;
42;
42;
42;
42;
42;
42;

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -89,5 +89,3 @@
let bound = {};
bound::unknown();
});
// semmle-extractor-options: --experimental

View File

@@ -5,5 +5,3 @@ f();
export { f as g };
export f2 from './a';
// semmle-extractor-options: --experimental

View File

@@ -3,5 +3,3 @@ import * as b from '../b';
b.g();
export { g as h } from '../b';
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -104,15 +104,15 @@ test_Module_exports
| a.js:1:1:5:32 | <toplevel> | default | a.js:1:1:3:1 | export ... n 23;\\n} |
| a.js:1:1:5:32 | <toplevel> | x | a.js:5:1:5:32 | export ... } = o; |
| a.js:1:1:5:32 | <toplevel> | y | a.js:5:1:5:32 | export ... } = o; |
| b.js:1:1:10:0 | <toplevel> | f2 | b.js:7:1:7:21 | export ... './a'; |
| b.js:1:1:10:0 | <toplevel> | g | b.js:5:1:5:18 | export { f as g }; |
| b.js:1:1:8:0 | <toplevel> | f2 | b.js:7:1:7:21 | export ... './a'; |
| b.js:1:1:8:0 | <toplevel> | g | b.js:5:1:5:18 | export { f as g }; |
| e.js:1:1:4:0 | <toplevel> | g | e.js:3:1:3:35 | export ... './a'; |
| e.js:1:1:4:0 | <toplevel> | x | e.js:2:1:2:16 | export { x, y }; |
| e.js:1:1:4:0 | <toplevel> | y | e.js:2:1:2:16 | export { x, y }; |
| es2015_require.js:1:1:3:25 | <toplevel> | default | es2015_require.js:3:1:3:25 | export ... ss C {} |
| export-in-mjs.mjs:1:1:1:34 | <toplevel> | exported_from_mjs | export-in-mjs.mjs:1:1:1:34 | export ... s = 42; |
| f.ts:1:1:6:0 | <toplevel> | foo | f.ts:5:1:5:24 | export ... oo() {} |
| m/c.js:1:1:8:0 | <toplevel> | h | m/c.js:5:1:5:30 | export ... '../b'; |
| m/c.js:1:1:6:0 | <toplevel> | h | m/c.js:5:1:5:30 | export ... '../b'; |
| tst.html:4:23:8:0 | <toplevel> | y | tst.html:7:3:7:22 | export const y = 42; |
test_ExportDefaultDeclarations
| a.js:1:1:3:1 | export ... n 23;\\n} |

View File

@@ -1,6 +1,6 @@
| src/lib/tst2.js:1:1:1:13 | require("..") | src/index.js:1:1:5:0 | <toplevel> |
| src/node_modules/nested/tst3.js:1:1:1:29 | require ... odule') | src/node_modules/third-party-module/fancy.js:1:1:5:0 | <toplevel> |
| src/lib/tst2.js:1:1:1:13 | require("..") | src/index.js:1:1:4:0 | <toplevel> |
| src/node_modules/nested/tst3.js:1:1:1:29 | require ... odule') | src/node_modules/third-party-module/fancy.js:1:1:4:0 | <toplevel> |
| src/node_modules/nested/tst3.js:2:1:2:12 | require('a') | src/node_modules/nested/node_modules/a/index.js:1:1:1:25 | <toplevel> |
| src/node_modules/tst2.js:1:1:1:38 | require ... cy.js') | src/node_modules/third-party-module/fancy.js:1:1:5:0 | <toplevel> |
| src/tst2.js:1:1:1:12 | require(".") | src/index.js:1:1:5:0 | <toplevel> |
| src/tst.js:1:1:1:38 | require ... cy.js') | src/node_modules/third-party-module/fancy.js:1:1:5:0 | <toplevel> |
| src/node_modules/tst2.js:1:1:1:38 | require ... cy.js') | src/node_modules/third-party-module/fancy.js:1:1:4:0 | <toplevel> |
| src/tst2.js:1:1:1:12 | require(".") | src/index.js:1:1:4:0 | <toplevel> |
| src/tst.js:1:1:1:38 | require ... cy.js') | src/node_modules/third-party-module/fancy.js:1:1:4:0 | <toplevel> |

View File

@@ -1,9 +1,9 @@
| b | src/node_modules/b/lib/index.js:1:1:2:0 | <toplevel> |
| b | src/node_modules/b/lib/index.ts:1:1:2:0 | <toplevel> |
| c | src/node_modules/c/src/index.js:1:1:2:0 | <toplevel> |
| test-package | src/index.js:1:1:5:0 | <toplevel> |
| test-package | src/index.js:1:1:4:0 | <toplevel> |
| test-package | src/lib/tst2.js:1:1:1:14 | <toplevel> |
| test-package | src/lib/tst.js:1:1:5:0 | <toplevel> |
| test-package | src/lib/tst.js:1:1:4:0 | <toplevel> |
| test-package | src/tst2.js:1:1:1:13 | <toplevel> |
| test-package | src/tst.js:1:1:2:38 | <toplevel> |
| third-party-module | src/node_modules/third-party-module/fancy.js:1:1:5:0 | <toplevel> |
| third-party-module | src/node_modules/third-party-module/fancy.js:1:1:4:0 | <toplevel> |

View File

@@ -1,4 +1,4 @@
| b | src/node_modules/b/lib/index.ts:1:1:2:0 | <toplevel> |
| c | src/node_modules/c/src/index.js:1:1:2:0 | <toplevel> |
| test-package | src/index.js:1:1:5:0 | <toplevel> |
| third-party-module | src/node_modules/third-party-module/fancy.js:1:1:5:0 | <toplevel> |
| test-package | src/index.js:1:1:4:0 | <toplevel> |
| third-party-module | src/node_modules/third-party-module/fancy.js:1:1:4:0 | <toplevel> |

View File

@@ -1,4 +1,3 @@
alert("Hello");
// semmle-extractor-options: --platform
// semmle-extractor-options: node
require("process");

View File

@@ -1,4 +1,3 @@
alert("world");
// semmle-extractor-options: --platform
// semmle-extractor-options: node
require("process");

View File

@@ -1,4 +1,3 @@
('alert' in this ? alert : console.log)("Hello");
// semmle-extractor-options: --platform
// semmle-extractor-options: node
require("process");

View File

@@ -9,6 +9,7 @@
| b.js:1:1:8:0 | <toplevel> | b.js:1:1:1:18 | require('./sub/c') |
| d.js:1:1:7:15 | <toplevel> | d.js:1:1:1:38 | require ... s/ini') |
| d.js:1:1:7:15 | <toplevel> | d.js:7:1:7:14 | require('foo') |
| e.js:1:1:6:0 | <toplevel> | e.js:5:1:5:18 | require("process") |
| index.js:1:1:3:0 | <toplevel> | index.js:1:12:1:26 | require('path') |
| index.js:1:1:3:0 | <toplevel> | index.js:2:1:2:41 | require ... b.js")) |
| mjs-files/require-from-js.js:1:1:4:0 | <toplevel> | mjs-files/require-from-js.js:1:12:1:36 | require ... on-me') |

View File

@@ -1,6 +1,6 @@
| a.js:1:1:14:0 | <toplevel> | b.js:1:1:8:0 | <toplevel> |
| a.js:1:1:14:0 | <toplevel> | d.js:1:1:7:15 | <toplevel> |
| a.js:1:1:14:0 | <toplevel> | e.js:1:1:7:0 | <toplevel> |
| a.js:1:1:14:0 | <toplevel> | e.js:1:1:6:0 | <toplevel> |
| a.js:1:1:14:0 | <toplevel> | index.js:1:1:3:0 | <toplevel> |
| a.js:1:1:14:0 | <toplevel> | sub/c.js:1:1:4:0 | <toplevel> |
| b.js:1:1:8:0 | <toplevel> | sub/c.js:1:1:4:0 | <toplevel> |

View File

@@ -1,7 +1,7 @@
| a.js:1:1:14:0 | <toplevel> | a.js:0:0:0:0 | a.js | a.js | a |
| b.js:1:1:8:0 | <toplevel> | b.js:0:0:0:0 | b.js | b.js | b |
| d.js:1:1:7:15 | <toplevel> | d.js:0:0:0:0 | d.js | d.js | d |
| e.js:1:1:7:0 | <toplevel> | e.js:0:0:0:0 | e.js | e.js | e |
| e.js:1:1:6:0 | <toplevel> | e.js:0:0:0:0 | e.js | e.js | e |
| index.js:1:1:3:0 | <toplevel> | index.js:0:0:0:0 | index.js | index.js | index |
| mjs-files/require-from-js.js:1:1:4:0 | <toplevel> | mjs-files/require-from-js.js:0:0:0:0 | mjs-files/require-from-js.js | mjs-files/require-from-js.js | require-from-js |
| sub/c.js:1:1:4:0 | <toplevel> | sub/c.js:0:0:0:0 | sub/c.js | sub/c.js | c |

View File

@@ -9,6 +9,7 @@
| b.js:1:1:1:18 | require('./sub/c') |
| d.js:1:1:1:38 | require ... s/ini') |
| d.js:7:1:7:14 | require('foo') |
| e.js:5:1:5:18 | require("process") |
| f.js:2:1:2:7 | r("fs") |
| index.js:1:12:1:26 | require('path') |
| index.js:2:1:2:41 | require ... b.js")) |

View File

@@ -3,7 +3,7 @@
| a.js:4:6:4:29 | require ... /d.js') | ./sub/../d.js | d.js:1:1:7:15 | <toplevel> |
| a.js:7:1:7:18 | require('./sub/c') | ./sub/c | sub/c.js:1:1:4:0 | <toplevel> |
| a.js:10:1:10:18 | require(__dirname) | | index.js:1:1:3:0 | <toplevel> |
| a.js:11:1:11:25 | require ... + '/e') | /e | e.js:1:1:7:0 | <toplevel> |
| a.js:11:1:11:25 | require ... + '/e') | /e | e.js:1:1:6:0 | <toplevel> |
| a.js:12:1:12:28 | require ... + 'c') | ./sub/c | sub/c.js:1:1:4:0 | <toplevel> |
| b.js:1:1:1:18 | require('./sub/c') | ./sub/c | sub/c.js:1:1:4:0 | <toplevel> |
| d.js:7:1:7:14 | require('foo') | foo | sub/f.js:1:1:4:17 | <toplevel> |

View File

@@ -2,5 +2,4 @@
require('./a.js');
})();
// semmle-extractor-options: --platform
// semmle-extractor-options: node
require("process");

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -13,4 +13,3 @@
DUMP(o3);
DUMP(o4);
});
// semmle-extractor-options: --experimental

View File

@@ -13,5 +13,3 @@ a?.m().b;
a.m?.().b;
a.m()?.b;
a?.m?.()?.b;
// semmle-extractor-options: --experimental

View File

@@ -1,55 +1,55 @@
test_getAPropertyRead
| tst.js:1:1:1:0 | this | tst.js:23:15:23:29 | this.someMethod |
| tst.js:1:1:1:0 | this | tst.js:24:36:24:45 | this.state |
| tst.js:14:5:14:11 | console | tst.js:14:5:14:15 | console.log |
| tst.js:17:5:17:11 | console | tst.js:17:5:17:15 | console.log |
| tst.js:23:15:23:29 | this.someMethod | tst.js:23:15:23:34 | this.someMethod.bind |
| tst.js:24:36:24:45 | this.state | tst.js:24:36:24:50 | this.state.name |
| tst.js:34:6:34:7 | vv | tst.js:34:6:34:10 | vv.pp |
| tst.js:35:6:35:8 | vvv | tst.js:35:6:35:12 | vvv.ppp |
| tst.js:35:6:35:12 | vvv.ppp | tst.js:35:6:35:16 | vvv.ppp.qqq |
| tst.js:45:3:45:9 | console | tst.js:45:3:45:13 | console.log |
| tst.js:45:15:45:17 | obj | tst.js:45:15:45:20 | obj[p] |
| tst.js:1:1:1:0 | this | tst.js:22:15:22:29 | this.someMethod |
| tst.js:1:1:1:0 | this | tst.js:23:36:23:45 | this.state |
| tst.js:13:5:13:11 | console | tst.js:13:5:13:15 | console.log |
| tst.js:16:5:16:11 | console | tst.js:16:5:16:15 | console.log |
| tst.js:22:15:22:29 | this.someMethod | tst.js:22:15:22:34 | this.someMethod.bind |
| tst.js:23:36:23:45 | this.state | tst.js:23:36:23:50 | this.state.name |
| tst.js:33:6:33:7 | vv | tst.js:33:6:33:10 | vv.pp |
| tst.js:34:6:34:8 | vvv | tst.js:34:6:34:12 | vvv.ppp |
| tst.js:34:6:34:12 | vvv.ppp | tst.js:34:6:34:16 | vvv.ppp.qqq |
| tst.js:44:3:44:9 | console | tst.js:44:3:44:13 | console.log |
| tst.js:44:15:44:17 | obj | tst.js:44:15:44:20 | obj[p] |
test_getAPropertyReference
| classes.ts:3:21:3:20 | this | classes.ts:4:3:4:24 | instanc ... foo(); |
| classes.ts:8:3:8:2 | this | classes.ts:8:15:8:35 | public ... erField |
| classes.ts:12:5:12:4 | this | classes.ts:12:17:12:37 | public ... erField |
| classes.ts:16:5:16:4 | this | classes.ts:16:17:16:37 | public ... erField |
| tst.js:1:1:1:0 | this | tst.js:23:15:23:29 | this.someMethod |
| tst.js:1:1:1:0 | this | tst.js:24:36:24:45 | this.state |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | tst.js:3:5:3:8 | x: 4 |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | tst.js:4:5:6:5 | func: f ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | tst.js:7:5:9:5 | f() {\\n ... ;\\n } |
| tst.js:12:1:19:1 | class C ... ;\\n }\\n} | tst.js:13:3:15:3 | static ... x);\\n } |
| tst.js:14:5:14:11 | console | tst.js:14:5:14:15 | console.log |
| tst.js:17:5:17:11 | console | tst.js:17:5:17:15 | console.log |
| tst.js:21:1:21:1 | C | tst.js:21:1:21:6 | C.prop |
| tst.js:23:15:23:29 | this.someMethod | tst.js:23:15:23:34 | this.someMethod.bind |
| tst.js:24:8:24:57 | <div on ... }</div> | tst.js:24:13:24:27 | onClick={click} |
| tst.js:24:36:24:45 | this.state | tst.js:24:36:24:50 | this.state.name |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | tst.js:27:3:27:26 | get x() ... null; } |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | tst.js:28:3:28:13 | set y(v) {} |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:32:5:32:8 | n: 1 |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:33:5:33:10 | [v]: 2 |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:34:5:34:14 | [vv.pp]: 3 |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:35:5:35:20 | [vvv.ppp.qqq]: 4 |
| tst.js:34:6:34:7 | vv | tst.js:34:6:34:10 | vv.pp |
| tst.js:35:6:35:8 | vvv | tst.js:35:6:35:12 | vvv.ppp |
| tst.js:35:6:35:12 | vvv.ppp | tst.js:35:6:35:16 | vvv.ppp.qqq |
| tst.js:38:12:38:26 | ["a", "b", "c"] | tst.js:38:13:38:15 | "a" |
| tst.js:38:12:38:26 | ["a", "b", "c"] | tst.js:38:18:38:20 | "b" |
| tst.js:38:12:38:26 | ["a", "b", "c"] | tst.js:38:23:38:25 | "c" |
| tst.js:39:12:39:23 | ["a", , "c"] | tst.js:39:13:39:15 | "a" |
| tst.js:39:12:39:23 | ["a", , "c"] | tst.js:39:20:39:22 | "c" |
| tst.js:40:12:40:23 | [, "b", "c"] | tst.js:40:15:40:17 | "b" |
| tst.js:40:12:40:23 | [, "b", "c"] | tst.js:40:20:40:22 | "c" |
| tst.js:41:12:41:22 | ["a", "b",] | tst.js:41:13:41:15 | "a" |
| tst.js:41:12:41:22 | ["a", "b",] | tst.js:41:18:41:20 | "b" |
| tst.js:42:12:42:30 | ["a", ...arr3, "d"] | tst.js:42:13:42:15 | "a" |
| tst.js:42:12:42:30 | ["a", ...arr3, "d"] | tst.js:42:18:42:24 | ...arr3 |
| tst.js:42:12:42:30 | ["a", ...arr3, "d"] | tst.js:42:27:42:29 | "d" |
| tst.js:45:3:45:9 | console | tst.js:45:3:45:13 | console.log |
| tst.js:45:15:45:17 | obj | tst.js:45:15:45:20 | obj[p] |
| tst.js:1:1:1:0 | this | tst.js:22:15:22:29 | this.someMethod |
| tst.js:1:1:1:0 | this | tst.js:23:36:23:45 | this.state |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:2:5:2:8 | x: 4 |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:3:5:5:5 | func: f ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | tst.js:12:3:14:3 | static ... x);\\n } |
| tst.js:13:5:13:11 | console | tst.js:13:5:13:15 | console.log |
| tst.js:16:5:16:11 | console | tst.js:16:5:16:15 | console.log |
| tst.js:20:1:20:1 | C | tst.js:20:1:20:6 | C.prop |
| tst.js:22:15:22:29 | this.someMethod | tst.js:22:15:22:34 | this.someMethod.bind |
| tst.js:23:8:23:57 | <div on ... }</div> | tst.js:23:13:23:27 | onClick={click} |
| tst.js:23:36:23:45 | this.state | tst.js:23:36:23:50 | this.state.name |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:26:3:26:26 | get x() ... null; } |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:27:3:27:13 | set y(v) {} |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:31:5:31:8 | n: 1 |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:32:5:32:10 | [v]: 2 |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:33:5:33:14 | [vv.pp]: 3 |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
| tst.js:33:6:33:7 | vv | tst.js:33:6:33:10 | vv.pp |
| tst.js:34:6:34:8 | vvv | tst.js:34:6:34:12 | vvv.ppp |
| tst.js:34:6:34:12 | vvv.ppp | tst.js:34:6:34:16 | vvv.ppp.qqq |
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:13:37:15 | "a" |
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:18:37:20 | "b" |
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:23:37:25 | "c" |
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:13:38:15 | "a" |
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:20:38:22 | "c" |
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:15:39:17 | "b" |
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:20:39:22 | "c" |
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:13:40:15 | "a" |
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:18:40:20 | "b" |
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:13:41:15 | "a" |
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:18:41:24 | ...arr3 |
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:27:41:29 | "d" |
| tst.js:44:3:44:9 | console | tst.js:44:3:44:13 | console.log |
| tst.js:44:15:44:17 | obj | tst.js:44:15:44:20 | obj[p] |
test_getAPropertySource
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:19:4:23 | foo() |
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:22:8:35 | parameterField |
@@ -57,10 +57,10 @@ test_getAPropertySource
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:41:12:42 | {} |
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:24:16:37 | parameterField |
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:41:16:42 | {} |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | f | tst.js:7:6:9:5 | () {\\n ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | func | tst.js:4:11:6:5 | functio ... ;\\n } |
| tst.js:12:1:19:1 | class C ... ;\\n }\\n} | func | tst.js:13:14:15:3 | (x) {\\n ... x);\\n } |
| tst.js:24:8:24:57 | <div on ... }</div> | onClick | tst.js:24:22:24:26 | click |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:11:5:5 | functio ... ;\\n } |
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:22:23:26 | click |
test_PropWritePropName
| classes.ts:3:21:3:20 | constructor() {} | constructor |
| classes.ts:4:3:4:24 | instanc ... foo(); | instanceField |
@@ -70,123 +70,123 @@ test_PropWritePropName
| classes.ts:12:17:12:37 | public ... erField | parameterField |
| classes.ts:16:5:16:46 | constru ... {}) {} | constructor |
| classes.ts:16:17:16:37 | public ... erField | parameterField |
| tst.js:3:5:3:8 | x: 4 | x |
| tst.js:4:5:6:5 | func: f ... ;\\n } | func |
| tst.js:7:5:9:5 | f() {\\n ... ;\\n } | f |
| tst.js:12:9:12:8 | constructor() {} | constructor |
| tst.js:13:3:15:3 | static ... x);\\n } | func |
| tst.js:16:3:18:3 | f(x) {\\n ... x);\\n } | f |
| tst.js:21:1:21:6 | C.prop | prop |
| tst.js:24:13:24:27 | onClick={click} | onClick |
| tst.js:27:3:27:26 | get x() ... null; } | x |
| tst.js:28:3:28:13 | set y(v) {} | y |
| tst.js:32:5:32:8 | n: 1 | n |
| tst.js:2:5:2:8 | x: 4 | x |
| tst.js:3:5:5:5 | func: f ... ;\\n } | func |
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | f |
| tst.js:11:9:11:8 | constructor() {} | constructor |
| tst.js:12:3:14:3 | static ... x);\\n } | func |
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } | f |
| tst.js:20:1:20:6 | C.prop | prop |
| tst.js:23:13:23:27 | onClick={click} | onClick |
| tst.js:26:3:26:26 | get x() ... null; } | x |
| tst.js:27:3:27:13 | set y(v) {} | y |
| tst.js:31:5:31:8 | n: 1 | n |
test_getAPropertyRead2
| tst.js:1:1:1:0 | this | someMethod | tst.js:23:15:23:29 | this.someMethod |
| tst.js:1:1:1:0 | this | state | tst.js:24:36:24:45 | this.state |
| tst.js:14:5:14:11 | console | log | tst.js:14:5:14:15 | console.log |
| tst.js:17:5:17:11 | console | log | tst.js:17:5:17:15 | console.log |
| tst.js:23:15:23:29 | this.someMethod | bind | tst.js:23:15:23:34 | this.someMethod.bind |
| tst.js:24:36:24:45 | this.state | name | tst.js:24:36:24:50 | this.state.name |
| tst.js:34:6:34:7 | vv | pp | tst.js:34:6:34:10 | vv.pp |
| tst.js:35:6:35:8 | vvv | ppp | tst.js:35:6:35:12 | vvv.ppp |
| tst.js:35:6:35:12 | vvv.ppp | qqq | tst.js:35:6:35:16 | vvv.ppp.qqq |
| tst.js:45:3:45:9 | console | log | tst.js:45:3:45:13 | console.log |
| tst.js:1:1:1:0 | this | someMethod | tst.js:22:15:22:29 | this.someMethod |
| tst.js:1:1:1:0 | this | state | tst.js:23:36:23:45 | this.state |
| tst.js:13:5:13:11 | console | log | tst.js:13:5:13:15 | console.log |
| tst.js:16:5:16:11 | console | log | tst.js:16:5:16:15 | console.log |
| tst.js:22:15:22:29 | this.someMethod | bind | tst.js:22:15:22:34 | this.someMethod.bind |
| tst.js:23:36:23:45 | this.state | name | tst.js:23:36:23:50 | this.state.name |
| tst.js:33:6:33:7 | vv | pp | tst.js:33:6:33:10 | vv.pp |
| tst.js:34:6:34:8 | vvv | ppp | tst.js:34:6:34:12 | vvv.ppp |
| tst.js:34:6:34:12 | vvv.ppp | qqq | tst.js:34:6:34:16 | vvv.ppp.qqq |
| tst.js:44:3:44:9 | console | log | tst.js:44:3:44:13 | console.log |
test_getAPropertyReference2
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:3:4:24 | instanc ... foo(); |
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:15:8:35 | public ... erField |
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:17:12:37 | public ... erField |
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:17:16:37 | public ... erField |
| tst.js:1:1:1:0 | this | someMethod | tst.js:23:15:23:29 | this.someMethod |
| tst.js:1:1:1:0 | this | state | tst.js:24:36:24:45 | this.state |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | f | tst.js:7:5:9:5 | f() {\\n ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | func | tst.js:4:5:6:5 | func: f ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | x | tst.js:3:5:3:8 | x: 4 |
| tst.js:12:1:19:1 | class C ... ;\\n }\\n} | func | tst.js:13:3:15:3 | static ... x);\\n } |
| tst.js:14:5:14:11 | console | log | tst.js:14:5:14:15 | console.log |
| tst.js:17:5:17:11 | console | log | tst.js:17:5:17:15 | console.log |
| tst.js:21:1:21:1 | C | prop | tst.js:21:1:21:6 | C.prop |
| tst.js:23:15:23:29 | this.someMethod | bind | tst.js:23:15:23:34 | this.someMethod.bind |
| tst.js:24:8:24:57 | <div on ... }</div> | onClick | tst.js:24:13:24:27 | onClick={click} |
| tst.js:24:36:24:45 | this.state | name | tst.js:24:36:24:50 | this.state.name |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | x | tst.js:27:3:27:26 | get x() ... null; } |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | y | tst.js:28:3:28:13 | set y(v) {} |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | n | tst.js:32:5:32:8 | n: 1 |
| tst.js:34:6:34:7 | vv | pp | tst.js:34:6:34:10 | vv.pp |
| tst.js:35:6:35:8 | vvv | ppp | tst.js:35:6:35:12 | vvv.ppp |
| tst.js:35:6:35:12 | vvv.ppp | qqq | tst.js:35:6:35:16 | vvv.ppp.qqq |
| tst.js:45:3:45:9 | console | log | tst.js:45:3:45:13 | console.log |
| tst.js:1:1:1:0 | this | someMethod | tst.js:22:15:22:29 | this.someMethod |
| tst.js:1:1:1:0 | this | state | tst.js:23:36:23:45 | this.state |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:5:5:5 | func: f ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:5:2:8 | x: 4 |
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:3:14:3 | static ... x);\\n } |
| tst.js:13:5:13:11 | console | log | tst.js:13:5:13:15 | console.log |
| tst.js:16:5:16:11 | console | log | tst.js:16:5:16:15 | console.log |
| tst.js:20:1:20:1 | C | prop | tst.js:20:1:20:6 | C.prop |
| tst.js:22:15:22:29 | this.someMethod | bind | tst.js:22:15:22:34 | this.someMethod.bind |
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:13:23:27 | onClick={click} |
| tst.js:23:36:23:45 | this.state | name | tst.js:23:36:23:50 | this.state.name |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | x | tst.js:26:3:26:26 | get x() ... null; } |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | y | tst.js:27:3:27:13 | set y(v) {} |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:5:31:8 | n: 1 |
| tst.js:33:6:33:7 | vv | pp | tst.js:33:6:33:10 | vv.pp |
| tst.js:34:6:34:8 | vvv | ppp | tst.js:34:6:34:12 | vvv.ppp |
| tst.js:34:6:34:12 | vvv.ppp | qqq | tst.js:34:6:34:16 | vvv.ppp.qqq |
| tst.js:44:3:44:9 | console | log | tst.js:44:3:44:13 | console.log |
test_hasPropertyWrite
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:19:4:23 | foo() |
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:22:8:35 | parameterField |
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:24:12:37 | parameterField |
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:24:16:37 | parameterField |
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:41:16:42 | {} |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | f | tst.js:7:6:9:5 | () {\\n ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | func | tst.js:4:11:6:5 | functio ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | x | tst.js:3:8:3:8 | 4 |
| tst.js:12:1:19:1 | class C ... ;\\n }\\n} | func | tst.js:13:14:15:3 | (x) {\\n ... x);\\n } |
| tst.js:21:1:21:1 | C | prop | tst.js:21:10:21:11 | 56 |
| tst.js:24:8:24:57 | <div on ... }</div> | onClick | tst.js:24:22:24:26 | click |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | n | tst.js:32:8:32:8 | 1 |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:11:5:5 | functio ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:8:2:8 | 4 |
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
| tst.js:20:1:20:1 | C | prop | tst.js:20:10:20:11 | 56 |
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:22:23:26 | click |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:8:31:8 | 1 |
test_PropWriteBase
| classes.ts:4:3:4:24 | instanc ... foo(); | classes.ts:3:21:3:20 | this |
| classes.ts:8:15:8:35 | public ... erField | classes.ts:8:3:8:2 | this |
| classes.ts:12:17:12:37 | public ... erField | classes.ts:12:5:12:4 | this |
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:5:16:4 | this |
| tst.js:3:5:3:8 | x: 4 | tst.js:2:11:10:1 | {\\n x ... }\\n} |
| tst.js:4:5:6:5 | func: f ... ;\\n } | tst.js:2:11:10:1 | {\\n x ... }\\n} |
| tst.js:7:5:9:5 | f() {\\n ... ;\\n } | tst.js:2:11:10:1 | {\\n x ... }\\n} |
| tst.js:13:3:15:3 | static ... x);\\n } | tst.js:12:1:19:1 | class C ... ;\\n }\\n} |
| tst.js:21:1:21:6 | C.prop | tst.js:21:1:21:1 | C |
| tst.js:24:13:24:27 | onClick={click} | tst.js:24:8:24:57 | <div on ... }</div> |
| tst.js:27:3:27:26 | get x() ... null; } | tst.js:26:2:29:1 | {\\n get ... v) {}\\n} |
| tst.js:28:3:28:13 | set y(v) {} | tst.js:26:2:29:1 | {\\n get ... v) {}\\n} |
| tst.js:32:5:32:8 | n: 1 | tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} |
| tst.js:33:5:33:10 | [v]: 2 | tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} |
| tst.js:34:5:34:14 | [vv.pp]: 3 | tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} |
| tst.js:35:5:35:20 | [vvv.ppp.qqq]: 4 | tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} |
| tst.js:38:13:38:15 | "a" | tst.js:38:12:38:26 | ["a", "b", "c"] |
| tst.js:38:18:38:20 | "b" | tst.js:38:12:38:26 | ["a", "b", "c"] |
| tst.js:38:23:38:25 | "c" | tst.js:38:12:38:26 | ["a", "b", "c"] |
| tst.js:39:13:39:15 | "a" | tst.js:39:12:39:23 | ["a", , "c"] |
| tst.js:39:20:39:22 | "c" | tst.js:39:12:39:23 | ["a", , "c"] |
| tst.js:40:15:40:17 | "b" | tst.js:40:12:40:23 | [, "b", "c"] |
| tst.js:40:20:40:22 | "c" | tst.js:40:12:40:23 | [, "b", "c"] |
| tst.js:41:13:41:15 | "a" | tst.js:41:12:41:22 | ["a", "b",] |
| tst.js:41:18:41:20 | "b" | tst.js:41:12:41:22 | ["a", "b",] |
| tst.js:42:13:42:15 | "a" | tst.js:42:12:42:30 | ["a", ...arr3, "d"] |
| tst.js:42:18:42:24 | ...arr3 | tst.js:42:12:42:30 | ["a", ...arr3, "d"] |
| tst.js:42:27:42:29 | "d" | tst.js:42:12:42:30 | ["a", ...arr3, "d"] |
| tst.js:2:5:2:8 | x: 4 | tst.js:1:11:9:1 | {\\n x ... }\\n} |
| tst.js:3:5:5:5 | func: f ... ;\\n } | tst.js:1:11:9:1 | {\\n x ... }\\n} |
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | tst.js:1:11:9:1 | {\\n x ... }\\n} |
| tst.js:12:3:14:3 | static ... x);\\n } | tst.js:11:1:18:1 | class C ... ;\\n }\\n} |
| tst.js:20:1:20:6 | C.prop | tst.js:20:1:20:1 | C |
| tst.js:23:13:23:27 | onClick={click} | tst.js:23:8:23:57 | <div on ... }</div> |
| tst.js:26:3:26:26 | get x() ... null; } | tst.js:25:2:28:1 | {\\n get ... v) {}\\n} |
| tst.js:27:3:27:13 | set y(v) {} | tst.js:25:2:28:1 | {\\n get ... v) {}\\n} |
| tst.js:31:5:31:8 | n: 1 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
| tst.js:32:5:32:10 | [v]: 2 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
| tst.js:33:5:33:14 | [vv.pp]: 3 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
| tst.js:37:13:37:15 | "a" | tst.js:37:12:37:26 | ["a", "b", "c"] |
| tst.js:37:18:37:20 | "b" | tst.js:37:12:37:26 | ["a", "b", "c"] |
| tst.js:37:23:37:25 | "c" | tst.js:37:12:37:26 | ["a", "b", "c"] |
| tst.js:38:13:38:15 | "a" | tst.js:38:12:38:23 | ["a", , "c"] |
| tst.js:38:20:38:22 | "c" | tst.js:38:12:38:23 | ["a", , "c"] |
| tst.js:39:15:39:17 | "b" | tst.js:39:12:39:23 | [, "b", "c"] |
| tst.js:39:20:39:22 | "c" | tst.js:39:12:39:23 | [, "b", "c"] |
| tst.js:40:13:40:15 | "a" | tst.js:40:12:40:22 | ["a", "b",] |
| tst.js:40:18:40:20 | "b" | tst.js:40:12:40:22 | ["a", "b",] |
| tst.js:41:13:41:15 | "a" | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
| tst.js:41:18:41:24 | ...arr3 | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
| tst.js:41:27:41:29 | "d" | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
test_getAPropertyWrite
| classes.ts:3:21:3:20 | this | classes.ts:4:3:4:24 | instanc ... foo(); |
| classes.ts:8:3:8:2 | this | classes.ts:8:15:8:35 | public ... erField |
| classes.ts:12:5:12:4 | this | classes.ts:12:17:12:37 | public ... erField |
| classes.ts:16:5:16:4 | this | classes.ts:16:17:16:37 | public ... erField |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | tst.js:3:5:3:8 | x: 4 |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | tst.js:4:5:6:5 | func: f ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | tst.js:7:5:9:5 | f() {\\n ... ;\\n } |
| tst.js:12:1:19:1 | class C ... ;\\n }\\n} | tst.js:13:3:15:3 | static ... x);\\n } |
| tst.js:21:1:21:1 | C | tst.js:21:1:21:6 | C.prop |
| tst.js:24:8:24:57 | <div on ... }</div> | tst.js:24:13:24:27 | onClick={click} |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | tst.js:27:3:27:26 | get x() ... null; } |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | tst.js:28:3:28:13 | set y(v) {} |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:32:5:32:8 | n: 1 |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:33:5:33:10 | [v]: 2 |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:34:5:34:14 | [vv.pp]: 3 |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | tst.js:35:5:35:20 | [vvv.ppp.qqq]: 4 |
| tst.js:38:12:38:26 | ["a", "b", "c"] | tst.js:38:13:38:15 | "a" |
| tst.js:38:12:38:26 | ["a", "b", "c"] | tst.js:38:18:38:20 | "b" |
| tst.js:38:12:38:26 | ["a", "b", "c"] | tst.js:38:23:38:25 | "c" |
| tst.js:39:12:39:23 | ["a", , "c"] | tst.js:39:13:39:15 | "a" |
| tst.js:39:12:39:23 | ["a", , "c"] | tst.js:39:20:39:22 | "c" |
| tst.js:40:12:40:23 | [, "b", "c"] | tst.js:40:15:40:17 | "b" |
| tst.js:40:12:40:23 | [, "b", "c"] | tst.js:40:20:40:22 | "c" |
| tst.js:41:12:41:22 | ["a", "b",] | tst.js:41:13:41:15 | "a" |
| tst.js:41:12:41:22 | ["a", "b",] | tst.js:41:18:41:20 | "b" |
| tst.js:42:12:42:30 | ["a", ...arr3, "d"] | tst.js:42:13:42:15 | "a" |
| tst.js:42:12:42:30 | ["a", ...arr3, "d"] | tst.js:42:18:42:24 | ...arr3 |
| tst.js:42:12:42:30 | ["a", ...arr3, "d"] | tst.js:42:27:42:29 | "d" |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:2:5:2:8 | x: 4 |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:3:5:5:5 | func: f ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | tst.js:12:3:14:3 | static ... x);\\n } |
| tst.js:20:1:20:1 | C | tst.js:20:1:20:6 | C.prop |
| tst.js:23:8:23:57 | <div on ... }</div> | tst.js:23:13:23:27 | onClick={click} |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:26:3:26:26 | get x() ... null; } |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:27:3:27:13 | set y(v) {} |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:31:5:31:8 | n: 1 |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:32:5:32:10 | [v]: 2 |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:33:5:33:14 | [vv.pp]: 3 |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:13:37:15 | "a" |
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:18:37:20 | "b" |
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:23:37:25 | "c" |
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:13:38:15 | "a" |
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:20:38:22 | "c" |
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:15:39:17 | "b" |
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:20:39:22 | "c" |
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:13:40:15 | "a" |
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:18:40:20 | "b" |
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:13:41:15 | "a" |
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:18:41:24 | ...arr3 |
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:27:41:29 | "d" |
test_PropWrite
| classes.ts:3:21:3:20 | constructor() {} |
| classes.ts:4:3:4:24 | instanc ... foo(); |
@@ -196,46 +196,46 @@ test_PropWrite
| classes.ts:12:17:12:37 | public ... erField |
| classes.ts:16:5:16:46 | constru ... {}) {} |
| classes.ts:16:17:16:37 | public ... erField |
| tst.js:3:5:3:8 | x: 4 |
| tst.js:4:5:6:5 | func: f ... ;\\n } |
| tst.js:7:5:9:5 | f() {\\n ... ;\\n } |
| tst.js:12:9:12:8 | constructor() {} |
| tst.js:13:3:15:3 | static ... x);\\n } |
| tst.js:16:3:18:3 | f(x) {\\n ... x);\\n } |
| tst.js:21:1:21:6 | C.prop |
| tst.js:24:13:24:27 | onClick={click} |
| tst.js:27:3:27:26 | get x() ... null; } |
| tst.js:28:3:28:13 | set y(v) {} |
| tst.js:32:5:32:8 | n: 1 |
| tst.js:33:5:33:10 | [v]: 2 |
| tst.js:34:5:34:14 | [vv.pp]: 3 |
| tst.js:35:5:35:20 | [vvv.ppp.qqq]: 4 |
| tst.js:2:5:2:8 | x: 4 |
| tst.js:3:5:5:5 | func: f ... ;\\n } |
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
| tst.js:11:9:11:8 | constructor() {} |
| tst.js:12:3:14:3 | static ... x);\\n } |
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } |
| tst.js:20:1:20:6 | C.prop |
| tst.js:23:13:23:27 | onClick={click} |
| tst.js:26:3:26:26 | get x() ... null; } |
| tst.js:27:3:27:13 | set y(v) {} |
| tst.js:31:5:31:8 | n: 1 |
| tst.js:32:5:32:10 | [v]: 2 |
| tst.js:33:5:33:14 | [vv.pp]: 3 |
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
| tst.js:37:13:37:15 | "a" |
| tst.js:37:18:37:20 | "b" |
| tst.js:37:23:37:25 | "c" |
| tst.js:38:13:38:15 | "a" |
| tst.js:38:18:38:20 | "b" |
| tst.js:38:23:38:25 | "c" |
| tst.js:39:13:39:15 | "a" |
| tst.js:38:20:38:22 | "c" |
| tst.js:39:15:39:17 | "b" |
| tst.js:39:20:39:22 | "c" |
| tst.js:40:15:40:17 | "b" |
| tst.js:40:20:40:22 | "c" |
| tst.js:40:13:40:15 | "a" |
| tst.js:40:18:40:20 | "b" |
| tst.js:41:13:41:15 | "a" |
| tst.js:41:18:41:20 | "b" |
| tst.js:42:13:42:15 | "a" |
| tst.js:42:18:42:24 | ...arr3 |
| tst.js:42:27:42:29 | "d" |
| tst.js:41:18:41:24 | ...arr3 |
| tst.js:41:27:41:29 | "d" |
test_getAPropertyWrite2
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:3:4:24 | instanc ... foo(); |
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:15:8:35 | public ... erField |
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:17:12:37 | public ... erField |
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:17:16:37 | public ... erField |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | f | tst.js:7:5:9:5 | f() {\\n ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | func | tst.js:4:5:6:5 | func: f ... ;\\n } |
| tst.js:2:11:10:1 | {\\n x ... }\\n} | x | tst.js:3:5:3:8 | x: 4 |
| tst.js:12:1:19:1 | class C ... ;\\n }\\n} | func | tst.js:13:3:15:3 | static ... x);\\n } |
| tst.js:21:1:21:1 | C | prop | tst.js:21:1:21:6 | C.prop |
| tst.js:24:8:24:57 | <div on ... }</div> | onClick | tst.js:24:13:24:27 | onClick={click} |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | x | tst.js:27:3:27:26 | get x() ... null; } |
| tst.js:26:2:29:1 | {\\n get ... v) {}\\n} | y | tst.js:28:3:28:13 | set y(v) {} |
| tst.js:31:2:36:1 | {\\n n ... q]: 4\\n} | n | tst.js:32:5:32:8 | n: 1 |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:5:5:5 | func: f ... ;\\n } |
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:5:2:8 | x: 4 |
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:3:14:3 | static ... x);\\n } |
| tst.js:20:1:20:1 | C | prop | tst.js:20:1:20:6 | C.prop |
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:13:23:27 | onClick={click} |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | x | tst.js:26:3:26:26 | get x() ... null; } |
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | y | tst.js:27:3:27:13 | set y(v) {} |
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:5:31:8 | n: 1 |
test_PropWriteRhs
| classes.ts:3:21:3:20 | constructor() {} | classes.ts:3:21:3:20 | () {} |
| classes.ts:4:3:4:24 | instanc ... foo(); | classes.ts:4:19:4:23 | foo() |
@@ -246,27 +246,27 @@ test_PropWriteRhs
| classes.ts:16:5:16:46 | constru ... {}) {} | classes.ts:16:5:16:46 | constru ... {}) {} |
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:24:16:37 | parameterField |
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:41:16:42 | {} |
| tst.js:3:5:3:8 | x: 4 | tst.js:3:8:3:8 | 4 |
| tst.js:4:5:6:5 | func: f ... ;\\n } | tst.js:4:11:6:5 | functio ... ;\\n } |
| tst.js:7:5:9:5 | f() {\\n ... ;\\n } | tst.js:7:6:9:5 | () {\\n ... ;\\n } |
| tst.js:12:9:12:8 | constructor() {} | tst.js:12:9:12:8 | () {} |
| tst.js:13:3:15:3 | static ... x);\\n } | tst.js:13:14:15:3 | (x) {\\n ... x);\\n } |
| tst.js:16:3:18:3 | f(x) {\\n ... x);\\n } | tst.js:16:4:18:3 | (x) {\\n ... x);\\n } |
| tst.js:21:1:21:6 | C.prop | tst.js:21:10:21:11 | 56 |
| tst.js:24:13:24:27 | onClick={click} | tst.js:24:22:24:26 | click |
| tst.js:32:5:32:8 | n: 1 | tst.js:32:8:32:8 | 1 |
| tst.js:33:5:33:10 | [v]: 2 | tst.js:33:10:33:10 | 2 |
| tst.js:34:5:34:14 | [vv.pp]: 3 | tst.js:34:14:34:14 | 3 |
| tst.js:35:5:35:20 | [vvv.ppp.qqq]: 4 | tst.js:35:20:35:20 | 4 |
| tst.js:2:5:2:8 | x: 4 | tst.js:2:8:2:8 | 4 |
| tst.js:3:5:5:5 | func: f ... ;\\n } | tst.js:3:11:5:5 | functio ... ;\\n } |
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
| tst.js:11:9:11:8 | constructor() {} | tst.js:11:9:11:8 | () {} |
| tst.js:12:3:14:3 | static ... x);\\n } | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } | tst.js:15:4:17:3 | (x) {\\n ... x);\\n } |
| tst.js:20:1:20:6 | C.prop | tst.js:20:10:20:11 | 56 |
| tst.js:23:13:23:27 | onClick={click} | tst.js:23:22:23:26 | click |
| tst.js:31:5:31:8 | n: 1 | tst.js:31:8:31:8 | 1 |
| tst.js:32:5:32:10 | [v]: 2 | tst.js:32:10:32:10 | 2 |
| tst.js:33:5:33:14 | [vv.pp]: 3 | tst.js:33:14:33:14 | 3 |
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 | tst.js:34:20:34:20 | 4 |
| tst.js:37:13:37:15 | "a" | tst.js:37:13:37:15 | "a" |
| tst.js:37:18:37:20 | "b" | tst.js:37:18:37:20 | "b" |
| tst.js:37:23:37:25 | "c" | tst.js:37:23:37:25 | "c" |
| tst.js:38:13:38:15 | "a" | tst.js:38:13:38:15 | "a" |
| tst.js:38:18:38:20 | "b" | tst.js:38:18:38:20 | "b" |
| tst.js:38:23:38:25 | "c" | tst.js:38:23:38:25 | "c" |
| tst.js:39:13:39:15 | "a" | tst.js:39:13:39:15 | "a" |
| tst.js:38:20:38:22 | "c" | tst.js:38:20:38:22 | "c" |
| tst.js:39:15:39:17 | "b" | tst.js:39:15:39:17 | "b" |
| tst.js:39:20:39:22 | "c" | tst.js:39:20:39:22 | "c" |
| tst.js:40:15:40:17 | "b" | tst.js:40:15:40:17 | "b" |
| tst.js:40:20:40:22 | "c" | tst.js:40:20:40:22 | "c" |
| tst.js:40:13:40:15 | "a" | tst.js:40:13:40:15 | "a" |
| tst.js:40:18:40:20 | "b" | tst.js:40:18:40:20 | "b" |
| tst.js:41:13:41:15 | "a" | tst.js:41:13:41:15 | "a" |
| tst.js:41:18:41:20 | "b" | tst.js:41:18:41:20 | "b" |
| tst.js:42:13:42:15 | "a" | tst.js:42:13:42:15 | "a" |
| tst.js:42:18:42:24 | ...arr3 | tst.js:42:18:42:24 | ...arr3 |
| tst.js:42:27:42:29 | "d" | tst.js:42:27:42:29 | "d" |
| tst.js:41:18:41:24 | ...arr3 | tst.js:41:18:41:24 | ...arr3 |
| tst.js:41:27:41:29 | "d" | tst.js:41:27:41:29 | "d" |

View File

@@ -1,4 +1,3 @@
// semmle-extractor-options: --experimental
var obj = {
x: 4,
func: function() {

View File

@@ -1,4 +1,2 @@
var q = { ...o, x: 42, ...p };
let { x, ...r } = q, { z } = {};
// semmle-extractor-options: --experimental

View File

@@ -169,5 +169,3 @@ function throwThoughLibrary(xs) {
sink(e); // OK - doesn't catch exception from event listener
}
}
// semmle-extractor-options: --experimental

View File

@@ -1,3 +1 @@
tag `\unvalid escape sequence`;
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -146,4 +146,3 @@ class C_lodash {
}
}
//semmle-extractor-options: --experimental

View File

@@ -31,5 +31,3 @@ new h2(23, 42,);
x => x;
function f4(x = 42,) {}
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -21,4 +21,3 @@
v7 = x ?? {};
});
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -22,4 +22,3 @@
var v11 = h();
var v12 = h?.();
});
// semmle-extractor-options: --experimental

View File

@@ -0,0 +1 @@
semmle-extractor-options: --extract-program-text

View File

@@ -113,5 +113,3 @@ interface InterfaceFields {
z?: number;
readonly w?: number;
}
// semmle-extractor-options: --extract-program-text

View File

@@ -23,5 +23,3 @@ var nns: Array<?number>;
var dns: Array<!number>;
var anys: Array<*>;
var vars: Array<...number>;
// semmle-extractor-options: --tolerate-parse-errors

View File

@@ -0,0 +1 @@
semmle-extractor-options: --tolerate-parse-errors

View File

@@ -1 +1 @@
| err.yaml:4:1:4:1 | found unexpected end of stream |
| err.yaml:3:1:3:1 | found unexpected end of stream |

View File

@@ -1,3 +1,2 @@
"unterminated string
# semmle-extractor-options: --tolerate-parse-errors

View File

@@ -0,0 +1 @@
semmle-extractor-options: --tolerate-parse-errors

View File

@@ -0,0 +1 @@
semmle-extractor-options: --html all

View File

@@ -17,4 +17,3 @@
<my-template-directive />
</div>
// semmle-extractor-options: --html all

View File

@@ -7,4 +7,3 @@
<div>
{{myExpr3}}
</div>
semmle-extractor-options: --html all

View File

@@ -0,0 +1 @@
semmle-extractor-options: --html all

View File

@@ -0,0 +1 @@
semmle-extractor-options: --tolerate-parse-errors

View File

@@ -0,0 +1 @@
semmle-extractor-options: --experimental

View File

@@ -11,5 +11,3 @@ class Reads extends React.Component {
prevState.p4;
}
}
//semmle-extractor-options: --experimental

View File

@@ -43,5 +43,3 @@ React.createClass({
};
}
});
//semmle-extractor-options: --experimental

View File

@@ -10,5 +10,3 @@ async () => {
// ... error checks
}
}
// semmle-extractor-options: --experimental

View File

@@ -1,4 +1,4 @@
if (true) // semmle-extractor-options: --extract-program-text
if (true)
;
if (b)
;

View File

@@ -1,2 +1,2 @@
for (var x of [1, 2, 3]) // semmle-extractor-options: --extract-program-text
for (var x of [1, 2, 3])
console.log(x);

View File

@@ -6,5 +6,3 @@ for each (var item in obj) {
}
console.log(sum); // logs "26", which is 5+13+8
//semmle-extractor-options: --experimental --extract-program-text

Some files were not shown because too many files have changed in this diff Show More