fixes tests and adds test results to expecteds

This commit is contained in:
Rebecca Valentine
2019-04-01 11:13:04 -07:00
parent a16b5d36a8
commit 0d0adada42
3 changed files with 833 additions and 4 deletions

View File

@@ -27,13 +27,13 @@ x *= y
x /= y
x %= y
x , y = p
[1,2,...xs]
//[1,2,...xs]
x & y
x | y
x ^ y
x << y
x >> y
x <<< y
x >>> y
~x
x &= y
x |= y
@@ -57,4 +57,4 @@ x || y
if (x) { }
while (x) { }
for (; y; z) { }
for (let x in y) { }
for (let x in y) { }

View File

@@ -1,4 +1,3 @@
test_getParent
| assignment.js:1:1:1:1 | a | assignment.js:1:1:1:6 | a = 23 |
| assignment.js:1:1:1:6 | a = 23 | assignment.js:1:1:1:7 | a = 23; |
| assignment.js:1:5:1:6 | 23 | assignment.js:1:1:1:6 | a = 23 |
@@ -220,6 +219,127 @@ test_getParent
| mozextensions.js:1:23:1:23 | x | mozextensions.js:1:23:1:25 | x+1 |
| mozextensions.js:1:23:1:25 | x+1 | mozextensions.js:1:11:1:25 | function(x) x+1 |
| mozextensions.js:1:25:1:25 | 1 | mozextensions.js:1:23:1:25 | x+1 |
| nullSensitiveContexts.js:8:1:8:3 | foo | nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] | nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:8:5:8:7 | bar | nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:9:1:9:3 | foo | nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar | nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:9:5:9:7 | bar | nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:10:1:10:7 | new Foo | nullSensitiveContexts.js:10:1:10:7 | new Foo |
| nullSensitiveContexts.js:10:5:10:7 | Foo | nullSensitiveContexts.js:10:1:10:7 | new Foo |
| nullSensitiveContexts.js:11:1:11:9 | new Foo() | nullSensitiveContexts.js:11:1:11:9 | new Foo() |
| nullSensitiveContexts.js:11:5:11:7 | Foo | nullSensitiveContexts.js:11:1:11:9 | new Foo() |
| nullSensitiveContexts.js:12:1:12:3 | foo | nullSensitiveContexts.js:12:1:12:7 | foo.bar |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:12:5:12:7 | bar | nullSensitiveContexts.js:12:1:12:7 | foo.bar |
| nullSensitiveContexts.js:12:11:12:11 | 5 | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:13:1:13:3 | foo | nullSensitiveContexts.js:13:1:13:8 | foo(bar) |
| nullSensitiveContexts.js:13:1:13:8 | foo(bar) | nullSensitiveContexts.js:13:1:13:8 | foo(bar) |
| nullSensitiveContexts.js:13:5:13:7 | bar | nullSensitiveContexts.js:13:1:13:8 | foo(bar) |
| nullSensitiveContexts.js:14:1:14:1 | x | nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:14:1:14:5 | x + y | nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:14:5:14:5 | y | nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:15:1:15:1 | x | nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:15:1:15:5 | x - y | nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:15:5:15:5 | y | nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:16:1:16:1 | x | nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:16:1:16:5 | x * y | nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:16:5:16:5 | y | nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:17:1:17:1 | x | nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:17:1:17:5 | x / y | nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:17:5:17:5 | y | nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:18:1:18:1 | x | nullSensitiveContexts.js:18:1:18:5 | x % y |
| nullSensitiveContexts.js:18:1:18:5 | x % y | nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:5:18:5 | y | nullSensitiveContexts.js:18:1:18:5 | x % y |
| nullSensitiveContexts.js:19:2:19:2 | x | nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x |
| nullSensitiveContexts.js:20:2:20:2 | x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:21:1:21:3 | ++x | nullSensitiveContexts.js:21:1:21:3 | ++x |
| nullSensitiveContexts.js:21:3:21:3 | x | nullSensitiveContexts.js:21:1:21:3 | ++x |
| nullSensitiveContexts.js:22:1:22:1 | x | nullSensitiveContexts.js:22:1:22:3 | x++ |
| nullSensitiveContexts.js:22:1:22:3 | x++ | nullSensitiveContexts.js:22:1:22:3 | x++ |
| nullSensitiveContexts.js:23:1:23:3 | --x | nullSensitiveContexts.js:23:1:23:3 | --x |
| nullSensitiveContexts.js:23:3:23:3 | x | nullSensitiveContexts.js:23:1:23:3 | --x |
| nullSensitiveContexts.js:24:1:24:1 | x | nullSensitiveContexts.js:24:1:24:3 | x-- |
| nullSensitiveContexts.js:24:1:24:3 | x-- | nullSensitiveContexts.js:24:1:24:3 | x-- |
| nullSensitiveContexts.js:25:1:25:1 | x | nullSensitiveContexts.js:25:1:25:6 | x += y |
| nullSensitiveContexts.js:25:1:25:6 | x += y | nullSensitiveContexts.js:25:1:25:6 | x += y |
| nullSensitiveContexts.js:25:6:25:6 | y | nullSensitiveContexts.js:25:1:25:6 | x += y |
| nullSensitiveContexts.js:26:1:26:1 | x | nullSensitiveContexts.js:26:1:26:6 | x -= y |
| nullSensitiveContexts.js:26:1:26:6 | x -= y | nullSensitiveContexts.js:26:1:26:6 | x -= y |
| nullSensitiveContexts.js:26:6:26:6 | y | nullSensitiveContexts.js:26:1:26:6 | x -= y |
| nullSensitiveContexts.js:27:1:27:1 | x | nullSensitiveContexts.js:27:1:27:6 | x *= y |
| nullSensitiveContexts.js:27:1:27:6 | x *= y | nullSensitiveContexts.js:27:1:27:6 | x *= y |
| nullSensitiveContexts.js:27:6:27:6 | y | nullSensitiveContexts.js:27:1:27:6 | x *= y |
| nullSensitiveContexts.js:28:1:28:1 | x | nullSensitiveContexts.js:28:1:28:6 | x /= y |
| nullSensitiveContexts.js:28:1:28:6 | x /= y | nullSensitiveContexts.js:28:1:28:6 | x /= y |
| nullSensitiveContexts.js:28:6:28:6 | y | nullSensitiveContexts.js:28:1:28:6 | x /= y |
| nullSensitiveContexts.js:29:1:29:1 | x | nullSensitiveContexts.js:29:1:29:6 | x %= y |
| nullSensitiveContexts.js:29:1:29:6 | x %= y | nullSensitiveContexts.js:29:1:29:6 | x %= y |
| nullSensitiveContexts.js:29:6:29:6 | y | nullSensitiveContexts.js:29:1:29:6 | x %= y |
| nullSensitiveContexts.js:30:1:30:1 | x | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:1:30:9 | x , y = p | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:5:30:5 | y | nullSensitiveContexts.js:30:5:30:9 | y = p |
| nullSensitiveContexts.js:30:5:30:9 | y = p | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:9:30:9 | p | nullSensitiveContexts.js:30:5:30:9 | y = p |
| nullSensitiveContexts.js:32:1:32:1 | x | nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:32:1:32:5 | x & y | nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:32:5:32:5 | y | nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:33:1:33:1 | x | nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:33:1:33:5 | x \| y | nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:33:5:33:5 | y | nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:34:1:34:1 | x | nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y | nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:34:5:34:5 | y | nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:35:1:35:1 | x | nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:35:1:35:6 | x << y | nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:35:6:35:6 | y | nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:36:1:36:1 | x | nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:36:1:36:6 | x >> y | nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:36:6:36:6 | y | nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:37:1:37:1 | x | nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y | nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:37:7:37:7 | y | nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:38:1:38:2 | ~x | nullSensitiveContexts.js:38:1:38:2 | ~x |
| nullSensitiveContexts.js:38:2:38:2 | x | nullSensitiveContexts.js:38:1:38:2 | ~x |
| nullSensitiveContexts.js:39:1:39:1 | x | nullSensitiveContexts.js:39:1:39:6 | x &= y |
| nullSensitiveContexts.js:39:1:39:6 | x &= y | nullSensitiveContexts.js:39:1:39:6 | x &= y |
| nullSensitiveContexts.js:39:6:39:6 | y | nullSensitiveContexts.js:39:1:39:6 | x &= y |
| nullSensitiveContexts.js:40:1:40:1 | x | nullSensitiveContexts.js:40:1:40:6 | x \|= y |
| nullSensitiveContexts.js:40:1:40:6 | x \|= y | nullSensitiveContexts.js:40:1:40:6 | x \|= y |
| nullSensitiveContexts.js:40:6:40:6 | y | nullSensitiveContexts.js:40:1:40:6 | x \|= y |
| nullSensitiveContexts.js:41:1:41:1 | x | nullSensitiveContexts.js:41:1:41:6 | x ^= y |
| nullSensitiveContexts.js:41:1:41:6 | x ^= y | nullSensitiveContexts.js:41:1:41:6 | x ^= y |
| nullSensitiveContexts.js:41:6:41:6 | y | nullSensitiveContexts.js:41:1:41:6 | x ^= y |
| nullSensitiveContexts.js:42:1:42:1 | x | nullSensitiveContexts.js:42:1:42:7 | x <<= y |
| nullSensitiveContexts.js:42:1:42:7 | x <<= y | nullSensitiveContexts.js:42:1:42:7 | x <<= y |
| nullSensitiveContexts.js:42:7:42:7 | y | nullSensitiveContexts.js:42:1:42:7 | x <<= y |
| nullSensitiveContexts.js:43:1:43:1 | x | nullSensitiveContexts.js:43:1:43:7 | x >>= y |
| nullSensitiveContexts.js:43:1:43:7 | x >>= y | nullSensitiveContexts.js:43:1:43:7 | x >>= y |
| nullSensitiveContexts.js:43:7:43:7 | y | nullSensitiveContexts.js:43:1:43:7 | x >>= y |
| nullSensitiveContexts.js:44:1:44:1 | x | nullSensitiveContexts.js:44:1:44:8 | x >>>= y |
| nullSensitiveContexts.js:44:1:44:8 | x >>>= y | nullSensitiveContexts.js:44:1:44:8 | x >>>= y |
| nullSensitiveContexts.js:44:8:44:8 | y | nullSensitiveContexts.js:44:1:44:8 | x >>>= y |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:45:6:45:10 | let x |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:45:10:45:10 | x |
| nullSensitiveContexts.js:45:15:45:15 | y | nullSensitiveContexts.js:45:1:45:20 | for (let x of y) { } |
| nullSensitiveContexts.js:56:1:56:1 | x | nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:56:1:56:6 | x && y | nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:56:6:56:6 | y | nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:57:1:57:1 | x | nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y | nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:57:6:57:6 | y | nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:58:1:58:2 | !x | nullSensitiveContexts.js:58:1:58:2 | !x |
| nullSensitiveContexts.js:58:2:58:2 | x | nullSensitiveContexts.js:58:1:58:2 | !x |
| nullSensitiveContexts.js:59:5:59:5 | x | nullSensitiveContexts.js:59:1:59:10 | if (x) { } |
| nullSensitiveContexts.js:60:8:60:8 | x | nullSensitiveContexts.js:60:1:60:13 | while (x) { } |
| nullSensitiveContexts.js:61:8:61:8 | y | nullSensitiveContexts.js:61:1:61:16 | for (; y; z) { } |
| nullSensitiveContexts.js:61:11:61:11 | z | nullSensitiveContexts.js:61:1:61:16 | for (; y; z) { } |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:62:6:62:10 | let x |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:62:10:62:10 | x |
| nullSensitiveContexts.js:62:15:62:15 | y | nullSensitiveContexts.js:62:1:62:20 | for (let x in y) { } |
| others.js:1:1:1:2 | 23 | others.js:1:1:1:6 | 23, 42 |
| others.js:1:1:1:6 | 23, 42 | others.js:1:1:1:7 | 23, 42; |
| others.js:1:5:1:6 | 42 | others.js:1:1:1:6 | 23, 42 |
@@ -552,6 +672,127 @@ test_getTopLevel
| 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> |
| nullSensitiveContexts.js:8:1:8:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:8:5:8:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:9:1:9:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:9:5:9:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:10:1:10:7 | new Foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:10:5:10:7 | Foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:11:1:11:9 | new Foo() | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:11:5:11:7 | Foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:1:12:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:5:12:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:11:12:11 | 5 | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:13:1:13:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:13:1:13:8 | foo(bar) | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:13:5:13:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:14:1:14:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:14:1:14:5 | x + y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:14:5:14:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:15:1:15:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:15:1:15:5 | x - y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:15:5:15:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:16:1:16:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:16:1:16:5 | x * y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:16:5:16:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:17:1:17:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:17:1:17:5 | x / y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:17:5:17:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:18:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:18:5 | x % y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:5:18:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:19:2:19:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:20:2:20:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:21:1:21:3 | ++x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:21:3:21:3 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:22:1:22:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:22:1:22:3 | x++ | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:23:1:23:3 | --x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:23:3:23:3 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:24:1:24:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:24:1:24:3 | x-- | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:25:1:25:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:25:1:25:6 | x += y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:25:6:25:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:26:1:26:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:26:1:26:6 | x -= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:26:6:26:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:27:1:27:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:27:1:27:6 | x *= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:27:6:27:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:28:1:28:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:28:1:28:6 | x /= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:28:6:28:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:29:1:29:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:29:1:29:6 | x %= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:29:6:29:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:1:30:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:1:30:9 | x , y = p | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:5:30:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:5:30:9 | y = p | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:9:30:9 | p | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:32:1:32:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:32:1:32:5 | x & y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:32:5:32:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:33:1:33:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:33:1:33:5 | x \| y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:33:5:33:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:34:1:34:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:34:5:34:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:35:1:35:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:35:1:35:6 | x << y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:35:6:35:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:36:1:36:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:36:1:36:6 | x >> y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:36:6:36:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:37:1:37:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:37:7:37:7 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:38:1:38:2 | ~x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:38:2:38:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:39:1:39:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:39:1:39:6 | x &= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:39:6:39:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:40:1:40:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:40:1:40:6 | x \|= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:40:6:40:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:41:1:41:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:41:1:41:6 | x ^= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:41:6:41:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:42:1:42:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:42:1:42:7 | x <<= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:42:7:42:7 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:43:1:43:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:43:1:43:7 | x >>= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:43:7:43:7 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:44:1:44:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:44:1:44:8 | x >>>= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:44:8:44:8 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:45:15:45:15 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:56:1:56:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:56:1:56:6 | x && y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:56:6:56:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:57:1:57:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:57:6:57:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:58:1:58:2 | !x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:58:2:58:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:59:5:59:5 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:60:8:60:8 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:61:8:61:8 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:61:11:61:11 | z | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:62:15:62:15 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| others.js:1:1:1:2 | 23 | others.js:1:1:5:2 | <toplevel> |
| others.js:1:1:1:6 | 23, 42 | others.js:1:1:5:2 | <toplevel> |
| others.js:1:5:1:6 | 42 | others.js:1:1:5:2 | <toplevel> |
@@ -808,6 +1049,82 @@ test_getChild
| mozextensions.js:1:11:1:25 | function(x) x+1 | -2 | mozextensions.js:1:23:1:25 | x+1 |
| mozextensions.js:1:23:1:25 | x+1 | 0 | mozextensions.js:1:23:1:23 | x |
| mozextensions.js:1:23:1:25 | x+1 | 1 | mozextensions.js:1:25:1:25 | 1 |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] | 0 | nullSensitiveContexts.js:8:1:8:3 | foo |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] | 1 | nullSensitiveContexts.js:8:5:8:7 | bar |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar | 0 | nullSensitiveContexts.js:9:1:9:3 | foo |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar | 1 | nullSensitiveContexts.js:9:5:9:7 | bar |
| nullSensitiveContexts.js:10:1:10:7 | new Foo | -1 | nullSensitiveContexts.js:10:5:10:7 | Foo |
| nullSensitiveContexts.js:11:1:11:9 | new Foo() | -1 | nullSensitiveContexts.js:11:5:11:7 | Foo |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar | 0 | nullSensitiveContexts.js:12:1:12:3 | foo |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar | 1 | nullSensitiveContexts.js:12:5:12:7 | bar |
| nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 | 0 | nullSensitiveContexts.js:12:1:12:7 | foo.bar |
| nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 | 1 | nullSensitiveContexts.js:12:11:12:11 | 5 |
| nullSensitiveContexts.js:13:1:13:8 | foo(bar) | 0 | nullSensitiveContexts.js:13:5:13:7 | bar |
| nullSensitiveContexts.js:13:1:13:8 | foo(bar) | -1 | nullSensitiveContexts.js:13:1:13:3 | foo |
| nullSensitiveContexts.js:14:1:14:5 | x + y | 0 | nullSensitiveContexts.js:14:1:14:1 | x |
| nullSensitiveContexts.js:14:1:14:5 | x + y | 1 | nullSensitiveContexts.js:14:5:14:5 | y |
| nullSensitiveContexts.js:15:1:15:5 | x - y | 0 | nullSensitiveContexts.js:15:1:15:1 | x |
| nullSensitiveContexts.js:15:1:15:5 | x - y | 1 | nullSensitiveContexts.js:15:5:15:5 | y |
| nullSensitiveContexts.js:16:1:16:5 | x * y | 0 | nullSensitiveContexts.js:16:1:16:1 | x |
| nullSensitiveContexts.js:16:1:16:5 | x * y | 1 | nullSensitiveContexts.js:16:5:16:5 | y |
| nullSensitiveContexts.js:17:1:17:5 | x / y | 0 | nullSensitiveContexts.js:17:1:17:1 | x |
| nullSensitiveContexts.js:17:1:17:5 | x / y | 1 | nullSensitiveContexts.js:17:5:17:5 | y |
| nullSensitiveContexts.js:18:1:18:5 | x % y | 0 | nullSensitiveContexts.js:18:1:18:1 | x |
| nullSensitiveContexts.js:18:1:18:5 | x % y | 1 | nullSensitiveContexts.js:18:5:18:5 | y |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x | 0 | nullSensitiveContexts.js:18:1:18:5 | x % y |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x | 1 | nullSensitiveContexts.js:19:2:19:2 | x |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x | 0 | nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x | 1 | nullSensitiveContexts.js:20:2:20:2 | x |
| nullSensitiveContexts.js:21:1:21:3 | ++x | 0 | nullSensitiveContexts.js:21:3:21:3 | x |
| nullSensitiveContexts.js:22:1:22:3 | x++ | 0 | nullSensitiveContexts.js:22:1:22:1 | x |
| nullSensitiveContexts.js:23:1:23:3 | --x | 0 | nullSensitiveContexts.js:23:3:23:3 | x |
| nullSensitiveContexts.js:24:1:24:3 | x-- | 0 | nullSensitiveContexts.js:24:1:24:1 | x |
| nullSensitiveContexts.js:25:1:25:6 | x += y | 0 | nullSensitiveContexts.js:25:1:25:1 | x |
| nullSensitiveContexts.js:25:1:25:6 | x += y | 1 | nullSensitiveContexts.js:25:6:25:6 | y |
| nullSensitiveContexts.js:26:1:26:6 | x -= y | 0 | nullSensitiveContexts.js:26:1:26:1 | x |
| nullSensitiveContexts.js:26:1:26:6 | x -= y | 1 | nullSensitiveContexts.js:26:6:26:6 | y |
| nullSensitiveContexts.js:27:1:27:6 | x *= y | 0 | nullSensitiveContexts.js:27:1:27:1 | x |
| nullSensitiveContexts.js:27:1:27:6 | x *= y | 1 | nullSensitiveContexts.js:27:6:27:6 | y |
| nullSensitiveContexts.js:28:1:28:6 | x /= y | 0 | nullSensitiveContexts.js:28:1:28:1 | x |
| nullSensitiveContexts.js:28:1:28:6 | x /= y | 1 | nullSensitiveContexts.js:28:6:28:6 | y |
| nullSensitiveContexts.js:29:1:29:6 | x %= y | 0 | nullSensitiveContexts.js:29:1:29:1 | x |
| nullSensitiveContexts.js:29:1:29:6 | x %= y | 1 | nullSensitiveContexts.js:29:6:29:6 | y |
| nullSensitiveContexts.js:30:1:30:9 | x , y = p | 0 | nullSensitiveContexts.js:30:1:30:1 | x |
| nullSensitiveContexts.js:30:1:30:9 | x , y = p | 1 | nullSensitiveContexts.js:30:5:30:9 | y = p |
| nullSensitiveContexts.js:30:5:30:9 | y = p | 0 | nullSensitiveContexts.js:30:5:30:5 | y |
| nullSensitiveContexts.js:30:5:30:9 | y = p | 1 | nullSensitiveContexts.js:30:9:30:9 | p |
| nullSensitiveContexts.js:32:1:32:5 | x & y | 0 | nullSensitiveContexts.js:32:1:32:1 | x |
| nullSensitiveContexts.js:32:1:32:5 | x & y | 1 | nullSensitiveContexts.js:32:5:32:5 | y |
| nullSensitiveContexts.js:33:1:33:5 | x \| y | 0 | nullSensitiveContexts.js:33:1:33:1 | x |
| nullSensitiveContexts.js:33:1:33:5 | x \| y | 1 | nullSensitiveContexts.js:33:5:33:5 | y |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y | 0 | nullSensitiveContexts.js:34:1:34:1 | x |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y | 1 | nullSensitiveContexts.js:34:5:34:5 | y |
| nullSensitiveContexts.js:35:1:35:6 | x << y | 0 | nullSensitiveContexts.js:35:1:35:1 | x |
| nullSensitiveContexts.js:35:1:35:6 | x << y | 1 | nullSensitiveContexts.js:35:6:35:6 | y |
| nullSensitiveContexts.js:36:1:36:6 | x >> y | 0 | nullSensitiveContexts.js:36:1:36:1 | x |
| nullSensitiveContexts.js:36:1:36:6 | x >> y | 1 | nullSensitiveContexts.js:36:6:36:6 | y |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y | 0 | nullSensitiveContexts.js:37:1:37:1 | x |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y | 1 | nullSensitiveContexts.js:37:7:37:7 | y |
| nullSensitiveContexts.js:38:1:38:2 | ~x | 0 | nullSensitiveContexts.js:38:2:38:2 | x |
| nullSensitiveContexts.js:39:1:39:6 | x &= y | 0 | nullSensitiveContexts.js:39:1:39:1 | x |
| nullSensitiveContexts.js:39:1:39:6 | x &= y | 1 | nullSensitiveContexts.js:39:6:39:6 | y |
| nullSensitiveContexts.js:40:1:40:6 | x \|= y | 0 | nullSensitiveContexts.js:40:1:40:1 | x |
| nullSensitiveContexts.js:40:1:40:6 | x \|= y | 1 | nullSensitiveContexts.js:40:6:40:6 | y |
| nullSensitiveContexts.js:41:1:41:6 | x ^= y | 0 | nullSensitiveContexts.js:41:1:41:1 | x |
| nullSensitiveContexts.js:41:1:41:6 | x ^= y | 1 | nullSensitiveContexts.js:41:6:41:6 | y |
| nullSensitiveContexts.js:42:1:42:7 | x <<= y | 0 | nullSensitiveContexts.js:42:1:42:1 | x |
| nullSensitiveContexts.js:42:1:42:7 | x <<= y | 1 | nullSensitiveContexts.js:42:7:42:7 | y |
| nullSensitiveContexts.js:43:1:43:7 | x >>= y | 0 | nullSensitiveContexts.js:43:1:43:1 | x |
| nullSensitiveContexts.js:43:1:43:7 | x >>= y | 1 | nullSensitiveContexts.js:43:7:43:7 | y |
| nullSensitiveContexts.js:44:1:44:8 | x >>>= y | 0 | nullSensitiveContexts.js:44:1:44:1 | x |
| nullSensitiveContexts.js:44:1:44:8 | x >>>= y | 1 | nullSensitiveContexts.js:44:8:44:8 | y |
| nullSensitiveContexts.js:45:10:45:10 | x | 0 | nullSensitiveContexts.js:45:10:45:10 | x |
| nullSensitiveContexts.js:56:1:56:6 | x && y | 0 | nullSensitiveContexts.js:56:1:56:1 | x |
| nullSensitiveContexts.js:56:1:56:6 | x && y | 1 | nullSensitiveContexts.js:56:6:56:6 | y |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y | 0 | nullSensitiveContexts.js:57:1:57:1 | x |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y | 1 | nullSensitiveContexts.js:57:6:57:6 | y |
| nullSensitiveContexts.js:58:1:58:2 | !x | 0 | nullSensitiveContexts.js:58:2:58:2 | x |
| nullSensitiveContexts.js:62:10:62:10 | x | 0 | nullSensitiveContexts.js:62:10:62:10 | x |
| others.js:1:1:1:6 | 23, 42 | 0 | others.js:1:1:1:2 | 23 |
| others.js:1:1:1:6 | 23, 42 | 1 | others.js:1:5:1:6 | 42 |
| others.js:2:1:2:10 | 23, 42, 56 | 0 | others.js:2:1:2:2 | 23 |
@@ -1050,6 +1367,104 @@ test_isPure
| mozextensions.js:1:23:1:23 | x |
| mozextensions.js:1:23:1:25 | x+1 |
| mozextensions.js:1:25:1:25 | 1 |
| nullSensitiveContexts.js:8:1:8:3 | foo |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:8:5:8:7 | bar |
| nullSensitiveContexts.js:9:1:9:3 | foo |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:9:5:9:7 | bar |
| nullSensitiveContexts.js:10:5:10:7 | Foo |
| nullSensitiveContexts.js:11:5:11:7 | Foo |
| nullSensitiveContexts.js:12:1:12:3 | foo |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar |
| nullSensitiveContexts.js:12:5:12:7 | bar |
| nullSensitiveContexts.js:12:11:12:11 | 5 |
| nullSensitiveContexts.js:13:1:13:3 | foo |
| nullSensitiveContexts.js:13:5:13:7 | bar |
| nullSensitiveContexts.js:14:1:14:1 | x |
| nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:14:5:14:5 | y |
| nullSensitiveContexts.js:15:1:15:1 | x |
| nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:15:5:15:5 | y |
| nullSensitiveContexts.js:16:1:16:1 | x |
| nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:16:5:16:5 | y |
| nullSensitiveContexts.js:17:1:17:1 | x |
| nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:17:5:17:5 | y |
| nullSensitiveContexts.js:18:1:18:1 | x |
| nullSensitiveContexts.js:18:1:18:5 | x % y |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:5:18:5 | y |
| nullSensitiveContexts.js:19:2:19:2 | x |
| nullSensitiveContexts.js:20:2:20:2 | x |
| nullSensitiveContexts.js:21:3:21:3 | x |
| nullSensitiveContexts.js:22:1:22:1 | x |
| nullSensitiveContexts.js:23:3:23:3 | x |
| nullSensitiveContexts.js:24:1:24:1 | x |
| nullSensitiveContexts.js:25:1:25:1 | x |
| nullSensitiveContexts.js:25:6:25:6 | y |
| nullSensitiveContexts.js:26:1:26:1 | x |
| nullSensitiveContexts.js:26:6:26:6 | y |
| nullSensitiveContexts.js:27:1:27:1 | x |
| nullSensitiveContexts.js:27:6:27:6 | y |
| nullSensitiveContexts.js:28:1:28:1 | x |
| nullSensitiveContexts.js:28:6:28:6 | y |
| nullSensitiveContexts.js:29:1:29:1 | x |
| nullSensitiveContexts.js:29:6:29:6 | y |
| nullSensitiveContexts.js:30:1:30:1 | x |
| nullSensitiveContexts.js:30:5:30:5 | y |
| nullSensitiveContexts.js:30:9:30:9 | p |
| nullSensitiveContexts.js:32:1:32:1 | x |
| nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:32:5:32:5 | y |
| nullSensitiveContexts.js:33:1:33:1 | x |
| nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:33:5:33:5 | y |
| nullSensitiveContexts.js:34:1:34:1 | x |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:34:5:34:5 | y |
| nullSensitiveContexts.js:35:1:35:1 | x |
| nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:35:6:35:6 | y |
| nullSensitiveContexts.js:36:1:36:1 | x |
| nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:36:6:36:6 | y |
| nullSensitiveContexts.js:37:1:37:1 | x |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:37:7:37:7 | y |
| nullSensitiveContexts.js:38:1:38:2 | ~x |
| nullSensitiveContexts.js:38:2:38:2 | x |
| nullSensitiveContexts.js:39:1:39:1 | x |
| nullSensitiveContexts.js:39:6:39:6 | y |
| nullSensitiveContexts.js:40:1:40:1 | x |
| nullSensitiveContexts.js:40:6:40:6 | y |
| nullSensitiveContexts.js:41:1:41:1 | x |
| nullSensitiveContexts.js:41:6:41:6 | y |
| nullSensitiveContexts.js:42:1:42:1 | x |
| nullSensitiveContexts.js:42:7:42:7 | y |
| nullSensitiveContexts.js:43:1:43:1 | x |
| nullSensitiveContexts.js:43:7:43:7 | y |
| nullSensitiveContexts.js:44:1:44:1 | x |
| nullSensitiveContexts.js:44:8:44:8 | y |
| nullSensitiveContexts.js:45:10:45:10 | x |
| nullSensitiveContexts.js:45:15:45:15 | y |
| nullSensitiveContexts.js:56:1:56:1 | x |
| nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:56:6:56:6 | y |
| nullSensitiveContexts.js:57:1:57:1 | x |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:57:6:57:6 | y |
| nullSensitiveContexts.js:58:1:58:2 | !x |
| nullSensitiveContexts.js:58:2:58:2 | x |
| nullSensitiveContexts.js:59:5:59:5 | x |
| nullSensitiveContexts.js:60:8:60:8 | x |
| nullSensitiveContexts.js:61:8:61:8 | y |
| nullSensitiveContexts.js:61:11:61:11 | z |
| nullSensitiveContexts.js:62:10:62:10 | x |
| nullSensitiveContexts.js:62:15:62:15 | y |
| others.js:1:1:1:2 | 23 |
| others.js:1:1:1:6 | 23, 42 |
| others.js:1:5:1:6 | 42 |
@@ -1460,6 +1875,127 @@ test_getContainer
| 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 |
| mozextensions.js:1:25:1:25 | 1 | mozextensions.js:1:11:1:25 | function(x) x+1 |
| nullSensitiveContexts.js:8:1:8:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:8:5:8:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:9:1:9:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:9:5:9:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:10:1:10:7 | new Foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:10:5:10:7 | Foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:11:1:11:9 | new Foo() | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:11:5:11:7 | Foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:1:12:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:5:12:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:12:11:12:11 | 5 | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:13:1:13:3 | foo | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:13:1:13:8 | foo(bar) | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:13:5:13:7 | bar | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:14:1:14:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:14:1:14:5 | x + y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:14:5:14:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:15:1:15:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:15:1:15:5 | x - y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:15:5:15:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:16:1:16:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:16:1:16:5 | x * y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:16:5:16:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:17:1:17:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:17:1:17:5 | x / y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:17:5:17:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:18:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:18:5 | x % y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:18:5:18:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:19:2:19:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:20:2:20:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:21:1:21:3 | ++x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:21:3:21:3 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:22:1:22:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:22:1:22:3 | x++ | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:23:1:23:3 | --x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:23:3:23:3 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:24:1:24:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:24:1:24:3 | x-- | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:25:1:25:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:25:1:25:6 | x += y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:25:6:25:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:26:1:26:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:26:1:26:6 | x -= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:26:6:26:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:27:1:27:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:27:1:27:6 | x *= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:27:6:27:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:28:1:28:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:28:1:28:6 | x /= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:28:6:28:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:29:1:29:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:29:1:29:6 | x %= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:29:6:29:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:1:30:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:1:30:9 | x , y = p | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:5:30:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:5:30:9 | y = p | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:30:9:30:9 | p | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:32:1:32:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:32:1:32:5 | x & y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:32:5:32:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:33:1:33:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:33:1:33:5 | x \| y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:33:5:33:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:34:1:34:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:34:5:34:5 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:35:1:35:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:35:1:35:6 | x << y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:35:6:35:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:36:1:36:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:36:1:36:6 | x >> y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:36:6:36:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:37:1:37:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:37:7:37:7 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:38:1:38:2 | ~x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:38:2:38:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:39:1:39:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:39:1:39:6 | x &= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:39:6:39:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:40:1:40:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:40:1:40:6 | x \|= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:40:6:40:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:41:1:41:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:41:1:41:6 | x ^= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:41:6:41:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:42:1:42:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:42:1:42:7 | x <<= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:42:7:42:7 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:43:1:43:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:43:1:43:7 | x >>= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:43:7:43:7 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:44:1:44:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:44:1:44:8 | x >>>= y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:44:8:44:8 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:45:15:45:15 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:56:1:56:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:56:1:56:6 | x && y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:56:6:56:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:57:1:57:1 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:57:6:57:6 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:58:1:58:2 | !x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:58:2:58:2 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:59:5:59:5 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:60:8:60:8 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:61:8:61:8 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:61:11:61:11 | z | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| nullSensitiveContexts.js:62:15:62:15 | y | nullSensitiveContexts.js:1:1:63:0 | <toplevel> |
| others.js:1:1:1:2 | 23 | others.js:1:1:5:2 | <toplevel> |
| others.js:1:1:1:6 | 23, 42 | others.js:1:1:5:2 | <toplevel> |
| others.js:1:5:1:6 | 42 | others.js:1:1:5:2 | <toplevel> |
@@ -1763,6 +2299,127 @@ test_getEnclosingStmt
| mozextensions.js:1:1:1:26 | array.m ... x) x+1) | mozextensions.js:1:1:1:27 | array.m ... ) x+1); |
| mozextensions.js:1:7:1:9 | map | mozextensions.js:1:1:1:27 | array.m ... ) x+1); |
| mozextensions.js:1:11:1:25 | function(x) x+1 | mozextensions.js:1:1:1:27 | array.m ... ) x+1); |
| nullSensitiveContexts.js:8:1:8:3 | foo | nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:8:1:8:8 | foo[bar] | nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:8:5:8:7 | bar | nullSensitiveContexts.js:8:1:8:8 | foo[bar] |
| nullSensitiveContexts.js:9:1:9:3 | foo | nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:9:1:9:7 | foo.bar | nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:9:5:9:7 | bar | nullSensitiveContexts.js:9:1:9:7 | foo.bar |
| nullSensitiveContexts.js:10:1:10:7 | new Foo | nullSensitiveContexts.js:10:1:10:7 | new Foo |
| nullSensitiveContexts.js:10:5:10:7 | Foo | nullSensitiveContexts.js:10:1:10:7 | new Foo |
| nullSensitiveContexts.js:11:1:11:9 | new Foo() | nullSensitiveContexts.js:11:1:11:9 | new Foo() |
| nullSensitiveContexts.js:11:5:11:7 | Foo | nullSensitiveContexts.js:11:1:11:9 | new Foo() |
| nullSensitiveContexts.js:12:1:12:3 | foo | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:12:1:12:7 | foo.bar | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:12:5:12:7 | bar | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:12:11:12:11 | 5 | nullSensitiveContexts.js:12:1:12:11 | foo.bar = 5 |
| nullSensitiveContexts.js:13:1:13:3 | foo | nullSensitiveContexts.js:13:1:13:8 | foo(bar) |
| nullSensitiveContexts.js:13:1:13:8 | foo(bar) | nullSensitiveContexts.js:13:1:13:8 | foo(bar) |
| nullSensitiveContexts.js:13:5:13:7 | bar | nullSensitiveContexts.js:13:1:13:8 | foo(bar) |
| nullSensitiveContexts.js:14:1:14:1 | x | nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:14:1:14:5 | x + y | nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:14:5:14:5 | y | nullSensitiveContexts.js:14:1:14:5 | x + y |
| nullSensitiveContexts.js:15:1:15:1 | x | nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:15:1:15:5 | x - y | nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:15:5:15:5 | y | nullSensitiveContexts.js:15:1:15:5 | x - y |
| nullSensitiveContexts.js:16:1:16:1 | x | nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:16:1:16:5 | x * y | nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:16:5:16:5 | y | nullSensitiveContexts.js:16:1:16:5 | x * y |
| nullSensitiveContexts.js:17:1:17:1 | x | nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:17:1:17:5 | x / y | nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:17:5:17:5 | y | nullSensitiveContexts.js:17:1:17:5 | x / y |
| nullSensitiveContexts.js:18:1:18:1 | x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:1:18:5 | x % y | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:18:5:18:5 | y | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:19:2:19:2 | x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:20:2:20:2 | x | nullSensitiveContexts.js:18:1:20:2 | x % y\\n+x\\n-x |
| nullSensitiveContexts.js:21:1:21:3 | ++x | nullSensitiveContexts.js:21:1:21:3 | ++x |
| nullSensitiveContexts.js:21:3:21:3 | x | nullSensitiveContexts.js:21:1:21:3 | ++x |
| nullSensitiveContexts.js:22:1:22:1 | x | nullSensitiveContexts.js:22:1:22:3 | x++ |
| nullSensitiveContexts.js:22:1:22:3 | x++ | nullSensitiveContexts.js:22:1:22:3 | x++ |
| nullSensitiveContexts.js:23:1:23:3 | --x | nullSensitiveContexts.js:23:1:23:3 | --x |
| nullSensitiveContexts.js:23:3:23:3 | x | nullSensitiveContexts.js:23:1:23:3 | --x |
| nullSensitiveContexts.js:24:1:24:1 | x | nullSensitiveContexts.js:24:1:24:3 | x-- |
| nullSensitiveContexts.js:24:1:24:3 | x-- | nullSensitiveContexts.js:24:1:24:3 | x-- |
| nullSensitiveContexts.js:25:1:25:1 | x | nullSensitiveContexts.js:25:1:25:6 | x += y |
| nullSensitiveContexts.js:25:1:25:6 | x += y | nullSensitiveContexts.js:25:1:25:6 | x += y |
| nullSensitiveContexts.js:25:6:25:6 | y | nullSensitiveContexts.js:25:1:25:6 | x += y |
| nullSensitiveContexts.js:26:1:26:1 | x | nullSensitiveContexts.js:26:1:26:6 | x -= y |
| nullSensitiveContexts.js:26:1:26:6 | x -= y | nullSensitiveContexts.js:26:1:26:6 | x -= y |
| nullSensitiveContexts.js:26:6:26:6 | y | nullSensitiveContexts.js:26:1:26:6 | x -= y |
| nullSensitiveContexts.js:27:1:27:1 | x | nullSensitiveContexts.js:27:1:27:6 | x *= y |
| nullSensitiveContexts.js:27:1:27:6 | x *= y | nullSensitiveContexts.js:27:1:27:6 | x *= y |
| nullSensitiveContexts.js:27:6:27:6 | y | nullSensitiveContexts.js:27:1:27:6 | x *= y |
| nullSensitiveContexts.js:28:1:28:1 | x | nullSensitiveContexts.js:28:1:28:6 | x /= y |
| nullSensitiveContexts.js:28:1:28:6 | x /= y | nullSensitiveContexts.js:28:1:28:6 | x /= y |
| nullSensitiveContexts.js:28:6:28:6 | y | nullSensitiveContexts.js:28:1:28:6 | x /= y |
| nullSensitiveContexts.js:29:1:29:1 | x | nullSensitiveContexts.js:29:1:29:6 | x %= y |
| nullSensitiveContexts.js:29:1:29:6 | x %= y | nullSensitiveContexts.js:29:1:29:6 | x %= y |
| nullSensitiveContexts.js:29:6:29:6 | y | nullSensitiveContexts.js:29:1:29:6 | x %= y |
| nullSensitiveContexts.js:30:1:30:1 | x | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:1:30:9 | x , y = p | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:5:30:5 | y | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:5:30:9 | y = p | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:30:9:30:9 | p | nullSensitiveContexts.js:30:1:30:9 | x , y = p |
| nullSensitiveContexts.js:32:1:32:1 | x | nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:32:1:32:5 | x & y | nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:32:5:32:5 | y | nullSensitiveContexts.js:32:1:32:5 | x & y |
| nullSensitiveContexts.js:33:1:33:1 | x | nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:33:1:33:5 | x \| y | nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:33:5:33:5 | y | nullSensitiveContexts.js:33:1:33:5 | x \| y |
| nullSensitiveContexts.js:34:1:34:1 | x | nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:34:1:34:5 | x ^ y | nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:34:5:34:5 | y | nullSensitiveContexts.js:34:1:34:5 | x ^ y |
| nullSensitiveContexts.js:35:1:35:1 | x | nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:35:1:35:6 | x << y | nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:35:6:35:6 | y | nullSensitiveContexts.js:35:1:35:6 | x << y |
| nullSensitiveContexts.js:36:1:36:1 | x | nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:36:1:36:6 | x >> y | nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:36:6:36:6 | y | nullSensitiveContexts.js:36:1:36:6 | x >> y |
| nullSensitiveContexts.js:37:1:37:1 | x | nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:37:1:37:7 | x >>> y | nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:37:7:37:7 | y | nullSensitiveContexts.js:37:1:37:7 | x >>> y |
| nullSensitiveContexts.js:38:1:38:2 | ~x | nullSensitiveContexts.js:38:1:38:2 | ~x |
| nullSensitiveContexts.js:38:2:38:2 | x | nullSensitiveContexts.js:38:1:38:2 | ~x |
| nullSensitiveContexts.js:39:1:39:1 | x | nullSensitiveContexts.js:39:1:39:6 | x &= y |
| nullSensitiveContexts.js:39:1:39:6 | x &= y | nullSensitiveContexts.js:39:1:39:6 | x &= y |
| nullSensitiveContexts.js:39:6:39:6 | y | nullSensitiveContexts.js:39:1:39:6 | x &= y |
| nullSensitiveContexts.js:40:1:40:1 | x | nullSensitiveContexts.js:40:1:40:6 | x \|= y |
| nullSensitiveContexts.js:40:1:40:6 | x \|= y | nullSensitiveContexts.js:40:1:40:6 | x \|= y |
| nullSensitiveContexts.js:40:6:40:6 | y | nullSensitiveContexts.js:40:1:40:6 | x \|= y |
| nullSensitiveContexts.js:41:1:41:1 | x | nullSensitiveContexts.js:41:1:41:6 | x ^= y |
| nullSensitiveContexts.js:41:1:41:6 | x ^= y | nullSensitiveContexts.js:41:1:41:6 | x ^= y |
| nullSensitiveContexts.js:41:6:41:6 | y | nullSensitiveContexts.js:41:1:41:6 | x ^= y |
| nullSensitiveContexts.js:42:1:42:1 | x | nullSensitiveContexts.js:42:1:42:7 | x <<= y |
| nullSensitiveContexts.js:42:1:42:7 | x <<= y | nullSensitiveContexts.js:42:1:42:7 | x <<= y |
| nullSensitiveContexts.js:42:7:42:7 | y | nullSensitiveContexts.js:42:1:42:7 | x <<= y |
| nullSensitiveContexts.js:43:1:43:1 | x | nullSensitiveContexts.js:43:1:43:7 | x >>= y |
| nullSensitiveContexts.js:43:1:43:7 | x >>= y | nullSensitiveContexts.js:43:1:43:7 | x >>= y |
| nullSensitiveContexts.js:43:7:43:7 | y | nullSensitiveContexts.js:43:1:43:7 | x >>= y |
| nullSensitiveContexts.js:44:1:44:1 | x | nullSensitiveContexts.js:44:1:44:8 | x >>>= y |
| nullSensitiveContexts.js:44:1:44:8 | x >>>= y | nullSensitiveContexts.js:44:1:44:8 | x >>>= y |
| nullSensitiveContexts.js:44:8:44:8 | y | nullSensitiveContexts.js:44:1:44:8 | x >>>= y |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:45:6:45:10 | let x |
| nullSensitiveContexts.js:45:10:45:10 | x | nullSensitiveContexts.js:45:6:45:10 | let x |
| nullSensitiveContexts.js:45:15:45:15 | y | nullSensitiveContexts.js:45:1:45:20 | for (let x of y) { } |
| nullSensitiveContexts.js:56:1:56:1 | x | nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:56:1:56:6 | x && y | nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:56:6:56:6 | y | nullSensitiveContexts.js:56:1:56:6 | x && y |
| nullSensitiveContexts.js:57:1:57:1 | x | nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:57:1:57:6 | x \|\| y | nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:57:6:57:6 | y | nullSensitiveContexts.js:57:1:57:6 | x \|\| y |
| nullSensitiveContexts.js:58:1:58:2 | !x | nullSensitiveContexts.js:58:1:58:2 | !x |
| nullSensitiveContexts.js:58:2:58:2 | x | nullSensitiveContexts.js:58:1:58:2 | !x |
| nullSensitiveContexts.js:59:5:59:5 | x | nullSensitiveContexts.js:59:1:59:10 | if (x) { } |
| nullSensitiveContexts.js:60:8:60:8 | x | nullSensitiveContexts.js:60:1:60:13 | while (x) { } |
| nullSensitiveContexts.js:61:8:61:8 | y | nullSensitiveContexts.js:61:1:61:16 | for (; y; z) { } |
| nullSensitiveContexts.js:61:11:61:11 | z | nullSensitiveContexts.js:61:1:61:16 | for (; y; z) { } |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:62:6:62:10 | let x |
| nullSensitiveContexts.js:62:10:62:10 | x | nullSensitiveContexts.js:62:6:62:10 | let x |
| nullSensitiveContexts.js:62:15:62:15 | y | nullSensitiveContexts.js:62:1:62:20 | for (let x in y) { } |
| others.js:1:1:1:2 | 23 | others.js:1:1:1:7 | 23, 42; |
| others.js:1:1:1:6 | 23, 42 | others.js:1:1:1:7 | 23, 42; |
| others.js:1:5:1:6 | 42 | others.js:1:1:1:7 | 23, 42; |
@@ -1872,3 +2529,174 @@ test_getEnclosingStmt
| update.js:3:3:3:3 | b | update.js:3:1:3:4 | --b; |
| update.js:4:1:4:1 | b | update.js:4:1:4:4 | b--; |
| update.js:4:1:4:3 | b-- | update.js:4:1:4:4 | b--; |
test_inNullSensitiveContext
| assignment.js:1:5:1:6 | 23 |
| assignment.js:2:1:2:1 | a |
| assignment.js:2:6:2:7 | 19 |
| assignment.js:3:1:3:1 | a |
| assignment.js:3:6:3:6 | 9 |
| assignment.js:4:1:4:1 | a |
| assignment.js:4:6:4:6 | b |
| assignment.js:5:1:5:1 | a |
| assignment.js:5:6:5:6 | 2 |
| assignment.js:6:1:6:1 | a |
| assignment.js:6:6:6:6 | 2 |
| assignment.js:7:1:7:1 | a |
| assignment.js:7:7:7:7 | 8 |
| assignment.js:8:1:8:1 | a |
| assignment.js:8:7:8:7 | 7 |
| assignment.js:9:1:9:1 | a |
| assignment.js:9:8:9:8 | 2 |
| assignment.js:10:1:10:1 | a |
| assignment.js:10:6:10:6 | 2 |
| assignment.js:11:1:11:1 | a |
| assignment.js:11:6:11:6 | 1 |
| assignment.js:12:1:12:1 | a |
| assignment.js:12:6:12:6 | 3 |
| binary.js:1:1:1:1 | 1 |
| binary.js:1:6:1:6 | 2 |
| binary.js:2:1:2:1 | 2 |
| binary.js:2:6:2:6 | 1 |
| binary.js:3:1:3:1 | 2 |
| binary.js:3:7:3:7 | 1 |
| binary.js:4:1:4:2 | 23 |
| binary.js:4:6:4:7 | 19 |
| binary.js:5:1:5:2 | 42 |
| binary.js:5:6:5:7 | 19 |
| binary.js:6:1:6:1 | 2 |
| binary.js:6:5:6:5 | 3 |
| binary.js:7:1:7:1 | 8 |
| binary.js:7:5:7:5 | 5 |
| binary.js:8:1:8:1 | 2 |
| binary.js:8:5:8:5 | 1 |
| binary.js:9:1:9:1 | 2 |
| binary.js:9:5:9:5 | 3 |
| binary.js:10:1:10:1 | 2 |
| binary.js:10:5:10:5 | 3 |
| binary.js:11:1:11:1 | 2 |
| binary.js:11:5:11:5 | 3 |
| binary.js:12:1:12:11 | 'prototype' |
| binary.js:12:16:12:21 | Object |
| binary.js:13:1:13:2 | [] |
| binary.js:13:15:13:19 | Array |
| comparison.js:5:1:5:1 | 1 |
| comparison.js:5:5:5:5 | 2 |
| comparison.js:6:1:6:1 | 1 |
| comparison.js:6:6:6:6 | 2 |
| comparison.js:7:1:7:1 | 2 |
| comparison.js:7:5:7:5 | 1 |
| comparison.js:8:1:8:1 | 2 |
| comparison.js:8:6:8:6 | 1 |
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] |
| es2015.js:1:1:1:22 | ["a", " ... c"].map |
| es2015.js:1:29:1:29 | s |
| es2015.js:2:1:2:11 | setInterval |
| es2015.js:2:21:2:23 | cnt |
| es2015.js:3:1:3:10 | setTimeout |
| es2015.js:3:20:3:24 | alert |
| es2015.js:5:8:5:9 | as |
| es2015.js:6:5:6:9 | Array |
| es2015.js:6:14:6:17 | elts |
| es2015.js:13:3:13:9 | console |
| es2015.js:13:3:13:13 | console.log |
| es2015.js:23:8:23:8 | n |
| es2015.js:23:8:23:10 | n-- |
| es2015.js:23:12:23:12 | 0 |
| es2015.js:25:9:25:11 | foo |
| es2015.js:28:19:28:19 | x |
| es2015.js:28:21:28:22 | 19 |
| functions.js:4:3:6:4 | (functi ... f;\\n\\t\\t}) |
| legacyletexpr.js:1:1:1:7 | console |
| legacyletexpr.js:1:1:1:11 | console.log |
| legacyletexpr.js:1:34:1:34 | x |
| legacyletexpr.js:1:38:1:38 | y |
| mozextensions.js:1:1:1:5 | array |
| mozextensions.js:1:1:1:9 | array.map |
| mozextensions.js:1:23:1:23 | x |
| mozextensions.js:1:25:1:25 | 1 |
| nullSensitiveContexts.js:8:1:8:3 | foo |
| nullSensitiveContexts.js:8:5:8:7 | bar |
| nullSensitiveContexts.js:9:1:9:3 | foo |
| nullSensitiveContexts.js:10:5:10:7 | Foo |
| nullSensitiveContexts.js:11:5:11:7 | Foo |
| nullSensitiveContexts.js:12:1:12:3 | foo |
| nullSensitiveContexts.js:12:11:12:11 | 5 |
| nullSensitiveContexts.js:13:1:13:3 | foo |
| nullSensitiveContexts.js:14:1:14:1 | x |
| nullSensitiveContexts.js:14:5:14:5 | y |
| nullSensitiveContexts.js:15:1:15:1 | x |
| nullSensitiveContexts.js:15:5:15:5 | y |
| nullSensitiveContexts.js:16:1:16:1 | x |
| nullSensitiveContexts.js:16:5:16:5 | y |
| nullSensitiveContexts.js:17:1:17:1 | x |
| nullSensitiveContexts.js:17:5:17:5 | y |
| nullSensitiveContexts.js:18:1:18:1 | x |
| nullSensitiveContexts.js:18:1:18:5 | x % y |
| nullSensitiveContexts.js:18:1:19:2 | x % y\\n+x |
| nullSensitiveContexts.js:18:5:18:5 | y |
| nullSensitiveContexts.js:19:2:19:2 | x |
| nullSensitiveContexts.js:20:2:20:2 | x |
| nullSensitiveContexts.js:21:3:21:3 | x |
| nullSensitiveContexts.js:22:1:22:1 | x |
| nullSensitiveContexts.js:23:3:23:3 | x |
| nullSensitiveContexts.js:24:1:24:1 | x |
| nullSensitiveContexts.js:25:1:25:1 | x |
| nullSensitiveContexts.js:25:6:25:6 | y |
| nullSensitiveContexts.js:26:1:26:1 | x |
| nullSensitiveContexts.js:26:6:26:6 | y |
| nullSensitiveContexts.js:27:1:27:1 | x |
| nullSensitiveContexts.js:27:6:27:6 | y |
| nullSensitiveContexts.js:28:1:28:1 | x |
| nullSensitiveContexts.js:28:6:28:6 | y |
| nullSensitiveContexts.js:29:1:29:1 | x |
| nullSensitiveContexts.js:29:6:29:6 | y |
| nullSensitiveContexts.js:30:9:30:9 | p |
| nullSensitiveContexts.js:32:1:32:1 | x |
| nullSensitiveContexts.js:32:5:32:5 | y |
| nullSensitiveContexts.js:33:1:33:1 | x |
| nullSensitiveContexts.js:33:5:33:5 | y |
| nullSensitiveContexts.js:34:1:34:1 | x |
| nullSensitiveContexts.js:34:5:34:5 | y |
| nullSensitiveContexts.js:35:1:35:1 | x |
| nullSensitiveContexts.js:35:6:35:6 | y |
| nullSensitiveContexts.js:36:1:36:1 | x |
| nullSensitiveContexts.js:36:6:36:6 | y |
| nullSensitiveContexts.js:37:1:37:1 | x |
| nullSensitiveContexts.js:37:7:37:7 | y |
| nullSensitiveContexts.js:38:2:38:2 | x |
| nullSensitiveContexts.js:39:1:39:1 | x |
| nullSensitiveContexts.js:39:6:39:6 | y |
| nullSensitiveContexts.js:40:1:40:1 | x |
| nullSensitiveContexts.js:40:6:40:6 | y |
| nullSensitiveContexts.js:41:1:41:1 | x |
| nullSensitiveContexts.js:41:6:41:6 | y |
| nullSensitiveContexts.js:42:1:42:1 | x |
| nullSensitiveContexts.js:42:7:42:7 | y |
| nullSensitiveContexts.js:43:1:43:1 | x |
| nullSensitiveContexts.js:43:7:43:7 | y |
| nullSensitiveContexts.js:44:1:44:1 | x |
| nullSensitiveContexts.js:44:8:44:8 | y |
| nullSensitiveContexts.js:45:15:45:15 | y |
| primaries.js:22:5:22:9 | Array |
| primaries.js:23:5:23:10 | Object |
| primaries.js:24:5:24:10 | String |
| primaries.js:25:1:25:6 | String |
| primaries.js:26:1:26:6 | Object |
| primaries.js:26:1:26:13 | Object.create |
| primaries.js:27:1:27:6 | String |
| primaries.js:27:8:27:18 | 'epytotorp' |
| primaries.js:27:8:27:26 | 'epytotorp'.reverse |
| primaries.js:27:8:27:28 | 'epytot ... verse() |
| surrogates.js:2:1:2:8 | /\\uD800/ |
| surrogates.js:2:1:2:13 | /\\uD800/.test |
| unary.js:1:2:1:3 | 23 |
| unary.js:2:2:2:3 | 42 |
| unary.js:4:2:4:2 | 2 |
| unary.js:5:8:5:13 | Object |
| unary.js:6:5:6:7 | (0) |
| unary.js:7:8:7:13 | Object |
| unary.js:7:8:7:23 | Object.prototype |
| update.js:1:3:1:3 | a |
| update.js:2:1:2:1 | a |
| update.js:3:3:3:3 | b |
| update.js:4:1:4:1 | b |

View File

@@ -9,3 +9,4 @@ import LetExpr
import stripParens
import getContainer
import getEnclosingStmt
import nullSensitiveContexts