mirror of
https://github.com/github/codeql.git
synced 2026-04-29 18:55:14 +02:00
JS: add defuse+dataflow tests for destructuring and default values
This commit is contained in:
@@ -121,6 +121,21 @@
|
||||
| tst.js:103:4:103:16 | [ 19, 23, 0 ] | tst.js:98:11:98:24 | [ x, ...rest ] |
|
||||
| tst.js:105:1:105:1 | x | tst.js:105:1:105:6 | x ?? y |
|
||||
| tst.js:105:6:105:6 | y | tst.js:105:1:105:6 | x ?? y |
|
||||
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:1:113:2 | (functi ... v2c;\\n}) |
|
||||
| tst.js:108:6:108:38 | v1a | tst.js:109:2:109:4 | v1a |
|
||||
| tst.js:108:6:108:38 | v1b | tst.js:109:8:109:10 | v1b |
|
||||
| tst.js:108:6:108:38 | v1c | tst.js:109:14:109:16 | v1c |
|
||||
| tst.js:108:7:108:9 | v1a | tst.js:108:6:108:38 | v1a |
|
||||
| tst.js:108:12:108:20 | v1b = o1b | tst.js:108:6:108:38 | v1b |
|
||||
| tst.js:108:23:108:31 | v1c = o1c | tst.js:108:6:108:38 | v1c |
|
||||
| tst.js:108:36:108:38 | o1d | tst.js:108:6:108:32 | {v1a, v ... = o1c} |
|
||||
| tst.js:111:6:111:38 | v2a | tst.js:112:2:112:4 | v2a |
|
||||
| tst.js:111:6:111:38 | v2b | tst.js:112:8:112:10 | v2b |
|
||||
| tst.js:111:6:111:38 | v2c | tst.js:112:14:112:16 | v2c |
|
||||
| tst.js:111:7:111:9 | v2a | tst.js:111:6:111:38 | v2a |
|
||||
| tst.js:111:12:111:14 | v2b | tst.js:111:6:111:38 | v2b |
|
||||
| tst.js:111:23:111:25 | v2c | tst.js:111:6:111:38 | v2c |
|
||||
| tst.js:111:36:111:38 | o2d | tst.js:111:6:111:32 | [v2a, v ... = o2c] |
|
||||
| tst.ts:1:1:1:1 | A | tst.ts:1:11:1:11 | 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 |
|
||||
|
||||
@@ -44,6 +44,18 @@
|
||||
| tst.js:98:11:98:24 | x | heap |
|
||||
| tst.js:99:7:99:18 | y | heap |
|
||||
| tst.js:101:3:101:16 | z | heap |
|
||||
| tst.js:108:6:108:38 | v1a | heap |
|
||||
| tst.js:108:6:108:38 | v1b | heap |
|
||||
| tst.js:108:6:108:38 | v1c | heap |
|
||||
| tst.js:108:18:108:20 | o1b | global |
|
||||
| tst.js:108:29:108:31 | o1c | global |
|
||||
| tst.js:108:36:108:38 | o1d | global |
|
||||
| tst.js:111:6:111:38 | v2a | heap |
|
||||
| tst.js:111:6:111:38 | v2b | heap |
|
||||
| tst.js:111:6:111:38 | v2c | heap |
|
||||
| tst.js:111:18:111:20 | o2b | global |
|
||||
| tst.js:111:29:111:31 | o2c | global |
|
||||
| tst.js:111:36:111:38 | o2d | global |
|
||||
| tst.ts:2:14:2:19 | x | namespace |
|
||||
| tst.ts:3:3:3:8 | setX() | call |
|
||||
| tst.ts:8:3:8:5 | A.x | heap |
|
||||
|
||||
@@ -69,6 +69,20 @@
|
||||
| tst.js:99:9:99:9 | y |
|
||||
| tst.js:101:7:101:7 | z |
|
||||
| tst.js:103:4:103:16 | [ 19, 23, 0 ] |
|
||||
| tst.js:107:2:107:1 | this |
|
||||
| tst.js:107:2:113:1 | functio ... v2c;\\n} |
|
||||
| tst.js:108:7:108:9 | v1a |
|
||||
| tst.js:108:12:108:20 | v1b = o1b |
|
||||
| tst.js:108:18:108:20 | o1b |
|
||||
| tst.js:108:23:108:31 | v1c = o1c |
|
||||
| tst.js:108:29:108:31 | o1c |
|
||||
| tst.js:108:36:108:38 | o1d |
|
||||
| tst.js:111:7:111:9 | v2a |
|
||||
| tst.js:111:12:111:14 | v2b |
|
||||
| tst.js:111:18:111:20 | o2b |
|
||||
| tst.js:111:23:111:25 | v2c |
|
||||
| tst.js:111:29:111:31 | o2c |
|
||||
| tst.js:111:36:111:38 | o2d |
|
||||
| tst.ts:1:1:1:0 | this |
|
||||
| tst.ts:3:3:3:8 | setX() |
|
||||
| tst.ts:7:1:7:0 | this |
|
||||
|
||||
@@ -103,4 +103,12 @@ var vs2 = ( for (v of o) v ); // generator comprehensions are not analysed
|
||||
})([ 19, 23, 0 ]);
|
||||
|
||||
x ?? y; // flow through short-circuiting operator
|
||||
|
||||
(function(){
|
||||
var {v1a, v1b = o1b, v1c = o1c} = o1d;
|
||||
v1a + v1b + v1c;
|
||||
|
||||
var [v2a, v2b = o2b, v2c = o2c] = o2d;
|
||||
v2a + v2b + v2c;
|
||||
});
|
||||
// semmle-extractor-options: --experimental
|
||||
|
||||
@@ -30,3 +30,6 @@
|
||||
| tst.js:7:4:7:6 | --i | tst.js:7:6:7:6 | i |
|
||||
| tst.js:12:2:12:7 | x = 42 | tst.js:14:9:14:9 | x |
|
||||
| tst.js:19:11:19:11 | x | tst.js:18:9:18:9 | x |
|
||||
| tst.js:23:6:23:23 | {a = b, c = d} = e | tst.js:24:2:24:2 | a |
|
||||
| tst.js:23:6:23:23 | {a = b, c = d} = e | tst.js:24:6:24:6 | c |
|
||||
| tst.js:26:11:26:11 | a | tst.js:27:2:27:2 | a |
|
||||
|
||||
@@ -29,3 +29,4 @@
|
||||
| tst.js:11:11:11:11 | g | tst.js:11:2:15:1 | functio ... rn x;\\n} |
|
||||
| tst.js:12:2:12:7 | x = 42 | tst.js:12:6:12:7 | 42 |
|
||||
| tst.js:19:11:19:11 | x | tst.js:19:2:19:16 | function x() {} |
|
||||
| tst.js:23:6:23:23 | {a = b, c = d} = e | tst.js:23:23:23:23 | e |
|
||||
|
||||
@@ -18,3 +18,11 @@ function f(o) {
|
||||
return x;
|
||||
function x() {}
|
||||
});
|
||||
|
||||
(function(){
|
||||
var {a = b, c = d} = e;
|
||||
a + c;
|
||||
});
|
||||
(function(a = b) {
|
||||
a;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user