Merge pull request #4520 from erik-krogh/LessTests

JS: Aggregate tests cases
This commit is contained in:
Erik Krogh Kristensen
2020-10-20 19:03:47 +02:00
committed by GitHub
538 changed files with 7212 additions and 7069 deletions

View File

@@ -1,11 +0,0 @@
| a.js:1:1:3:3 | <toplevel> | a.js:1:1:3:2 | define( ... 2 };\\n}) |
| dir/b.js:1:1:3:3 | <toplevel> | dir/b.js:1:1:3:2 | define( ... : 42\\n}) |
| lib/a.js:1:1:3:3 | <toplevel> | lib/a.js:1:1:3:2 | define( ... 2 };\\n}) |
| lib/foo.js:1:1:4:0 | <toplevel> | lib/foo.js:1:1:3:2 | define( ... : 23\\n}) |
| lib/nested/a.js:1:1:3:3 | <toplevel> | lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) |
| tst2.js:1:1:3:3 | <toplevel> | tst2.js:1:1:3:2 | define( ... 42;\\n}) |
| tst3.js:1:1:3:3 | <toplevel> | tst3.js:1:1:3:2 | define( ... 42;\\n}) |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:1:1:11:2 | define( ... };\\n}) |
| tst5.js:1:1:6:3 | <toplevel> | tst5.js:1:1:6:2 | define( ... };\\n}) |
| tst.js:1:1:6:3 | <toplevel> | tst.js:1:1:6:2 | define( ... };\\n}) |
| umd.js:1:1:14:4 | <toplevel> | umd.js:4:9:4:43 | define( ... actory) |

View File

@@ -1,4 +0,0 @@
import javascript
from AmdModule m
select m, m.getDefine()

View File

@@ -1,24 +0,0 @@
getDependencyParameter
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | exports | tst2.js:1:30:1:36 | exports |
| tst4.js:1:1:11:2 | define( ... };\\n}) | a.js | tst4.js:6:20:6:20 | a |
| tst4.js:1:1:11:2 | define( ... };\\n}) | foo | tst4.js:6:23:6:23 | b |
| tst4.js:1:1:11:2 | define( ... };\\n}) | nested/a | tst4.js:6:26:6:32 | exports |
| tst5.js:1:1:6:2 | define( ... };\\n}) | ./a | tst5.js:1:37:1:37 | a |
| tst5.js:1:1:6:2 | define( ... };\\n}) | ./dir/b | tst5.js:1:40:1:44 | {bar} |
| tst.js:1:1:6:2 | define( ... };\\n}) | ./a | tst.js:1:37:1:37 | a |
| tst.js:1:1:6:2 | define( ... };\\n}) | ./dir/b | tst.js:1:40:1:40 | b |
| umd.js:4:9:4:43 | define( ... actory) | ./a | umd.js:9:19:9:19 | a |
| umd.js:4:9:4:43 | define( ... actory) | ./dir/b | umd.js:9:22:9:22 | b |
#select
| a.js:1:1:3:2 | define( ... 2 };\\n}) | a.js:1:8:3:1 | functio ... 42 };\\n} |
| dir/b.js:1:1:3:2 | define( ... : 42\\n}) | dir/b.js:1:8:3:1 | {\\n bar: 42\\n} |
| lib/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/a.js:1:8:3:1 | functio ... 42 };\\n} |
| lib/foo.js:1:1:3:2 | define( ... : 23\\n}) | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} |
| lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/nested/a.js:1:8:3:1 | functio ... 42 };\\n} |
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | tst2.js:1:21:3:1 | functio ... = 42;\\n} |
| tst3.js:1:1:3:2 | define( ... 42;\\n}) | tst3.js:1:8:3:1 | functio ... = 42;\\n} |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:6:11:11:1 | functio ... };\\n} |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:1:28:6:1 | functio ... };\\n} |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:1:28:6:1 | functio ... };\\n} |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:9:9:14:1 | functio ... };\\n} |

View File

@@ -1,8 +0,0 @@
import javascript
query Parameter getDependencyParameter(AmdModuleDefinition mod, string name) {
result = mod.getDependencyParameter(name)
}
from AmdModuleDefinition d
select d, d.getFactoryNode()

View File

@@ -1,12 +0,0 @@
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | tst2.js:1:9:1:17 | 'exports' |
| tst3.js:1:1:3:2 | define( ... 42;\\n}) | tst3.js:2:21:2:25 | './a' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:2:9:2:14 | 'a.js' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:3:9:3:13 | 'foo' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:4:9:4:18 | 'nested/a' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:5:9:5:20 | 'lib/foo.js' |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:1:9:1:13 | './a' |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:1:16:1:24 | './dir/b' |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:1:9:1:13 | './a' |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:1:16:1:24 | './dir/b' |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:4:17:4:21 | './a' |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:4:24:4:32 | './dir/b' |

View File

@@ -1,4 +0,0 @@
import javascript
from AmdModuleDefinition d
select d, d.getADependency()

View File

@@ -1,15 +0,0 @@
| a.js:1:1:3:3 | <toplevel> | foo |
| dir/b.js:1:1:3:3 | <toplevel> | bar |
| lib/a.js:1:1:3:3 | <toplevel> | foo |
| lib/foo.js:1:1:4:0 | <toplevel> | foo |
| lib/nested/a.js:1:1:3:3 | <toplevel> | foo |
| tst2.js:1:1:3:3 | <toplevel> | foo |
| tst3.js:1:1:3:3 | <toplevel> | foo |
| tst4.js:1:1:11:3 | <toplevel> | bar |
| tst4.js:1:1:11:3 | <toplevel> | foo |
| tst5.js:1:1:6:3 | <toplevel> | bar |
| tst5.js:1:1:6:3 | <toplevel> | foo |
| tst.js:1:1:6:3 | <toplevel> | bar |
| tst.js:1:1:6:3 | <toplevel> | foo |
| umd.js:1:1:14:4 | <toplevel> | bar |
| umd.js:1:1:14:4 | <toplevel> | foo |

View File

@@ -1,4 +0,0 @@
import javascript
from AmdModule m
select m, m.getAnExportedSymbol()

View File

@@ -1,14 +0,0 @@
| a.js:1:1:3:2 | define( ... 2 };\\n}) | a.js:2:12:2:22 | { foo: 42 } | a.js:2:12:2:22 | { foo: 42 } |
| dir/b.js:1:1:3:2 | define( ... : 42\\n}) | dir/b.js:1:8:3:1 | {\\n bar: 42\\n} | dir/b.js:1:8:3:1 | {\\n bar: 42\\n} |
| lib/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/a.js:2:12:2:22 | { foo: 42 } | lib/a.js:2:12:2:22 | { foo: 42 } |
| lib/foo.js:1:1:3:2 | define( ... : 23\\n}) | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} |
| lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/nested/a.js:2:12:2:22 | { foo: 42 } | lib/nested/a.js:2:12:2:22 | { foo: 42 } |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:7:12:10:5 | {\\n ... r\\n } | tst4.js:7:12:10:5 | {\\n ... r\\n } |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:2:12:5:5 | {\\n ... r\\n } | tst5.js:2:12:5:5 | {\\n ... r\\n } |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:2:12:5:5 | {\\n ... r\\n } | tst.js:2:12:5:5 | {\\n ... r\\n } |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | umd.js:1:18:1:24 | factory |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | umd.js:9:9:14:1 | functio ... };\\n} |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | umd.js:10:12:13:5 | {\\n ... r\\n } |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:10:12:13:5 | {\\n ... r\\n } | umd.js:1:18:1:24 | factory |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:10:12:13:5 | {\\n ... r\\n } | umd.js:9:9:14:1 | functio ... };\\n} |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:10:12:13:5 | {\\n ... r\\n } | umd.js:10:12:13:5 | {\\n ... r\\n } |

View File

@@ -1,4 +0,0 @@
import javascript
from AmdModuleDefinition d
select d, d.getModuleExpr(), d.getAModuleSource()

View File

@@ -1,10 +0,0 @@
| tst3.js:1:1:3:3 | <toplevel> | tst3.js:2:21:2:25 | './a' | a.js:1:1:3:3 | <toplevel> |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:3:9:3:13 | 'foo' | lib/foo.js:1:1:4:0 | <toplevel> |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:4:9:4:18 | 'nested/a' | lib/nested/a.js:1:1:3:3 | <toplevel> |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:5:9:5:20 | 'lib/foo.js' | lib/foo.js:1:1:4:0 | <toplevel> |
| tst5.js:1:1:6:3 | <toplevel> | tst5.js:1:9:1:13 | './a' | a.js:1:1:3:3 | <toplevel> |
| tst5.js:1:1:6:3 | <toplevel> | tst5.js:1:16:1:24 | './dir/b' | dir/b.js:1:1:3:3 | <toplevel> |
| tst.js:1:1:6:3 | <toplevel> | tst.js:1:9:1:13 | './a' | a.js:1:1:3:3 | <toplevel> |
| tst.js:1:1:6:3 | <toplevel> | tst.js:1:16:1:24 | './dir/b' | dir/b.js:1:1:3:3 | <toplevel> |
| umd.js:1:1:14:4 | <toplevel> | umd.js:4:17:4:21 | './a' | a.js:1:1:3:3 | <toplevel> |
| umd.js:1:1:14:4 | <toplevel> | umd.js:4:24:4:32 | './dir/b' | dir/b.js:1:1:3:3 | <toplevel> |

View File

@@ -1,5 +0,0 @@
import javascript
from AmdModule m, Import i
where i = m.getAnImport()
select m, i, i.getImportedModule()

View File

@@ -1,15 +0,0 @@
| a.js:1:1:3:3 | <toplevel> | foo | a.js:2:19:2:20 | 42 |
| dir/b.js:1:1:3:3 | <toplevel> | bar | dir/b.js:2:10:2:11 | 42 |
| lib/a.js:1:1:3:3 | <toplevel> | foo | lib/a.js:2:19:2:20 | 42 |
| lib/foo.js:1:1:4:0 | <toplevel> | foo | lib/foo.js:2:10:2:11 | 23 |
| lib/nested/a.js:1:1:3:3 | <toplevel> | foo | lib/nested/a.js:2:19:2:20 | 42 |
| tst2.js:1:1:3:3 | <toplevel> | foo | tst2.js:2:19:2:20 | 42 |
| tst3.js:1:1:3:3 | <toplevel> | foo | tst3.js:2:43:2:44 | 42 |
| tst4.js:1:1:11:3 | <toplevel> | bar | tst4.js:9:14:9:18 | b.bar |
| tst4.js:1:1:11:3 | <toplevel> | foo | tst4.js:8:14:8:18 | a.foo |
| tst5.js:1:1:6:3 | <toplevel> | bar | tst5.js:4:14:4:16 | bar |
| tst5.js:1:1:6:3 | <toplevel> | foo | tst5.js:3:14:3:18 | a.foo |
| tst.js:1:1:6:3 | <toplevel> | bar | tst.js:4:14:4:18 | b.bar |
| tst.js:1:1:6:3 | <toplevel> | foo | tst.js:3:14:3:18 | a.foo |
| umd.js:1:1:14:4 | <toplevel> | bar | umd.js:11:14:11:18 | a.foo |
| umd.js:1:1:14:4 | <toplevel> | foo | umd.js:12:14:12:18 | b.bar |

View File

@@ -1,5 +0,0 @@
import javascript
from Module m, string name, DataFlow::Node exportValue
where exportValue = m.getAnExportedValue(name)
select m, name, exportValue

View File

@@ -0,0 +1,107 @@
amoModule_exports
| a.js:1:1:3:3 | <toplevel> | foo | a.js:2:19:2:20 | 42 |
| dir/b.js:1:1:3:3 | <toplevel> | bar | dir/b.js:2:10:2:11 | 42 |
| lib/a.js:1:1:3:3 | <toplevel> | foo | lib/a.js:2:19:2:20 | 42 |
| lib/foo.js:1:1:4:0 | <toplevel> | foo | lib/foo.js:2:10:2:11 | 23 |
| lib/nested/a.js:1:1:3:3 | <toplevel> | foo | lib/nested/a.js:2:19:2:20 | 42 |
| tst2.js:1:1:3:3 | <toplevel> | foo | tst2.js:2:19:2:20 | 42 |
| tst3.js:1:1:3:3 | <toplevel> | foo | tst3.js:2:43:2:44 | 42 |
| tst4.js:1:1:11:3 | <toplevel> | bar | tst4.js:9:14:9:18 | b.bar |
| tst4.js:1:1:11:3 | <toplevel> | foo | tst4.js:8:14:8:18 | a.foo |
| tst5.js:1:1:6:3 | <toplevel> | bar | tst5.js:4:14:4:16 | bar |
| tst5.js:1:1:6:3 | <toplevel> | foo | tst5.js:3:14:3:18 | a.foo |
| tst.js:1:1:6:3 | <toplevel> | bar | tst.js:4:14:4:18 | b.bar |
| tst.js:1:1:6:3 | <toplevel> | foo | tst.js:3:14:3:18 | a.foo |
| umd.js:1:1:14:4 | <toplevel> | bar | umd.js:11:14:11:18 | a.foo |
| umd.js:1:1:14:4 | <toplevel> | foo | umd.js:12:14:12:18 | b.bar |
amdModule
| a.js:1:1:3:3 | <toplevel> | a.js:1:1:3:2 | define( ... 2 };\\n}) |
| dir/b.js:1:1:3:3 | <toplevel> | dir/b.js:1:1:3:2 | define( ... : 42\\n}) |
| lib/a.js:1:1:3:3 | <toplevel> | lib/a.js:1:1:3:2 | define( ... 2 };\\n}) |
| lib/foo.js:1:1:4:0 | <toplevel> | lib/foo.js:1:1:3:2 | define( ... : 23\\n}) |
| lib/nested/a.js:1:1:3:3 | <toplevel> | lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) |
| tst2.js:1:1:3:3 | <toplevel> | tst2.js:1:1:3:2 | define( ... 42;\\n}) |
| tst3.js:1:1:3:3 | <toplevel> | tst3.js:1:1:3:2 | define( ... 42;\\n}) |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:1:1:11:2 | define( ... };\\n}) |
| tst5.js:1:1:6:3 | <toplevel> | tst5.js:1:1:6:2 | define( ... };\\n}) |
| tst.js:1:1:6:3 | <toplevel> | tst.js:1:1:6:2 | define( ... };\\n}) |
| umd.js:1:1:14:4 | <toplevel> | umd.js:4:9:4:43 | define( ... actory) |
getDependencyParameter
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | exports | tst2.js:1:30:1:36 | exports |
| tst4.js:1:1:11:2 | define( ... };\\n}) | a.js | tst4.js:6:20:6:20 | a |
| tst4.js:1:1:11:2 | define( ... };\\n}) | foo | tst4.js:6:23:6:23 | b |
| tst4.js:1:1:11:2 | define( ... };\\n}) | nested/a | tst4.js:6:26:6:32 | exports |
| tst5.js:1:1:6:2 | define( ... };\\n}) | ./a | tst5.js:1:37:1:37 | a |
| tst5.js:1:1:6:2 | define( ... };\\n}) | ./dir/b | tst5.js:1:40:1:44 | {bar} |
| tst.js:1:1:6:2 | define( ... };\\n}) | ./a | tst.js:1:37:1:37 | a |
| tst.js:1:1:6:2 | define( ... };\\n}) | ./dir/b | tst.js:1:40:1:40 | b |
| umd.js:4:9:4:43 | define( ... actory) | ./a | umd.js:9:19:9:19 | a |
| umd.js:4:9:4:43 | define( ... actory) | ./dir/b | umd.js:9:22:9:22 | b |
amdModuleDefinition
| a.js:1:1:3:2 | define( ... 2 };\\n}) | a.js:1:8:3:1 | functio ... 42 };\\n} |
| dir/b.js:1:1:3:2 | define( ... : 42\\n}) | dir/b.js:1:8:3:1 | {\\n bar: 42\\n} |
| lib/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/a.js:1:8:3:1 | functio ... 42 };\\n} |
| lib/foo.js:1:1:3:2 | define( ... : 23\\n}) | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} |
| lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/nested/a.js:1:8:3:1 | functio ... 42 };\\n} |
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | tst2.js:1:21:3:1 | functio ... = 42;\\n} |
| tst3.js:1:1:3:2 | define( ... 42;\\n}) | tst3.js:1:8:3:1 | functio ... = 42;\\n} |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:6:11:11:1 | functio ... };\\n} |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:1:28:6:1 | functio ... };\\n} |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:1:28:6:1 | functio ... };\\n} |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:9:9:14:1 | functio ... };\\n} |
amdModuleDependencies
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | tst2.js:1:9:1:17 | 'exports' |
| tst3.js:1:1:3:2 | define( ... 42;\\n}) | tst3.js:2:21:2:25 | './a' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:2:9:2:14 | 'a.js' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:3:9:3:13 | 'foo' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:4:9:4:18 | 'nested/a' |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:5:9:5:20 | 'lib/foo.js' |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:1:9:1:13 | './a' |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:1:16:1:24 | './dir/b' |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:1:9:1:13 | './a' |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:1:16:1:24 | './dir/b' |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:4:17:4:21 | './a' |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:4:24:4:32 | './dir/b' |
amdModuleExportedSymbol
| a.js:1:1:3:3 | <toplevel> | foo |
| dir/b.js:1:1:3:3 | <toplevel> | bar |
| lib/a.js:1:1:3:3 | <toplevel> | foo |
| lib/foo.js:1:1:4:0 | <toplevel> | foo |
| lib/nested/a.js:1:1:3:3 | <toplevel> | foo |
| tst2.js:1:1:3:3 | <toplevel> | foo |
| tst3.js:1:1:3:3 | <toplevel> | foo |
| tst4.js:1:1:11:3 | <toplevel> | bar |
| tst4.js:1:1:11:3 | <toplevel> | foo |
| tst5.js:1:1:6:3 | <toplevel> | bar |
| tst5.js:1:1:6:3 | <toplevel> | foo |
| tst.js:1:1:6:3 | <toplevel> | bar |
| tst.js:1:1:6:3 | <toplevel> | foo |
| umd.js:1:1:14:4 | <toplevel> | bar |
| umd.js:1:1:14:4 | <toplevel> | foo |
amdModuleExpr
| a.js:1:1:3:2 | define( ... 2 };\\n}) | a.js:2:12:2:22 | { foo: 42 } | a.js:2:12:2:22 | { foo: 42 } |
| dir/b.js:1:1:3:2 | define( ... : 42\\n}) | dir/b.js:1:8:3:1 | {\\n bar: 42\\n} | dir/b.js:1:8:3:1 | {\\n bar: 42\\n} |
| lib/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/a.js:2:12:2:22 | { foo: 42 } | lib/a.js:2:12:2:22 | { foo: 42 } |
| lib/foo.js:1:1:3:2 | define( ... : 23\\n}) | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} |
| lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/nested/a.js:2:12:2:22 | { foo: 42 } | lib/nested/a.js:2:12:2:22 | { foo: 42 } |
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:7:12:10:5 | {\\n ... r\\n } | tst4.js:7:12:10:5 | {\\n ... r\\n } |
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:2:12:5:5 | {\\n ... r\\n } | tst5.js:2:12:5:5 | {\\n ... r\\n } |
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:2:12:5:5 | {\\n ... r\\n } | tst.js:2:12:5:5 | {\\n ... r\\n } |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | umd.js:1:18:1:24 | factory |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | umd.js:9:9:14:1 | functio ... };\\n} |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | umd.js:10:12:13:5 | {\\n ... r\\n } |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:10:12:13:5 | {\\n ... r\\n } | umd.js:1:18:1:24 | factory |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:10:12:13:5 | {\\n ... r\\n } | umd.js:9:9:14:1 | functio ... };\\n} |
| umd.js:4:9:4:43 | define( ... actory) | umd.js:10:12:13:5 | {\\n ... r\\n } | umd.js:10:12:13:5 | {\\n ... r\\n } |
amdModuleImportedModule
| tst3.js:1:1:3:3 | <toplevel> | tst3.js:2:21:2:25 | './a' | a.js:1:1:3:3 | <toplevel> |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:3:9:3:13 | 'foo' | lib/foo.js:1:1:4:0 | <toplevel> |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:4:9:4:18 | 'nested/a' | lib/nested/a.js:1:1:3:3 | <toplevel> |
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:5:9:5:20 | 'lib/foo.js' | lib/foo.js:1:1:4:0 | <toplevel> |
| tst5.js:1:1:6:3 | <toplevel> | tst5.js:1:9:1:13 | './a' | a.js:1:1:3:3 | <toplevel> |
| tst5.js:1:1:6:3 | <toplevel> | tst5.js:1:16:1:24 | './dir/b' | dir/b.js:1:1:3:3 | <toplevel> |
| tst.js:1:1:6:3 | <toplevel> | tst.js:1:9:1:13 | './a' | a.js:1:1:3:3 | <toplevel> |
| tst.js:1:1:6:3 | <toplevel> | tst.js:1:16:1:24 | './dir/b' | dir/b.js:1:1:3:3 | <toplevel> |
| umd.js:1:1:14:4 | <toplevel> | umd.js:4:17:4:21 | './a' | a.js:1:1:3:3 | <toplevel> |
| umd.js:1:1:14:4 | <toplevel> | umd.js:4:24:4:32 | './dir/b' | dir/b.js:1:1:3:3 | <toplevel> |

View File

@@ -0,0 +1,31 @@
import javascript
query predicate amoModule_exports(Module m, string name, DataFlow::Node exportValue) {
exportValue = m.getAnExportedValue(name)
}
query predicate amdModule(AmdModule m, AmdModuleDefinition def) { m.getDefine() = def }
query Parameter getDependencyParameter(AmdModuleDefinition mod, string name) {
result = mod.getDependencyParameter(name)
}
query predicate amdModuleDefinition(AmdModuleDefinition mod, DataFlow::SourceNode factory) {
mod.getFactoryNode() = factory
}
query predicate amdModuleDependencies(AmdModuleDefinition mod, PathExpr dependency) {
dependency = mod.getADependency()
}
query predicate amdModuleExportedSymbol(AmdModule m, string sym) { sym = m.getAnExportedSymbol() }
query predicate amdModuleExpr(AmdModuleDefinition d, Expr expr, DataFlow::SourceNode modSrc) {
expr = d.getModuleExpr() and
modSrc = d.getAModuleSource()
}
query predicate amdModuleImportedModule(AmdModule m, Import i, Module imported) {
i = m.getAnImport() and
imported = i.getImportedModule()
}

View File

@@ -1,3 +0,0 @@
| tst2.js:3:14:3:14 | x | tst2.js:7:5:7:10 | this.x |
| tst2.js:3:14:3:14 | x | tst2.js:8:25:8:30 | this.x |
| tst2.js:3:14:3:14 | x | tst2.js:12:12:12:17 | this.x |

View File

@@ -1,5 +0,0 @@
import javascript
from DataFlow::Node pred, DataFlow::Node succ
where DataFlow::localFieldStep(pred, succ)
select pred, succ

View File

@@ -1,13 +0,0 @@
| fields.ts:12:16:12:32 | (x: string) => {} | Foo.m | method |
| namespace.js:5:32:5:44 | function() {} | Baz.method | method |
| tst2.js:6:9:9:3 | () {\\n ... .x;\\n } | C.method | method |
| tst2.js:11:13:13:3 | () {\\n ... .x;\\n } | C.getter | getter |
| tst2.js:18:14:18:22 | (x) => {} | D.f | method |
| tst.js:4:17:4:21 | () {} | A.instanceMethod | method |
| tst.js:7:6:7:10 | () {} | A.bar | method |
| tst.js:9:10:9:14 | () {} | A.baz | getter |
| tst.js:17:19:17:31 | function() {} | B.foo | method |
| tst.js:21:19:21:31 | function() {} | C.bar | method |
| tst.js:25:13:25:17 | () {} | D.getter | getter |
| tst.js:26:13:26:18 | (x) {} | D.setter | setter |
| tst.js:27:4:27:8 | () {} | D.m | method |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::ClassNode cls, string name, string kind
select cls.getInstanceMember(name, kind), cls.getName() + "." + name, kind

View File

@@ -1,9 +0,0 @@
| fields.ts:12:16:12:32 | (x: string) => {} | Foo.m |
| namespace.js:5:32:5:44 | function() {} | Baz.method |
| tst2.js:6:9:9:3 | () {\\n ... .x;\\n } | C.method |
| tst2.js:18:14:18:22 | (x) => {} | D.f |
| tst.js:4:17:4:21 | () {} | A.instanceMethod |
| tst.js:7:6:7:10 | () {} | A.bar |
| tst.js:17:19:17:31 | function() {} | B.foo |
| tst.js:21:19:21:31 | function() {} | C.bar |
| tst.js:27:4:27:8 | () {} | D.m |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::ClassNode cls, string name
select cls.getInstanceMethod(name), cls.getName() + "." + name

View File

@@ -1,4 +0,0 @@
| fields.ts:5:1:13:1 | class F ... > {};\\n} | Foo | fields.ts:1:1:3:1 | class B ... mber;\\n} | Base |
| tst.js:13:1:13:21 | class A ... ds A {} | A2 | tst.js:3:1:10:1 | class A ... () {}\\n} | A |
| tst.js:15:1:15:15 | function B() {} | B | tst.js:3:1:10:1 | class A ... () {}\\n} | A |
| tst.js:19:1:19:15 | function C() {} | C | tst.js:15:1:15:15 | function B() {} | B |

View File

@@ -1,5 +0,0 @@
import javascript
from DataFlow::ClassNode cls, DataFlow::ClassNode sup
where sup = cls.getADirectSuperClass()
select cls, cls.getName(), sup, sup.getName()

View File

@@ -1,21 +0,0 @@
| fields.ts:1:1:3:1 | class B ... mber;\\n} | fields.ts:1:12:1:11 | this |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | fields.ts:6:5:6:4 | this |
| namespace.js:3:15:3:31 | function Baz() {} | namespace.js:3:15:3:14 | this |
| namespace.js:3:15:3:31 | function Baz() {} | namespace.js:5:32:5:31 | this |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | tst2.js:2:14:2:13 | this |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | tst2.js:6:9:6:8 | this |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | tst2.js:11:13:11:12 | this |
| tst2.js:16:1:20:1 | class D ... ;\\n }\\n} | tst2.js:17:14:17:13 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:3:9:3:8 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:4:17:4:16 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:7:6:7:5 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:9:10:9:9 | this |
| tst.js:13:1:13:21 | class A ... ds A {} | tst.js:13:20:13:19 | this |
| tst.js:15:1:15:15 | function B() {} | tst.js:15:1:15:0 | this |
| tst.js:15:1:15:15 | function B() {} | tst.js:17:19:17:18 | this |
| tst.js:19:1:19:15 | function C() {} | tst.js:19:1:19:0 | this |
| tst.js:19:1:19:15 | function C() {} | tst.js:21:19:21:18 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:23:1:23:0 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:25:13:25:12 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:26:13:26:12 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:27:4:27:3 | this |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::ClassNode cls
select cls, cls.getAReceiverNode()

View File

@@ -1,4 +0,0 @@
| fields.ts:1:1:3:1 | class B ... mber;\\n} | baseField | fields.ts:2:16:2:21 | number |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | x | fields.ts:6:27:6:32 | number |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | y | fields.ts:6:46:6:51 | string |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | z | fields.ts:10:8:10:15 | string[] |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::ClassNode cls, string name
select cls, name, cls.getFieldTypeAnnotation(name)

View File

@@ -0,0 +1,60 @@
fieldStep
| tst2.js:3:14:3:14 | x | tst2.js:7:5:7:10 | this.x |
| tst2.js:3:14:3:14 | x | tst2.js:8:25:8:30 | this.x |
| tst2.js:3:14:3:14 | x | tst2.js:12:12:12:17 | this.x |
getAReceiverNode
| fields.ts:1:1:3:1 | class B ... mber;\\n} | fields.ts:1:12:1:11 | this |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | fields.ts:6:5:6:4 | this |
| namespace.js:3:15:3:31 | function Baz() {} | namespace.js:3:15:3:14 | this |
| namespace.js:3:15:3:31 | function Baz() {} | namespace.js:5:32:5:31 | this |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | tst2.js:2:14:2:13 | this |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | tst2.js:6:9:6:8 | this |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | tst2.js:11:13:11:12 | this |
| tst2.js:16:1:20:1 | class D ... ;\\n }\\n} | tst2.js:17:14:17:13 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:3:9:3:8 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:4:17:4:16 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:7:6:7:5 | this |
| tst.js:3:1:10:1 | class A ... () {}\\n} | tst.js:9:10:9:9 | this |
| tst.js:13:1:13:21 | class A ... ds A {} | tst.js:13:20:13:19 | this |
| tst.js:15:1:15:15 | function B() {} | tst.js:15:1:15:0 | this |
| tst.js:15:1:15:15 | function B() {} | tst.js:17:19:17:18 | this |
| tst.js:19:1:19:15 | function C() {} | tst.js:19:1:19:0 | this |
| tst.js:19:1:19:15 | function C() {} | tst.js:21:19:21:18 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:23:1:23:0 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:25:13:25:12 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:26:13:26:12 | this |
| tst.js:23:1:23:15 | function D() {} | tst.js:27:4:27:3 | this |
getFieldTypeAnnotation
| fields.ts:1:1:3:1 | class B ... mber;\\n} | baseField | fields.ts:2:16:2:21 | number |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | x | fields.ts:6:27:6:32 | number |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | y | fields.ts:6:46:6:51 | string |
| fields.ts:5:1:13:1 | class F ... > {};\\n} | z | fields.ts:10:8:10:15 | string[] |
instanceMember
| fields.ts:5:1:13:1 | class F ... > {};\\n} | m | method | fields.ts:12:16:12:32 | (x: string) => {} | Foo |
| namespace.js:3:15:3:31 | function Baz() {} | method | method | namespace.js:5:32:5:44 | function() {} | Baz |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | getter | getter | tst2.js:11:13:13:3 | () {\\n ... .x;\\n } | C |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | method | method | tst2.js:6:9:9:3 | () {\\n ... .x;\\n } | C |
| tst2.js:16:1:20:1 | class D ... ;\\n }\\n} | f | method | tst2.js:18:14:18:22 | (x) => {} | D |
| tst.js:3:1:10:1 | class A ... () {}\\n} | bar | method | tst.js:7:6:7:10 | () {} | A |
| tst.js:3:1:10:1 | class A ... () {}\\n} | baz | getter | tst.js:9:10:9:14 | () {} | A |
| tst.js:3:1:10:1 | class A ... () {}\\n} | instanceMethod | method | tst.js:4:17:4:21 | () {} | A |
| tst.js:15:1:15:15 | function B() {} | foo | method | tst.js:17:19:17:31 | function() {} | B |
| tst.js:19:1:19:15 | function C() {} | bar | method | tst.js:21:19:21:31 | function() {} | C |
| tst.js:23:1:23:15 | function D() {} | getter | getter | tst.js:25:13:25:17 | () {} | D |
| tst.js:23:1:23:15 | function D() {} | m | method | tst.js:27:4:27:8 | () {} | D |
| tst.js:23:1:23:15 | function D() {} | setter | setter | tst.js:26:13:26:18 | (x) {} | D |
instanceMethod
| fields.ts:5:1:13:1 | class F ... > {};\\n} | m | fields.ts:12:16:12:32 | (x: string) => {} | Foo |
| namespace.js:3:15:3:31 | function Baz() {} | method | namespace.js:5:32:5:44 | function() {} | Baz |
| tst2.js:1:1:14:1 | class C ... ;\\n }\\n} | method | tst2.js:6:9:9:3 | () {\\n ... .x;\\n } | C |
| tst2.js:16:1:20:1 | class D ... ;\\n }\\n} | f | tst2.js:18:14:18:22 | (x) => {} | D |
| tst.js:3:1:10:1 | class A ... () {}\\n} | bar | tst.js:7:6:7:10 | () {} | A |
| tst.js:3:1:10:1 | class A ... () {}\\n} | instanceMethod | tst.js:4:17:4:21 | () {} | A |
| tst.js:15:1:15:15 | function B() {} | foo | tst.js:17:19:17:31 | function() {} | B |
| tst.js:19:1:19:15 | function C() {} | bar | tst.js:21:19:21:31 | function() {} | C |
| tst.js:23:1:23:15 | function D() {} | m | tst.js:27:4:27:8 | () {} | D |
superClass
| fields.ts:5:1:13:1 | class F ... > {};\\n} | fields.ts:1:1:3:1 | class B ... mber;\\n} | Foo | Base |
| tst.js:13:1:13:21 | class A ... ds A {} | tst.js:3:1:10:1 | class A ... () {}\\n} | A2 | A |
| tst.js:15:1:15:15 | function B() {} | tst.js:3:1:10:1 | class A ... () {}\\n} | B | A |
| tst.js:19:1:19:15 | function C() {} | tst.js:15:1:15:15 | function B() {} | C | B |

View File

@@ -0,0 +1,33 @@
import javascript
query predicate fieldStep(DataFlow::Node pred, DataFlow::Node succ) {
DataFlow::localFieldStep(pred, succ)
}
query predicate getAReceiverNode(DataFlow::ClassNode cls, DataFlow::SourceNode recv) {
cls.getAReceiverNode() = recv
}
query predicate getFieldTypeAnnotation(DataFlow::ClassNode cls, string name, TypeAnnotation ann) {
ann = cls.getFieldTypeAnnotation(name)
}
query predicate instanceMember(
DataFlow::ClassNode cls, string name, string kind, DataFlow::FunctionNode inst, string clsName
) {
cls.getInstanceMember(name, kind) = inst and clsName = cls.getName()
}
query predicate instanceMethod(
DataFlow::ClassNode cls, string name, DataFlow::FunctionNode inst, string clsName
) {
cls.getInstanceMethod(name) = inst and clsName = cls.getName()
}
query predicate superClass(
DataFlow::ClassNode cls, DataFlow::ClassNode sup, string clsName, string supName
) {
sup = cls.getADirectSuperClass() and
clsName = cls.getName() and
supName = sup.getName()
}

View File

@@ -1,22 +0,0 @@
| tests/importFromEs6.js:9:1:9:15 | es6Module.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} | 0 |
| tests/importFromEs6.js:10:1:10:18 | es6ModuleDefault() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} | 0 |
| tests/importFromEs6.js:12:1:12:16 | googModule.fun() | tests/googModule.js:4:6:4:10 | () {} | 0 |
| tests/importFromEs6.js:13:1:13:19 | googModuleDefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} | 0 |
| tests/requireFromEs6.js:12:1:12:18 | globalModule.fun() | tests/globalModule.js:4:6:4:10 | () {} | 0 |
| tests/requireFromEs6.js:13:1:13:21 | globalM ... fault() | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} | 0 |
| tests/requireFromEs6.js:15:1:15:15 | es6Module.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} | 0 |
| tests/requireFromEs6.js:16:1:16:18 | es6ModuleDefault() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} | 0 |
| tests/requireFromEs6.js:18:1:18:16 | googModule.fun() | tests/googModule.js:4:6:4:10 | () {} | 0 |
| tests/requireFromEs6.js:19:1:19:19 | googModuleDefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} | 0 |
| tests/requireFromGlobalModule.js:10:1:10:18 | x.y.z.global.fun() | tests/globalModule.js:4:6:4:10 | () {} | 0 |
| tests/requireFromGlobalModule.js:11:1:11:21 | x.y.z.g ... fault() | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} | 0 |
| tests/requireFromGlobalModule.js:13:1:13:16 | x.y.z.goog.fun() | tests/googModule.js:4:6:4:10 | () {} | 0 |
| tests/requireFromGlobalModule.js:14:1:14:19 | x.y.z.googdefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} | 0 |
| tests/requireFromGlobalModule.js:16:1:16:15 | x.y.z.es6.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} | 0 |
| tests/requireFromGlobalModule.js:17:1:17:18 | x.y.z.es6default() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} | 0 |
| tests/requireFromGoogModule.js:12:1:12:18 | globalModule.fun() | tests/globalModule.js:4:6:4:10 | () {} | 0 |
| tests/requireFromGoogModule.js:13:1:13:21 | globalM ... fault() | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} | 0 |
| tests/requireFromGoogModule.js:15:1:15:15 | es6Module.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} | 0 |
| tests/requireFromGoogModule.js:16:1:16:18 | es6ModuleDefault() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} | 0 |
| tests/requireFromGoogModule.js:18:1:18:16 | googModule.fun() | tests/googModule.js:4:6:4:10 | () {} | 0 |
| tests/requireFromGoogModule.js:19:1:19:19 | googModuleDefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} | 0 |

View File

@@ -1,6 +0,0 @@
import javascript
import semmle.javascript.dataflow.internal.FlowSteps
from DataFlow::InvokeNode node, Function callee
where calls(node, callee)
select node, callee, 0

View File

@@ -1 +0,0 @@
| tests/nestedAccess.js:5:1:5:12 | fooBar.x.y.z |

View File

@@ -1,3 +0,0 @@
import javascript
select Closure::moduleImport("foo.bar.x.y.z")

View File

@@ -1,4 +0,0 @@
| tests/es6Module.js:0:0:0:0 | tests/es6Module.js |
| tests/es6ModuleDefault.js:0:0:0:0 | tests/es6ModuleDefault.js |
| tests/importFromEs6.js:0:0:0:0 | tests/importFromEs6.js |
| tests/requireFromEs6.js:0:0:0:0 | tests/requireFromEs6.js |

View File

@@ -1,5 +0,0 @@
import javascript
from TopLevel tl
where tl.isStrict()
select tl.getFile()

View File

@@ -1 +0,0 @@
| tests/uri.js:5:5:5:11 | net.Uri |

View File

@@ -1,3 +0,0 @@
import javascript
select Closure::moduleImport("goog.net.Uri")

View File

@@ -1,124 +0,0 @@
| foo.bar | tests/nestedAccess.js:3:14:3:36 | goog.re ... o.bar') |
| foo.bar.x | tests/nestedAccess.js:5:1:5:8 | fooBar.x |
| foo.bar.x.y | tests/nestedAccess.js:5:1:5:10 | fooBar.x.y |
| foo.bar.x.y.z | tests/nestedAccess.js:5:1:5:12 | fooBar.x.y.z |
| goog | tests/es6Module.js:1:1:1:4 | goog |
| goog | tests/es6ModuleDefault.js:1:1:1:4 | goog |
| goog | tests/globalModule.js:1:1:1:4 | goog |
| goog | tests/globalModuleDefault.js:1:1:1:4 | goog |
| goog | tests/googModule.js:1:1:1:4 | goog |
| goog | tests/googModuleDefault.js:1:1:1:4 | goog |
| goog | tests/nestedAccess.js:1:1:1:4 | goog |
| goog | tests/nestedAccess.js:3:14:3:17 | goog |
| goog | tests/requireFromEs6.js:3:20:3:23 | goog |
| goog | tests/requireFromEs6.js:4:27:4:30 | goog |
| goog | tests/requireFromEs6.js:6:17:6:20 | goog |
| goog | tests/requireFromEs6.js:7:24:7:27 | goog |
| goog | tests/requireFromEs6.js:9:18:9:21 | goog |
| goog | tests/requireFromEs6.js:10:25:10:28 | goog |
| goog | tests/requireFromGlobalModule.js:1:1:1:4 | goog |
| goog | tests/requireFromGlobalModule.js:2:1:2:4 | goog |
| goog | tests/requireFromGlobalModule.js:4:1:4:4 | goog |
| goog | tests/requireFromGlobalModule.js:5:1:5:4 | goog |
| goog | tests/requireFromGlobalModule.js:7:1:7:4 | goog |
| goog | tests/requireFromGlobalModule.js:8:1:8:4 | goog |
| goog | tests/requireFromGoogModule.js:1:1:1:4 | goog |
| goog | tests/requireFromGoogModule.js:3:20:3:23 | goog |
| goog | tests/requireFromGoogModule.js:4:27:4:30 | goog |
| goog | tests/requireFromGoogModule.js:6:17:6:20 | goog |
| goog | tests/requireFromGoogModule.js:7:24:7:27 | goog |
| goog | tests/requireFromGoogModule.js:9:18:9:21 | goog |
| goog | tests/requireFromGoogModule.js:10:25:10:28 | goog |
| goog | tests/uri.js:1:1:1:4 | goog |
| goog | tests/uri.js:3:11:3:14 | goog |
| goog.declareModuleId | tests/es6Module.js:1:1:1:20 | goog.declareModuleId |
| goog.declareModuleId | tests/es6ModuleDefault.js:1:1:1:20 | goog.declareModuleId |
| goog.module | tests/googModule.js:1:1:1:11 | goog.module |
| goog.module | tests/googModuleDefault.js:1:1:1:11 | goog.module |
| goog.module | tests/nestedAccess.js:1:1:1:11 | goog.module |
| goog.module | tests/requireFromGoogModule.js:1:1:1:11 | goog.module |
| goog.module | tests/uri.js:1:1:1:11 | goog.module |
| goog.net | tests/uri.js:3:11:3:34 | goog.re ... g.net') |
| goog.net.Uri | tests/uri.js:5:5:5:11 | net.Uri |
| goog.provide | tests/globalModule.js:1:1:1:12 | goog.provide |
| goog.provide | tests/globalModuleDefault.js:1:1:1:12 | goog.provide |
| goog.require | tests/nestedAccess.js:3:14:3:25 | goog.require |
| goog.require | tests/requireFromEs6.js:3:20:3:31 | goog.require |
| goog.require | tests/requireFromEs6.js:4:27:4:38 | goog.require |
| goog.require | tests/requireFromEs6.js:6:17:6:28 | goog.require |
| goog.require | tests/requireFromEs6.js:7:24:7:35 | goog.require |
| goog.require | tests/requireFromEs6.js:9:18:9:29 | goog.require |
| goog.require | tests/requireFromEs6.js:10:25:10:36 | goog.require |
| goog.require | tests/requireFromGlobalModule.js:1:1:1:12 | goog.require |
| goog.require | tests/requireFromGlobalModule.js:2:1:2:12 | goog.require |
| goog.require | tests/requireFromGlobalModule.js:4:1:4:12 | goog.require |
| goog.require | tests/requireFromGlobalModule.js:5:1:5:12 | goog.require |
| goog.require | tests/requireFromGlobalModule.js:7:1:7:12 | goog.require |
| goog.require | tests/requireFromGlobalModule.js:8:1:8:12 | goog.require |
| goog.require | tests/requireFromGoogModule.js:3:20:3:31 | goog.require |
| goog.require | tests/requireFromGoogModule.js:4:27:4:38 | goog.require |
| goog.require | tests/requireFromGoogModule.js:6:17:6:28 | goog.require |
| goog.require | tests/requireFromGoogModule.js:7:24:7:35 | goog.require |
| goog.require | tests/requireFromGoogModule.js:9:18:9:29 | goog.require |
| goog.require | tests/requireFromGoogModule.js:10:25:10:36 | goog.require |
| goog.require | tests/uri.js:3:11:3:22 | goog.require |
| x | tests/globalModule.js:3:1:3:1 | x |
| x | tests/globalModuleDefault.js:3:1:3:1 | x |
| x | tests/requireFromGlobalModule.js:10:1:10:1 | x |
| x | tests/requireFromGlobalModule.js:11:1:11:1 | x |
| x | tests/requireFromGlobalModule.js:13:1:13:1 | x |
| x | tests/requireFromGlobalModule.js:14:1:14:1 | x |
| x | tests/requireFromGlobalModule.js:16:1:16:1 | x |
| x | tests/requireFromGlobalModule.js:17:1:17:1 | x |
| x.y | tests/globalModule.js:3:1:3:3 | x.y |
| x.y | tests/globalModuleDefault.js:3:1:3:3 | x.y |
| x.y | tests/requireFromGlobalModule.js:10:1:10:3 | x.y |
| x.y | tests/requireFromGlobalModule.js:11:1:11:3 | x.y |
| x.y | tests/requireFromGlobalModule.js:13:1:13:3 | x.y |
| x.y | tests/requireFromGlobalModule.js:14:1:14:3 | x.y |
| x.y | tests/requireFromGlobalModule.js:16:1:16:3 | x.y |
| x.y | tests/requireFromGlobalModule.js:17:1:17:3 | x.y |
| x.y.z | tests/globalModule.js:3:1:3:5 | x.y.z |
| x.y.z | tests/globalModuleDefault.js:3:1:3:5 | x.y.z |
| x.y.z | tests/requireFromGlobalModule.js:10:1:10:5 | x.y.z |
| x.y.z | tests/requireFromGlobalModule.js:11:1:11:5 | x.y.z |
| x.y.z | tests/requireFromGlobalModule.js:13:1:13:5 | x.y.z |
| x.y.z | tests/requireFromGlobalModule.js:14:1:14:5 | x.y.z |
| x.y.z | tests/requireFromGlobalModule.js:16:1:16:5 | x.y.z |
| x.y.z | tests/requireFromGlobalModule.js:17:1:17:5 | x.y.z |
| x.y.z.es6 | tests/requireFromEs6.js:6:17:6:41 | goog.re ... z.es6') |
| x.y.z.es6 | tests/requireFromGlobalModule.js:7:1:7:25 | goog.re ... z.es6') |
| x.y.z.es6 | tests/requireFromGlobalModule.js:16:1:16:9 | x.y.z.es6 |
| x.y.z.es6 | tests/requireFromGoogModule.js:6:17:6:41 | goog.re ... z.es6') |
| x.y.z.es6.fun | tests/requireFromEs6.js:15:1:15:13 | es6Module.fun |
| x.y.z.es6.fun | tests/requireFromGlobalModule.js:16:1:16:13 | x.y.z.es6.fun |
| x.y.z.es6.fun | tests/requireFromGoogModule.js:15:1:15:13 | es6Module.fun |
| x.y.z.es6default | tests/requireFromEs6.js:7:24:7:55 | goog.re ... fault') |
| x.y.z.es6default | tests/requireFromGlobalModule.js:8:1:8:32 | goog.re ... fault') |
| x.y.z.es6default | tests/requireFromGlobalModule.js:17:1:17:16 | x.y.z.es6default |
| x.y.z.es6default | tests/requireFromGoogModule.js:7:24:7:55 | goog.re ... fault') |
| x.y.z.global | tests/globalModule.js:3:16:5:1 | {\\n fun() {}\\n} |
| x.y.z.global | tests/requireFromEs6.js:3:20:3:47 | goog.re ... lobal') |
| x.y.z.global | tests/requireFromGlobalModule.js:1:1:1:28 | goog.re ... lobal') |
| x.y.z.global | tests/requireFromGlobalModule.js:10:1:10:12 | x.y.z.global |
| x.y.z.global | tests/requireFromGoogModule.js:3:20:3:47 | goog.re ... lobal') |
| x.y.z.global.fun | tests/globalModule.js:4:6:4:10 | () {} |
| x.y.z.global.fun | tests/requireFromEs6.js:12:1:12:16 | globalModule.fun |
| x.y.z.global.fun | tests/requireFromGlobalModule.js:10:1:10:16 | x.y.z.global.fun |
| x.y.z.global.fun | tests/requireFromGoogModule.js:12:1:12:16 | globalModule.fun |
| x.y.z.globaldefault | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} |
| x.y.z.globaldefault | tests/requireFromEs6.js:4:27:4:61 | goog.re ... fault') |
| x.y.z.globaldefault | tests/requireFromGlobalModule.js:2:1:2:35 | goog.re ... fault') |
| x.y.z.globaldefault | tests/requireFromGlobalModule.js:11:1:11:19 | x.y.z.globaldefault |
| x.y.z.globaldefault | tests/requireFromGoogModule.js:4:27:4:61 | goog.re ... fault') |
| x.y.z.goog | tests/requireFromEs6.js:9:18:9:43 | goog.re ... .goog') |
| x.y.z.goog | tests/requireFromGlobalModule.js:4:1:4:26 | goog.re ... .goog') |
| x.y.z.goog | tests/requireFromGlobalModule.js:13:1:13:10 | x.y.z.goog |
| x.y.z.goog | tests/requireFromGoogModule.js:9:18:9:43 | goog.re ... .goog') |
| x.y.z.goog.fun | tests/requireFromEs6.js:18:1:18:14 | googModule.fun |
| x.y.z.goog.fun | tests/requireFromGlobalModule.js:13:1:13:14 | x.y.z.goog.fun |
| x.y.z.goog.fun | tests/requireFromGoogModule.js:18:1:18:14 | googModule.fun |
| x.y.z.googdefault | tests/requireFromEs6.js:10:25:10:57 | goog.re ... fault') |
| x.y.z.googdefault | tests/requireFromGlobalModule.js:5:1:5:33 | goog.re ... fault') |
| x.y.z.googdefault | tests/requireFromGlobalModule.js:14:1:14:17 | x.y.z.googdefault |
| x.y.z.googdefault | tests/requireFromGoogModule.js:10:25:10:57 | goog.re ... fault') |

View File

@@ -1,4 +0,0 @@
import javascript
from string name
select name, Closure::moduleImport(name)

View File

@@ -0,0 +1,157 @@
callGraph
| tests/importFromEs6.js:9:1:9:15 | es6Module.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} |
| tests/importFromEs6.js:10:1:10:18 | es6ModuleDefault() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} |
| tests/importFromEs6.js:12:1:12:16 | googModule.fun() | tests/googModule.js:4:6:4:10 | () {} |
| tests/importFromEs6.js:13:1:13:19 | googModuleDefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} |
| tests/requireFromEs6.js:12:1:12:18 | globalModule.fun() | tests/globalModule.js:4:6:4:10 | () {} |
| tests/requireFromEs6.js:13:1:13:21 | globalM ... fault() | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} |
| tests/requireFromEs6.js:15:1:15:15 | es6Module.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} |
| tests/requireFromEs6.js:16:1:16:18 | es6ModuleDefault() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} |
| tests/requireFromEs6.js:18:1:18:16 | googModule.fun() | tests/googModule.js:4:6:4:10 | () {} |
| tests/requireFromEs6.js:19:1:19:19 | googModuleDefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} |
| tests/requireFromGlobalModule.js:10:1:10:18 | x.y.z.global.fun() | tests/globalModule.js:4:6:4:10 | () {} |
| tests/requireFromGlobalModule.js:11:1:11:21 | x.y.z.g ... fault() | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} |
| tests/requireFromGlobalModule.js:13:1:13:16 | x.y.z.goog.fun() | tests/googModule.js:4:6:4:10 | () {} |
| tests/requireFromGlobalModule.js:14:1:14:19 | x.y.z.googdefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} |
| tests/requireFromGlobalModule.js:16:1:16:15 | x.y.z.es6.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} |
| tests/requireFromGlobalModule.js:17:1:17:18 | x.y.z.es6default() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} |
| tests/requireFromGoogModule.js:12:1:12:18 | globalModule.fun() | tests/globalModule.js:4:6:4:10 | () {} |
| tests/requireFromGoogModule.js:13:1:13:21 | globalM ... fault() | tests/globalModuleDefault.js:3:23:3:39 | function fun() {} |
| tests/requireFromGoogModule.js:15:1:15:15 | es6Module.fun() | tests/es6Module.js:3:8:3:24 | function fun() {} |
| tests/requireFromGoogModule.js:16:1:16:18 | es6ModuleDefault() | tests/es6ModuleDefault.js:3:16:3:28 | function() {} |
| tests/requireFromGoogModule.js:18:1:18:16 | googModule.fun() | tests/googModule.js:4:6:4:10 | () {} |
| tests/requireFromGoogModule.js:19:1:19:19 | googModuleDefault() | tests/googModuleDefault.js:3:11:3:27 | function fun() {} |
moduleImport
| tests/es6Module.js:1:1:1:4 | goog | goog |
| tests/es6Module.js:1:1:1:20 | goog.declareModuleId | goog.declareModuleId |
| tests/es6ModuleDefault.js:1:1:1:4 | goog | goog |
| tests/es6ModuleDefault.js:1:1:1:20 | goog.declareModuleId | goog.declareModuleId |
| tests/globalModule.js:1:1:1:4 | goog | goog |
| tests/globalModule.js:1:1:1:12 | goog.provide | goog.provide |
| tests/globalModule.js:3:1:3:1 | x | x |
| tests/globalModule.js:3:1:3:3 | x.y | x.y |
| tests/globalModule.js:3:1:3:5 | x.y.z | x.y.z |
| tests/globalModule.js:3:16:5:1 | {\\n fun() {}\\n} | x.y.z.global |
| tests/globalModule.js:4:6:4:10 | () {} | x.y.z.global.fun |
| tests/globalModuleDefault.js:1:1:1:4 | goog | goog |
| tests/globalModuleDefault.js:1:1:1:12 | goog.provide | goog.provide |
| tests/globalModuleDefault.js:3:1:3:1 | x | x |
| tests/globalModuleDefault.js:3:1:3:3 | x.y | x.y |
| tests/globalModuleDefault.js:3:1:3:5 | x.y.z | x.y.z |
| tests/globalModuleDefault.js:3:23:3:39 | function fun() {} | x.y.z.globaldefault |
| tests/googModule.js:1:1:1:4 | goog | goog |
| tests/googModule.js:1:1:1:11 | goog.module | goog.module |
| tests/googModuleDefault.js:1:1:1:4 | goog | goog |
| tests/googModuleDefault.js:1:1:1:11 | goog.module | goog.module |
| tests/nestedAccess.js:1:1:1:4 | goog | goog |
| tests/nestedAccess.js:1:1:1:11 | goog.module | goog.module |
| tests/nestedAccess.js:3:14:3:17 | goog | goog |
| tests/nestedAccess.js:3:14:3:25 | goog.require | goog.require |
| tests/nestedAccess.js:3:14:3:36 | goog.re ... o.bar') | foo.bar |
| tests/nestedAccess.js:5:1:5:8 | fooBar.x | foo.bar.x |
| tests/nestedAccess.js:5:1:5:10 | fooBar.x.y | foo.bar.x.y |
| tests/nestedAccess.js:5:1:5:12 | fooBar.x.y.z | foo.bar.x.y.z |
| tests/requireFromEs6.js:3:20:3:23 | goog | goog |
| tests/requireFromEs6.js:3:20:3:31 | goog.require | goog.require |
| tests/requireFromEs6.js:3:20:3:47 | goog.re ... lobal') | x.y.z.global |
| tests/requireFromEs6.js:4:27:4:30 | goog | goog |
| tests/requireFromEs6.js:4:27:4:38 | goog.require | goog.require |
| tests/requireFromEs6.js:4:27:4:61 | goog.re ... fault') | x.y.z.globaldefault |
| tests/requireFromEs6.js:6:17:6:20 | goog | goog |
| tests/requireFromEs6.js:6:17:6:28 | goog.require | goog.require |
| tests/requireFromEs6.js:6:17:6:41 | goog.re ... z.es6') | x.y.z.es6 |
| tests/requireFromEs6.js:7:24:7:27 | goog | goog |
| tests/requireFromEs6.js:7:24:7:35 | goog.require | goog.require |
| tests/requireFromEs6.js:7:24:7:55 | goog.re ... fault') | x.y.z.es6default |
| tests/requireFromEs6.js:9:18:9:21 | goog | goog |
| tests/requireFromEs6.js:9:18:9:29 | goog.require | goog.require |
| tests/requireFromEs6.js:9:18:9:43 | goog.re ... .goog') | x.y.z.goog |
| tests/requireFromEs6.js:10:25:10:28 | goog | goog |
| tests/requireFromEs6.js:10:25:10:36 | goog.require | goog.require |
| tests/requireFromEs6.js:10:25:10:57 | goog.re ... fault') | x.y.z.googdefault |
| tests/requireFromEs6.js:12:1:12:16 | globalModule.fun | x.y.z.global.fun |
| tests/requireFromEs6.js:15:1:15:13 | es6Module.fun | x.y.z.es6.fun |
| tests/requireFromEs6.js:18:1:18:14 | googModule.fun | x.y.z.goog.fun |
| tests/requireFromGlobalModule.js:1:1:1:4 | goog | goog |
| tests/requireFromGlobalModule.js:1:1:1:12 | goog.require | goog.require |
| tests/requireFromGlobalModule.js:1:1:1:28 | goog.re ... lobal') | x.y.z.global |
| tests/requireFromGlobalModule.js:2:1:2:4 | goog | goog |
| tests/requireFromGlobalModule.js:2:1:2:12 | goog.require | goog.require |
| tests/requireFromGlobalModule.js:2:1:2:35 | goog.re ... fault') | x.y.z.globaldefault |
| tests/requireFromGlobalModule.js:4:1:4:4 | goog | goog |
| tests/requireFromGlobalModule.js:4:1:4:12 | goog.require | goog.require |
| tests/requireFromGlobalModule.js:4:1:4:26 | goog.re ... .goog') | x.y.z.goog |
| tests/requireFromGlobalModule.js:5:1:5:4 | goog | goog |
| tests/requireFromGlobalModule.js:5:1:5:12 | goog.require | goog.require |
| tests/requireFromGlobalModule.js:5:1:5:33 | goog.re ... fault') | x.y.z.googdefault |
| tests/requireFromGlobalModule.js:7:1:7:4 | goog | goog |
| tests/requireFromGlobalModule.js:7:1:7:12 | goog.require | goog.require |
| tests/requireFromGlobalModule.js:7:1:7:25 | goog.re ... z.es6') | x.y.z.es6 |
| tests/requireFromGlobalModule.js:8:1:8:4 | goog | goog |
| tests/requireFromGlobalModule.js:8:1:8:12 | goog.require | goog.require |
| tests/requireFromGlobalModule.js:8:1:8:32 | goog.re ... fault') | x.y.z.es6default |
| tests/requireFromGlobalModule.js:10:1:10:1 | x | x |
| tests/requireFromGlobalModule.js:10:1:10:3 | x.y | x.y |
| tests/requireFromGlobalModule.js:10:1:10:5 | x.y.z | x.y.z |
| tests/requireFromGlobalModule.js:10:1:10:12 | x.y.z.global | x.y.z.global |
| tests/requireFromGlobalModule.js:10:1:10:16 | x.y.z.global.fun | x.y.z.global.fun |
| tests/requireFromGlobalModule.js:11:1:11:1 | x | x |
| tests/requireFromGlobalModule.js:11:1:11:3 | x.y | x.y |
| tests/requireFromGlobalModule.js:11:1:11:5 | x.y.z | x.y.z |
| tests/requireFromGlobalModule.js:11:1:11:19 | x.y.z.globaldefault | x.y.z.globaldefault |
| tests/requireFromGlobalModule.js:13:1:13:1 | x | x |
| tests/requireFromGlobalModule.js:13:1:13:3 | x.y | x.y |
| tests/requireFromGlobalModule.js:13:1:13:5 | x.y.z | x.y.z |
| tests/requireFromGlobalModule.js:13:1:13:10 | x.y.z.goog | x.y.z.goog |
| tests/requireFromGlobalModule.js:13:1:13:14 | x.y.z.goog.fun | x.y.z.goog.fun |
| tests/requireFromGlobalModule.js:14:1:14:1 | x | x |
| tests/requireFromGlobalModule.js:14:1:14:3 | x.y | x.y |
| tests/requireFromGlobalModule.js:14:1:14:5 | x.y.z | x.y.z |
| tests/requireFromGlobalModule.js:14:1:14:17 | x.y.z.googdefault | x.y.z.googdefault |
| tests/requireFromGlobalModule.js:16:1:16:1 | x | x |
| tests/requireFromGlobalModule.js:16:1:16:3 | x.y | x.y |
| tests/requireFromGlobalModule.js:16:1:16:5 | x.y.z | x.y.z |
| tests/requireFromGlobalModule.js:16:1:16:9 | x.y.z.es6 | x.y.z.es6 |
| tests/requireFromGlobalModule.js:16:1:16:13 | x.y.z.es6.fun | x.y.z.es6.fun |
| tests/requireFromGlobalModule.js:17:1:17:1 | x | x |
| tests/requireFromGlobalModule.js:17:1:17:3 | x.y | x.y |
| tests/requireFromGlobalModule.js:17:1:17:5 | x.y.z | x.y.z |
| tests/requireFromGlobalModule.js:17:1:17:16 | x.y.z.es6default | x.y.z.es6default |
| tests/requireFromGoogModule.js:1:1:1:4 | goog | goog |
| tests/requireFromGoogModule.js:1:1:1:11 | goog.module | goog.module |
| tests/requireFromGoogModule.js:3:20:3:23 | goog | goog |
| tests/requireFromGoogModule.js:3:20:3:31 | goog.require | goog.require |
| tests/requireFromGoogModule.js:3:20:3:47 | goog.re ... lobal') | x.y.z.global |
| tests/requireFromGoogModule.js:4:27:4:30 | goog | goog |
| tests/requireFromGoogModule.js:4:27:4:38 | goog.require | goog.require |
| tests/requireFromGoogModule.js:4:27:4:61 | goog.re ... fault') | x.y.z.globaldefault |
| tests/requireFromGoogModule.js:6:17:6:20 | goog | goog |
| tests/requireFromGoogModule.js:6:17:6:28 | goog.require | goog.require |
| tests/requireFromGoogModule.js:6:17:6:41 | goog.re ... z.es6') | x.y.z.es6 |
| tests/requireFromGoogModule.js:7:24:7:27 | goog | goog |
| tests/requireFromGoogModule.js:7:24:7:35 | goog.require | goog.require |
| tests/requireFromGoogModule.js:7:24:7:55 | goog.re ... fault') | x.y.z.es6default |
| tests/requireFromGoogModule.js:9:18:9:21 | goog | goog |
| tests/requireFromGoogModule.js:9:18:9:29 | goog.require | goog.require |
| tests/requireFromGoogModule.js:9:18:9:43 | goog.re ... .goog') | x.y.z.goog |
| tests/requireFromGoogModule.js:10:25:10:28 | goog | goog |
| tests/requireFromGoogModule.js:10:25:10:36 | goog.require | goog.require |
| tests/requireFromGoogModule.js:10:25:10:57 | goog.re ... fault') | x.y.z.googdefault |
| tests/requireFromGoogModule.js:12:1:12:16 | globalModule.fun | x.y.z.global.fun |
| tests/requireFromGoogModule.js:15:1:15:13 | es6Module.fun | x.y.z.es6.fun |
| tests/requireFromGoogModule.js:18:1:18:14 | googModule.fun | x.y.z.goog.fun |
| tests/uri.js:1:1:1:4 | goog | goog |
| tests/uri.js:1:1:1:11 | goog.module | goog.module |
| tests/uri.js:3:11:3:14 | goog | goog |
| tests/uri.js:3:11:3:22 | goog.require | goog.require |
| tests/uri.js:3:11:3:34 | goog.re ... g.net') | goog.net |
| tests/uri.js:5:5:5:11 | net.Uri | goog.net.Uri |
nestedAccess
| tests/nestedAccess.js:5:1:5:12 | fooBar.x.y.z |
strictMode
| tests/es6Module.js:1:1:4:0 | <toplevel> | tests/es6Module.js:0:0:0:0 | tests/es6Module.js |
| tests/es6ModuleDefault.js:1:1:4:0 | <toplevel> | tests/es6ModuleDefault.js:0:0:0:0 | tests/es6ModuleDefault.js |
| tests/importFromEs6.js:1:1:14:0 | <toplevel> | tests/importFromEs6.js:0:0:0:0 | tests/importFromEs6.js |
| tests/requireFromEs6.js:1:1:20:0 | <toplevel> | tests/requireFromEs6.js:0:0:0:0 | tests/requireFromEs6.js |
uri
| tests/uri.js:5:5:5:11 | net.Uri |

View File

@@ -0,0 +1,18 @@
import javascript
import semmle.javascript.dataflow.internal.FlowSteps as FlowSteps
query predicate callGraph(DataFlow::InvokeNode node, Function callee) {
FlowSteps::calls(node, callee)
}
query predicate moduleImport(DataFlow::SourceNode imp, string name) {
imp = Closure::moduleImport(name)
}
query predicate nestedAccess(DataFlow::SourceNode imp) {
imp = Closure::moduleImport("foo.bar.x.y.z")
}
query predicate strictMode(TopLevel tl, File file) { tl.isStrict() and file = tl.getFile() }
query predicate uri(DataFlow::SourceNode imp) { imp = Closure::moduleImport("goog.net.Uri") }

View File

@@ -1,10 +0,0 @@
| comprehensions.js:2:2:2:20 | for (year of years) | comprehensions.js:2:7:2:10 | year | comprehensions.js:2:15:2:19 | years |
| comprehensions.js:4:2:4:19 | for (i of numbers) | comprehensions.js:4:7:4:7 | i | comprehensions.js:4:12:4:18 | numbers |
| comprehensions.js:4:21:4:38 | for (j of letters) | comprehensions.js:4:26:4:26 | j | comprehensions.js:4:31:4:37 | letters |
| comprehensions.js:5:2:5:19 | for (i of numbers) | comprehensions.js:5:7:5:7 | i | comprehensions.js:5:12:5:18 | numbers |
| comprehensions.js:5:21:5:38 | for (j of letters) | comprehensions.js:5:26:5:26 | j | comprehensions.js:5:31:5:37 | letters |
| comprehensions.js:7:2:7:20 | for (year of years) | comprehensions.js:7:7:7:10 | year | comprehensions.js:7:15:7:19 | years |
| comprehensions.js:9:2:9:19 | for (i of numbers) | comprehensions.js:9:7:9:7 | i | comprehensions.js:9:12:9:18 | numbers |
| comprehensions.js:9:21:9:38 | for (j of letters) | comprehensions.js:9:26:9:26 | j | comprehensions.js:9:31:9:37 | letters |
| comprehensions.js:10:2:10:19 | for (i of numbers) | comprehensions.js:10:7:10:7 | i | comprehensions.js:10:12:10:18 | numbers |
| comprehensions.js:10:21:10:38 | for (j of letters) | comprehensions.js:10:26:10:26 | j | comprehensions.js:10:31:10:37 | letters |

View File

@@ -1,4 +0,0 @@
import javascript
from ComprehensionBlock cb
select cb, cb.getIterator(), cb.getDomain()

View File

@@ -1,6 +0,0 @@
| comprehensions.js:2:1:2:43 | [for (y ... ) year] | 1 | 1 | comprehensions.js:2:39:2:42 | year |
| comprehensions.js:4:1:4:43 | [for (i ... s) i+j] | 2 | 0 | comprehensions.js:4:40:4:42 | i+j |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 2 | 1 | comprehensions.js:5:49:5:51 | i+j |
| comprehensions.js:7:1:7:43 | (for (y ... ) year) | 1 | 1 | comprehensions.js:7:39:7:42 | year |
| comprehensions.js:9:1:9:43 | (for (i ... s) i+j) | 2 | 0 | comprehensions.js:9:40:9:42 | i+j |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 2 | 1 | comprehensions.js:10:49:10:51 | i+j |

View File

@@ -1,4 +0,0 @@
import javascript
from ComprehensionExpr ce
select ce, ce.getNumBlock(), ce.getNumFilter(), ce.getBody()

View File

@@ -1,28 +0,0 @@
| comprehensions.js:2:15:2:19 | years | comprehensions.js:1:11:1:15 | years |
| comprehensions.js:2:26:2:29 | year | comprehensions.js:2:7:2:10 | year |
| comprehensions.js:2:39:2:42 | year | comprehensions.js:2:7:2:10 | year |
| comprehensions.js:3:1:3:4 | year | comprehensions.js:1:5:1:8 | year |
| comprehensions.js:4:12:4:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:4:31:4:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:4:40:4:40 | i | comprehensions.js:4:7:4:7 | i |
| comprehensions.js:4:42:4:42 | j | comprehensions.js:4:26:4:26 | j |
| comprehensions.js:5:12:5:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:5:31:5:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:5:44:5:44 | i | comprehensions.js:5:7:5:7 | i |
| comprehensions.js:5:46:5:46 | j | comprehensions.js:5:26:5:26 | j |
| comprehensions.js:5:49:5:49 | i | comprehensions.js:5:7:5:7 | i |
| comprehensions.js:5:51:5:51 | j | comprehensions.js:5:26:5:26 | j |
| comprehensions.js:7:15:7:19 | years | comprehensions.js:1:11:1:15 | years |
| comprehensions.js:7:26:7:29 | year | comprehensions.js:7:7:7:10 | year |
| comprehensions.js:7:39:7:42 | year | comprehensions.js:7:7:7:10 | year |
| comprehensions.js:8:1:8:4 | year | comprehensions.js:1:5:1:8 | year |
| comprehensions.js:9:12:9:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:9:31:9:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:9:40:9:40 | i | comprehensions.js:9:7:9:7 | i |
| comprehensions.js:9:42:9:42 | j | comprehensions.js:9:26:9:26 | j |
| comprehensions.js:10:12:10:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:10:31:10:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:10:44:10:44 | i | comprehensions.js:10:7:10:7 | i |
| comprehensions.js:10:46:10:46 | j | comprehensions.js:10:26:10:26 | j |
| comprehensions.js:10:49:10:49 | i | comprehensions.js:10:7:10:7 | i |
| comprehensions.js:10:51:10:51 | j | comprehensions.js:10:26:10:26 | j |

View File

@@ -1,4 +0,0 @@
import javascript
from VarAccess va
select va, va.getVariable().getADeclaration()

View File

@@ -1,10 +0,0 @@
| comprehensions.js:2:1:2:43 | [for (y ... ) year] | 0 | comprehensions.js:2:2:2:20 | for (year of years) |
| comprehensions.js:4:1:4:43 | [for (i ... s) i+j] | 0 | comprehensions.js:4:2:4:19 | for (i of numbers) |
| comprehensions.js:4:1:4:43 | [for (i ... s) i+j] | 1 | comprehensions.js:4:21:4:38 | for (j of letters) |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 0 | comprehensions.js:5:2:5:19 | for (i of numbers) |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 1 | comprehensions.js:5:21:5:38 | for (j of letters) |
| comprehensions.js:7:1:7:43 | (for (y ... ) year) | 0 | comprehensions.js:7:2:7:20 | for (year of years) |
| comprehensions.js:9:1:9:43 | (for (i ... s) i+j) | 0 | comprehensions.js:9:2:9:19 | for (i of numbers) |
| comprehensions.js:9:1:9:43 | (for (i ... s) i+j) | 1 | comprehensions.js:9:21:9:38 | for (j of letters) |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 0 | comprehensions.js:10:2:10:19 | for (i of numbers) |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 1 | comprehensions.js:10:21:10:38 | for (j of letters) |

View File

@@ -1,4 +0,0 @@
import javascript
from ComprehensionExpr ce, int i
select ce, i, ce.getBlock(i)

View File

@@ -1,4 +0,0 @@
| comprehensions.js:2:1:2:43 | [for (y ... ) year] | 0 | comprehensions.js:2:26:2:36 | year > 2000 |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 0 | comprehensions.js:5:44:5:46 | i<j |
| comprehensions.js:7:1:7:43 | (for (y ... ) year) | 0 | comprehensions.js:7:26:7:36 | year > 2000 |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 0 | comprehensions.js:10:44:10:46 | i<j |

View File

@@ -1,4 +0,0 @@
import javascript
from ComprehensionExpr ce, int i
select ce, i, ce.getFilter(i)

View File

@@ -0,0 +1,63 @@
comprehensionBlock
| comprehensions.js:2:2:2:20 | for (year of years) | comprehensions.js:2:15:2:19 | years | comprehensions.js:2:7:2:10 | year |
| comprehensions.js:4:2:4:19 | for (i of numbers) | comprehensions.js:4:12:4:18 | numbers | comprehensions.js:4:7:4:7 | i |
| comprehensions.js:4:21:4:38 | for (j of letters) | comprehensions.js:4:31:4:37 | letters | comprehensions.js:4:26:4:26 | j |
| comprehensions.js:5:2:5:19 | for (i of numbers) | comprehensions.js:5:12:5:18 | numbers | comprehensions.js:5:7:5:7 | i |
| comprehensions.js:5:21:5:38 | for (j of letters) | comprehensions.js:5:31:5:37 | letters | comprehensions.js:5:26:5:26 | j |
| comprehensions.js:7:2:7:20 | for (year of years) | comprehensions.js:7:15:7:19 | years | comprehensions.js:7:7:7:10 | year |
| comprehensions.js:9:2:9:19 | for (i of numbers) | comprehensions.js:9:12:9:18 | numbers | comprehensions.js:9:7:9:7 | i |
| comprehensions.js:9:21:9:38 | for (j of letters) | comprehensions.js:9:31:9:37 | letters | comprehensions.js:9:26:9:26 | j |
| comprehensions.js:10:2:10:19 | for (i of numbers) | comprehensions.js:10:12:10:18 | numbers | comprehensions.js:10:7:10:7 | i |
| comprehensions.js:10:21:10:38 | for (j of letters) | comprehensions.js:10:31:10:37 | letters | comprehensions.js:10:26:10:26 | j |
comprehensionExpr
| comprehensions.js:2:1:2:43 | [for (y ... ) year] | 1 | 1 | comprehensions.js:2:39:2:42 | year |
| comprehensions.js:4:1:4:43 | [for (i ... s) i+j] | 2 | 0 | comprehensions.js:4:40:4:42 | i+j |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 2 | 1 | comprehensions.js:5:49:5:51 | i+j |
| comprehensions.js:7:1:7:43 | (for (y ... ) year) | 1 | 1 | comprehensions.js:7:39:7:42 | year |
| comprehensions.js:9:1:9:43 | (for (i ... s) i+j) | 2 | 0 | comprehensions.js:9:40:9:42 | i+j |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 2 | 1 | comprehensions.js:10:49:10:51 | i+j |
getBlock
| comprehensions.js:2:1:2:43 | [for (y ... ) year] | 0 | comprehensions.js:2:2:2:20 | for (year of years) |
| comprehensions.js:4:1:4:43 | [for (i ... s) i+j] | 0 | comprehensions.js:4:2:4:19 | for (i of numbers) |
| comprehensions.js:4:1:4:43 | [for (i ... s) i+j] | 1 | comprehensions.js:4:21:4:38 | for (j of letters) |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 0 | comprehensions.js:5:2:5:19 | for (i of numbers) |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 1 | comprehensions.js:5:21:5:38 | for (j of letters) |
| comprehensions.js:7:1:7:43 | (for (y ... ) year) | 0 | comprehensions.js:7:2:7:20 | for (year of years) |
| comprehensions.js:9:1:9:43 | (for (i ... s) i+j) | 0 | comprehensions.js:9:2:9:19 | for (i of numbers) |
| comprehensions.js:9:1:9:43 | (for (i ... s) i+j) | 1 | comprehensions.js:9:21:9:38 | for (j of letters) |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 0 | comprehensions.js:10:2:10:19 | for (i of numbers) |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 1 | comprehensions.js:10:21:10:38 | for (j of letters) |
getFilter
| comprehensions.js:2:1:2:43 | [for (y ... ) year] | 0 | comprehensions.js:2:26:2:36 | year > 2000 |
| comprehensions.js:5:1:5:52 | [for (i ... j) i+j] | 0 | comprehensions.js:5:44:5:46 | i<j |
| comprehensions.js:7:1:7:43 | (for (y ... ) year) | 0 | comprehensions.js:7:26:7:36 | year > 2000 |
| comprehensions.js:10:1:10:52 | (for (i ... j) i+j) | 0 | comprehensions.js:10:44:10:46 | i<j |
varDecls
| comprehensions.js:2:15:2:19 | years | comprehensions.js:1:11:1:15 | years |
| comprehensions.js:2:26:2:29 | year | comprehensions.js:2:7:2:10 | year |
| comprehensions.js:2:39:2:42 | year | comprehensions.js:2:7:2:10 | year |
| comprehensions.js:3:1:3:4 | year | comprehensions.js:1:5:1:8 | year |
| comprehensions.js:4:12:4:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:4:31:4:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:4:40:4:40 | i | comprehensions.js:4:7:4:7 | i |
| comprehensions.js:4:42:4:42 | j | comprehensions.js:4:26:4:26 | j |
| comprehensions.js:5:12:5:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:5:31:5:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:5:44:5:44 | i | comprehensions.js:5:7:5:7 | i |
| comprehensions.js:5:46:5:46 | j | comprehensions.js:5:26:5:26 | j |
| comprehensions.js:5:49:5:49 | i | comprehensions.js:5:7:5:7 | i |
| comprehensions.js:5:51:5:51 | j | comprehensions.js:5:26:5:26 | j |
| comprehensions.js:7:15:7:19 | years | comprehensions.js:1:11:1:15 | years |
| comprehensions.js:7:26:7:29 | year | comprehensions.js:7:7:7:10 | year |
| comprehensions.js:7:39:7:42 | year | comprehensions.js:7:7:7:10 | year |
| comprehensions.js:8:1:8:4 | year | comprehensions.js:1:5:1:8 | year |
| comprehensions.js:9:12:9:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:9:31:9:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:9:40:9:40 | i | comprehensions.js:9:7:9:7 | i |
| comprehensions.js:9:42:9:42 | j | comprehensions.js:9:26:9:26 | j |
| comprehensions.js:10:12:10:18 | numbers | comprehensions.js:1:24:1:30 | numbers |
| comprehensions.js:10:31:10:37 | letters | comprehensions.js:1:33:1:39 | letters |
| comprehensions.js:10:44:10:44 | i | comprehensions.js:10:7:10:7 | i |
| comprehensions.js:10:46:10:46 | j | comprehensions.js:10:26:10:26 | j |
| comprehensions.js:10:49:10:49 | i | comprehensions.js:10:7:10:7 | i |
| comprehensions.js:10:51:10:51 | j | comprehensions.js:10:26:10:26 | j |

View File

@@ -0,0 +1,19 @@
import javascript
query predicate comprehensionBlock(ComprehensionBlock cb, Expr dom, BindingPattern iter) {
iter = cb.getIterator() and dom = cb.getDomain()
}
query predicate comprehensionExpr(ComprehensionExpr ce, int numBlock, int numFilter, Expr body) {
numBlock = ce.getNumBlock() and
numFilter = ce.getNumFilter() and
body = ce.getBody()
}
query predicate getBlock(ComprehensionExpr ce, int i, ComprehensionBlock block) {
ce.getBlock(i) = block
}
query predicate getFilter(ComprehensionExpr ce, int i, Expr filter) { ce.getFilter(i) = filter }
query predicate varDecls(VarAccess va, VarDecl decl) { decl = va.getVariable().getADeclaration() }

View File

@@ -1,10 +0,0 @@
| arguments.js:11:5:11:14 | f(1, 2, 3) | arguments.js:11:7:11:7 | 1 | arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:2:16:2:16 | x |
| arguments.js:11:5:11:14 | f(1, 2, 3) | arguments.js:11:7:11:7 | 1 | arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:4:28:4:39 | arguments[0] |
| arguments.js:11:5:11:14 | f(1, 2, 3) | arguments.js:11:10:11:10 | 2 | arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:5:25:5:36 | arguments[1] |
| arguments.js:11:5:11:14 | f(1, 2, 3) | arguments.js:11:13:11:13 | 3 | arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:7:24:7:30 | args[2] |
| sources.js:3:1:5:6 | (functi ... \\n})(23) | sources.js:5:4:5:5 | 23 | sources.js:3:2:5:1 | functio ... x+19;\\n} | sources.js:3:11:3:11 | x |
| tst.js:16:1:20:9 | (functi ... ("arg") | tst.js:20:4:20:8 | "arg" | tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:13:16:13 | a |
| tst.js:35:1:35:7 | g(true) | tst.js:35:3:35:6 | true | tst.js:32:1:34:1 | functio ... ables\\n} | tst.js:32:12:32:12 | b |
| tst.js:44:1:44:5 | o.m() | tst.js:44:1:44:1 | o | tst.js:39:4:41:3 | () {\\n this;\\n } | tst.js:39:4:39:3 | this |
| tst.js:87:1:96:2 | (functi ... r: 0\\n}) | tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:98:1:103:17 | (functi ... 3, 0 ]) | tst.js:103:4:103:16 | [ 19, 23, 0 ] | tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:98:11:98:24 | [ x, ...rest ] |

View File

@@ -1,6 +0,0 @@
import javascript
import semmle.javascript.dataflow.internal.FlowSteps as FlowSteps
from DataFlow::Node invk, DataFlow::Node arg, Function f, DataFlow::SourceNode parm
where FlowSteps::argumentPassing(invk, arg, f, parm)
select invk, arg, f, parm

View File

@@ -1,543 +0,0 @@
| arguments.js:1:1:1:0 | this | arguments.js:1:1:1:0 | entry node of <toplevel> |
| arguments.js:1:1:12:2 | (functi ... 3);\\n}) | arguments.js:1:1:1:0 | entry node of <toplevel> |
| arguments.js:1:1:12:4 | (functi ... );\\n})() | arguments.js:1:1:1:0 | entry node of <toplevel> |
| arguments.js:1:1:12:4 | exceptional return of (functi ... );\\n})() | arguments.js:1:1:1:0 | entry node of <toplevel> |
| arguments.js:1:2:1:1 | this | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:1:2:12:1 | exceptional return of anonymous function | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:1:0 | entry node of <toplevel> |
| arguments.js:1:2:12:1 | return of anonymous function | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:2:5:2:4 | this | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:2:5 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:10:5 | exceptional return of function f | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:2:5:10:5 | return of function f | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:14:2:14 | f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:2:14:2:14 | f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:2:16:2:16 | x | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:16:2:16 | x | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:3:13:3:20 | firstArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:3:13:3:24 | firstArg = x | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:3:24:3:24 | x | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:4:13:4:24 | alsoFirstArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:4:13:4:39 | alsoFir ... ents[0] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:4:28:4:36 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:4:28:4:39 | arguments[0] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:4:38:4:38 | 0 | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:5:13:5:21 | secondArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:5:13:5:36 | secondA ... ents[1] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:5:25:5:33 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:5:25:5:36 | arguments[1] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:5:35:5:35 | 1 | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:16 | args | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:28 | args | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:28 | args = arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:20:6:28 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:13:7:20 | thirdArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:13:7:30 | thirdArg = args[2] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:24:7:27 | args | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:24:7:30 | args[2] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:29:7:29 | 2 | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:17 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:22 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:22 | arguments = {} | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:21:8:22 | {} | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:9:13:9:23 | notFirstArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:9:13:9:38 | notFirs ... ents[0] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:9:27:9:35 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:9:27:9:38 | arguments[0] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:9:37:9:37 | 0 | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:11:5:11:5 | f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:11:5:11:14 | exceptional return of f(1, 2, 3) | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:11:5:11:14 | f(1, 2, 3) | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:11:7:11:7 | 1 | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:11:10:11:10 | 2 | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:11:13:11:13 | 3 | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| eval.js:1:1:1:0 | this | eval.js:1:1:1:0 | entry node of <toplevel> |
| eval.js:1:1:1:0 | this | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:1:1:5:1 | exceptional return of function k | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:1:1:5:1 | functio ... eval`\\n} | eval.js:1:1:1:0 | entry node of <toplevel> |
| eval.js:1:1:5:1 | return of function k | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:1:10:1:10 | k | eval.js:1:1:1:0 | entry node of <toplevel> |
| eval.js:2:7:2:7 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:7:2:12 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:7:2:12 | x = 42 | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:11:2:12 | 42 | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:3:3:3:6 | eval | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:3:3:3:16 | eval("x = 23") | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:3:3:3:16 | exceptional return of eval("x = 23") | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:3:8:3:15 | "x = 23" | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:4:3:4:3 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| sources.js:1:1:1:0 | this | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:1:1:1:12 | exceptional return of new (x => x) | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:1:1:1:12 | new (x => x) | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:1:5:1:12 | (x => x) | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:5 | entry node of x => x |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:5 | entry node of x => x |
| sources.js:1:6:1:11 | exceptional return of anonymous function | sources.js:1:6:1:5 | entry node of x => x |
| sources.js:1:6:1:11 | return of anonymous function | sources.js:1:6:1:5 | entry node of x => x |
| sources.js:1:6:1:11 | x => x | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:1:11:1:11 | x | sources.js:1:6:1:5 | entry node of x => x |
| sources.js:3:1:5:2 | (functi ... +19;\\n}) | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:3:1:5:6 | (functi ... \\n})(23) | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:3:1:5:6 | exceptional return of (functi ... \\n})(23) | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:3:2:3:1 | this | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:3:2:5:1 | exceptional return of anonymous function | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:3:2:5:1 | functio ... x+19;\\n} | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:3:2:5:1 | return of anonymous function | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:3:11:3:11 | x | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:3:11:3:11 | x | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:4:10:4:10 | x | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:4:10:4:13 | x+19 | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:4:12:4:13 | 19 | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
| sources.js:5:4:5:5 | 23 | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:7:1:7:3 | /x/ | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:9:1:9:0 | this | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
| sources.js:9:1:12:1 | exceptional return of function foo | sources.js:12:2:12:1 | exit node of functio ... ey; }\\n} |
| sources.js:9:1:12:1 | functio ... ey; }\\n} | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:9:1:12:1 | return of function foo | sources.js:12:2:12:1 | exit node of functio ... ey; }\\n} |
| sources.js:9:10:9:12 | foo | sources.js:1:1:1:0 | entry node of <toplevel> |
| sources.js:9:14:9:18 | array | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
| sources.js:9:14:9:18 | array | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
| sources.js:10:12:10:14 | key | sources.js:10:8:10:14 | let key |
| sources.js:10:12:10:14 | key | sources.js:10:8:10:14 | let key |
| sources.js:10:12:10:14 | key | sources.js:10:8:10:14 | let key |
| sources.js:10:19:10:23 | array | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
| sources.js:10:28:10:30 | key | sources.js:10:8:10:14 | let key |
| sources.js:11:12:11:18 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:12:11:18 | { key } | sources.js:11:8:11:18 | let { key } |
| sources.js:11:12:11:18 | { key } | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:23:11:27 | array | sources.js:11:23:11:27 | array |
| sources.js:11:32:11:34 | key | sources.js:11:8:11:18 | let { key } |
| tst2.ts:1:1:1:0 | this | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:8:5:1 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:14 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:19 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:19 | x = 42 | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:3:3:3:6 | setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:3:3:3:8 | exceptional return of setX() | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:3:3:3:8 | setX() | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:4:3:4:3 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:7:1:7:0 | A | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:7:1:7:0 | this | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:7:1:9:1 | exceptional return of function setX | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:7:1:9:1 | return of function setX | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:7:10:7:13 | setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:7:10:7:13 | setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:8:3:8:3 | A | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:8:3:8:5 | A.x | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:8:3:8:10 | A.x = 23 | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:8:5:8:5 | x | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:8:9:8:10 | 23 | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
| tst2.ts:11:5:11:7 | nd2 | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:11:5:11:23 | nd2 = A.x as number | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:11:11:11:11 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:11:11:11:13 | A.x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:11:11:11:23 | A.x as number | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:11:13:11:13 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:1:13:40 | class S ... ing> {} | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:7:13:16 | StringList | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:26:13:29 | List | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:26:13:37 | List<string> | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:39:13:38 | (...arg ... rgs); } | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:39:13:38 | ...args | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | constru ... rgs); } | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:39:13:38 | constru ... rgs); } | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:39:13:38 | constructor | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:13:39:13:38 | exceptional return of default constructor of class StringList | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | exceptional return of super(...args) | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | return of default constructor of class StringList | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | super | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | super(...args) | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | this | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
| tst.js:1:1:1:0 | this | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:1:1:1 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:1:1:24 | import ... m 'fs'; | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:10:1:11 | fs | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:10:1:11 | fs | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:5 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:5 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:10 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:10 | x = 42 | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:9:3:10 | 42 | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:5 | y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:12 | y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:12 | y = "hi" | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:9:4:12 | "hi" | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:5:5:5:5 | z | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:5:5:5:5 | z | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:7:1:7:2 | fs | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:8:1:8:1 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:9:1:9:3 | (x) | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:9:2:9:2 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:10:1:10:1 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:10:1:10:4 | x, y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:10:4:10:4 | y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:11:1:11:1 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:11:1:11:1 | x | tst.js:11:1:11:1 | guard: x is false |
| tst.js:11:1:11:1 | x | tst.js:11:1:11:1 | guard: x is true |
| tst.js:11:1:11:6 | x && y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:11:6:11:6 | y | tst.js:11:1:11:1 | guard: x is true |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | guard: x is false |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | guard: x is true |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:1:12:6 | x \|\| y | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:6:12:6 | y | tst.js:12:1:12:1 | guard: x is false |
| tst.js:13:1:13:1 | x | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:1 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:5 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:5 | z = y | tst.js:13:1:13:6 | z = y; |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:6 | z = y; |
| tst.js:14:1:14:1 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:14:1:14:9 | z ? x : y | tst.js:13:1:13:6 | z = y; |
| tst.js:14:5:14:5 | x | tst.js:14:1:14:1 | guard: z is true |
| tst.js:14:9:14:9 | y | tst.js:14:1:14:1 | guard: z is false |
| tst.js:16:1:20:2 | (functi ... "";\\n}) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:16:1:20:9 | (functi ... ("arg") | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:16:1:20:9 | exceptional return of (functi ... ("arg") | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:16:2:16:1 | this | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:16:2:20:1 | exceptional return of function f | tst.js:20:2:20:1 | exit node of functio ... n "";\\n} |
| tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:16:2:20:1 | return of function f | tst.js:20:2:20:1 | exit node of functio ... n "";\\n} |
| tst.js:16:11:16:11 | f | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:16:13:16:13 | a | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:16:13:16:13 | a | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:7:17:10 | Math | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:7:17:17 | Math.random | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:7:17:19 | Math.random() | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:7:17:19 | exceptional return of Math.random() | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:7:17:25 | Math.random() > 0.5 | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:12:17:17 | random | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:17:23:17:25 | 0.5 | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
| tst.js:18:12:18:12 | a | tst.js:17:7:17:25 | guard: Math.random() > 0.5 is true |
| tst.js:19:10:19:11 | "" | tst.js:17:7:17:25 | guard: Math.random() > 0.5 is false |
| tst.js:20:4:20:8 | "arg" | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:5:22:20 | { readFileSync } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:5:22:25 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:5:22:25 | { readF ... } = fs | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:24:22:25 | fs | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:23:1:23:12 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:1:25:3 | ++x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:1:25:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:3:25:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:26:1:26:1 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:28:1:30:1 | (() =>\\n ... ables\\n) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:28:1:30:3 | (() =>\\n ... les\\n)() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:28:1:30:3 | exceptional return of (() =>\\n ... les\\n)() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:28:2:28:1 | x | tst.js:28:2:28:1 | entry node of () =>\\n x |
| tst.js:28:2:29:3 | () =>\\n x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:28:2:29:3 | exceptional return of anonymous function | tst.js:28:2:28:1 | entry node of () =>\\n x |
| tst.js:28:2:29:3 | return of anonymous function | tst.js:28:2:28:1 | entry node of () =>\\n x |
| tst.js:29:3:29:3 | x | tst.js:28:2:28:1 | entry node of () =>\\n x |
| tst.js:32:1:32:0 | this | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
| tst.js:32:1:32:0 | x | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
| tst.js:32:1:34:1 | exceptional return of function g | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
| tst.js:32:1:34:1 | functio ... ables\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:32:1:34:1 | return of function g | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
| tst.js:32:10:32:10 | g | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:32:10:32:10 | g | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:32:12:32:12 | b | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
| tst.js:33:10:33:10 | x | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
| tst.js:35:1:35:1 | g | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:35:1:35:7 | exceptional return of g(true) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:35:1:35:7 | g(true) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:35:3:35:6 | true | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:37:5 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:42:1 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:42:1 | o = {\\n ... ;\\n }\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:38:3:38:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:38:3:38:9 | x: null | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:38:3:38:9 | x: null | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:38:6:38:9 | null | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:39:3:39:3 | m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:39:3:41:3 | m() {\\n this;\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:39:3:41:3 | m() {\\n this;\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:39:4:39:3 | this | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
| tst.js:39:4:41:3 | () {\\n this;\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:39:4:41:3 | exceptional return of method m | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
| tst.js:39:4:41:3 | return of method m | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
| tst.js:40:5:40:8 | this | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
| tst.js:43:1:43:1 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:43:1:43:3 | o.x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:43:3:43:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:44:1:44:1 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:44:1:44:3 | o.m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:44:1:44:5 | exceptional return of o.m() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:44:1:44:5 | o.m() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:44:3:44:3 | m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:46:1:46:6 | global | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:46:1:46:11 | global = "" | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:46:10:46:11 | "" | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:47:1:47:6 | global | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:1:54:1 | A | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:7:49:7 | A | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:17:49:17 | B | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:3:50:13 | constructor | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:3:53:3 | constru ... et`\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:3:53:3 | constru ... et`\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:14:50:13 | this | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:50:14:53:3 | () {\\n ... et`\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:14:53:3 | exceptional return of constructor of class A | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:50:14:53:3 | return of constructor of class A | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:51:5:51:9 | super | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:51:5:51:13 | exceptional return of super(42) | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:51:5:51:13 | super(42) | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:51:11:51:12 | 42 | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:52:5:52:14 | new.target | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
| tst.js:55:1:55:1 | A | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:57:1:57:9 | `x: ${x}` | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:57:2:57:4 | x: | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:57:7:57:7 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:58:1:58:3 | tag | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:58:1:58:13 | tag `x: ${x}` | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:58:5:58:13 | `x: ${x}` | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:58:6:58:8 | x: | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:58:11:58:11 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:60:1:60:1 | g | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:61:1:61:5 | ::o.m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:61:3:61:3 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:61:3:61:5 | o.m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:61:5:61:5 | m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:62:1:62:1 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:62:1:62:4 | o::g | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:62:4:62:4 | g | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:64:1:64:0 | this | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:64:1:67:1 | exceptional return of function h | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:64:1:67:1 | functio ... lysed\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:64:1:67:1 | return of function h | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:64:11:64:11 | h | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:64:11:64:11 | h | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:65:3:65:10 | yield 42 | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:65:9:65:10 | 42 | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:66:7:66:9 | tmp | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:66:7:66:25 | tmp = function.sent | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:66:13:66:25 | function.sent | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:68:5:68:8 | iter | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:5:68:14 | iter | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:5:68:14 | iter = h() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:12:68:12 | h | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:12:68:14 | exceptional return of h() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:12:68:14 | h() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:69:1:69:4 | iter | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:69:1:69:9 | iter.next | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:69:1:69:13 | exceptional return of iter.next(23) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:69:1:69:13 | iter.next(23) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:69:6:69:9 | next | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:69:11:69:12 | 23 | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:71:1:71:0 | this | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:71:1:73:1 | async f ... lysed\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:71:1:73:1 | exceptional return of function k | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:71:1:73:1 | return of function k | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:71:16:71:16 | k | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:72:3:72:11 | await p() | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:72:9:72:9 | p | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:72:9:72:11 | exceptional return of p() | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:72:9:72:11 | p() | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
| tst.js:75:5:75:5 | m | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:75:5:75:21 | m = import('foo') | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:75:9:75:21 | import('foo') | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:75:16:75:20 | 'foo' | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:77:10:77:10 | i | tst.js:77:6:77:10 | let i |
| tst.js:77:10:77:10 | i | tst.js:77:6:77:10 | let i |
| tst.js:77:10:77:10 | i | tst.js:77:6:77:10 | let i |
| tst.js:77:15:77:15 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:78:3:78:3 | i | tst.js:77:6:77:10 | let i |
| tst.js:80:10:80:10 | v | tst.js:80:6:80:10 | let v |
| tst.js:80:10:80:10 | v | tst.js:80:6:80:10 | let v |
| tst.js:80:10:80:10 | v | tst.js:80:6:80:10 | let v |
| tst.js:80:15:80:15 | o | tst.js:80:15:80:15 | o |
| tst.js:81:3:81:3 | v | tst.js:80:6:80:10 | let v |
| tst.js:83:5:83:7 | vs1 | tst.js:83:1:83:29 | var vs1 ... o) v ]; |
| tst.js:83:5:83:28 | vs1 = [ ... o) v ] | tst.js:83:5:83:28 | vs1 = [ ... o) v ] |
| tst.js:83:11:83:28 | [ for (v of o) v ] | tst.js:83:1:83:29 | var vs1 ... o) v ]; |
| tst.js:83:13:83:24 | for (v of o) | tst.js:83:1:83:29 | var vs1 ... o) v ]; |
| tst.js:83:18:83:18 | v | tst.js:83:18:83:18 | v |
| tst.js:83:18:83:18 | v | tst.js:83:18:83:18 | v |
| tst.js:83:23:83:23 | o | tst.js:83:1:83:29 | var vs1 ... o) v ]; |
| tst.js:83:26:83:26 | v | tst.js:83:18:83:18 | v |
| tst.js:85:5:85:7 | vs2 | tst.js:83:5:83:28 | vs1 = [ ... o) v ] |
| tst.js:85:5:85:28 | vs2 = ( ... o) v ) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:85:11:85:28 | ( for (v of o) v ) | tst.js:83:5:83:28 | vs1 = [ ... o) v ] |
| tst.js:85:13:85:24 | for (v of o) | tst.js:83:5:83:28 | vs1 = [ ... o) v ] |
| tst.js:85:18:85:18 | v | tst.js:85:18:85:18 | v |
| tst.js:85:18:85:18 | v | tst.js:85:18:85:18 | v |
| tst.js:85:23:85:23 | o | tst.js:83:5:83:28 | vs1 = [ ... o) v ] |
| tst.js:85:26:85:26 | v | tst.js:85:18:85:18 | v |
| tst.js:87:1:92:2 | (functi ... + z;\\n}) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:87:1:96:2 | (functi ... r: 0\\n}) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:87:1:96:2 | exceptional return of (functi ... r: 0\\n}) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:87:2:87:1 | this | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:2:92:1 | exceptional return of anonymous function | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:87:2:92:1 | return of anonymous function | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:11:87:24 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:11:87:24 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:11:87:24 | { p: x, ...o } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:13:87:13 | p | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:13:87:16 | p: x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:13:87:16 | p: x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:16:87:16 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:22:87:22 | ...o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:22:87:22 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:7:88:14 | { q: y } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:7:88:18 | y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:7:88:18 | { q: y } = o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:9:88:9 | q | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:9:88:12 | q: y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:9:88:12 | q: y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:12:88:12 | y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:18:88:18 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:89:7:89:7 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:89:7:89:7 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:3:90:16 | ({ r: z } = o) | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:4:90:11 | { r: z } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:4:90:15 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:6:90:6 | r | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:6:90:9 | r: z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:6:90:9 | r: z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:9:90:9 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:15:90:15 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:10:91:10 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:10:91:14 | x + y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:14:91:14 | y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:18:91:18 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:93:3:93:3 | p | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:93:3:93:7 | p: 19 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:93:3:93:7 | p: 19 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:93:6:93:7 | 19 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:94:3:94:3 | q | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:94:3:94:7 | q: 23 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:94:3:94:7 | q: 23 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:94:6:94:7 | 23 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:95:3:95:3 | r | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:95:3:95:6 | r: 0 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:95:3:95:6 | r: 0 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:95:6:95:6 | 0 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:98:1:103:2 | (functi ... + z;\\n}) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:98:1:103:17 | (functi ... 3, 0 ]) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:98:1:103:17 | exceptional return of (functi ... 3, 0 ]) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:98:2:98:1 | this | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:2:103:1 | exceptional return of anonymous function | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:98:2:103:1 | return of anonymous function | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:11:98:24 | [ x, ...rest ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:11:98:24 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:11:98:24 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:13:98:13 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:13:98:13 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:19:98:22 | ...rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:19:98:22 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:7:99:11 | [ y ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:7:99:18 | [ y ] = rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:7:99:18 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:9:99:9 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:9:99:9 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:15:99:18 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:100:7:100:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:100:7:100:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:3:101:9 | [ , z ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:3:101:16 | [ , z ] = rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:3:101:16 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:7:101:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:7:101:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:13:101:16 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:102:10:102:10 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:102:10:102:14 | x + y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:102:10:102:18 | x + y + z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:102:14:102:14 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:102:18:102:18 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:103:4:103:16 | [ 19, 23, 0 ] | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:103:6:103:7 | 19 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:103:6:103:7 | 19 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:103:10:103:11 | 23 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:103:10:103:11 | 23 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:103:14:103:14 | 0 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:103:14:103:14 | 0 | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:105:1:105:1 | x | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:105:1:105:6 | x ?? y | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:105:6:105:6 | y | tst.js:105:6:105:6 | y |
| tst.js:107:1:113:2 | (functi ... v2c;\\n}) | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:107:2:107:1 | this | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:107:2:113:1 | exceptional return of anonymous function | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:107:2:113:1 | return of anonymous function | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:32 | {v1a, v ... = o1c} | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | {v1a, v ... } = o1d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:14 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:14 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:20 | v1b = o1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:20 | v1b = o1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:18:108:20 | o1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:25 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:25 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:31 | v1c = o1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:31 | v1c = o1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:29:108:31 | o1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:36:108:38 | o1d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:109:2:109:4 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:109:2:109:10 | v1a + v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:109:2:109:16 | v1a + v1b + v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:109:8:109:10 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:109:14:109:16 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:32 | [v2a, v ... = o2c] | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | [v2a, v ... ] = o2d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:7:111:9 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:7:111:9 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:12:111:14 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:12:111:14 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:18:111:20 | o2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:23:111:25 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:23:111:25 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:29:111:31 | o2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:36:111:38 | o2d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:112:2:112:4 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:112:2:112:10 | v2a + v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:112:2:112:16 | v2a + v2b + v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:112:8:112:10 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:112:14:112:16 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:115:1:115:5 | Array | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:115:1:115:10 | Array.call | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:115:1:115:12 | Array.call() | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:115:1:115:12 | exceptional return of Array.call() | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:115:1:115:12 | reflective call | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:115:7:115:10 | call | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:5:117:6 | x2 | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:5:117:24 | x2 = Object.seal(x1) | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:10:117:15 | Object | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:10:117:20 | Object.seal | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:10:117:24 | Object.seal(x1) | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:10:117:24 | exceptional return of Object.seal(x1) | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:17:117:20 | seal | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:117:22:117:23 | x1 | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::Node node
select node, node.getBasicBlock()

View File

@@ -1,359 +0,0 @@
| arguments.js:1:1:12:2 | (functi ... 3);\\n}) | arguments.js:1:1:12:2 | (functi ... 3);\\n}) |
| arguments.js:1:1:12:4 | (functi ... );\\n})() | arguments.js:1:1:12:4 | (functi ... );\\n})() |
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:2:12:1 | functio ... , 3);\\n} |
| arguments.js:2:14:2:14 | f | arguments.js:2:14:2:14 | f |
| arguments.js:2:16:2:16 | x | arguments.js:2:16:2:16 | x |
| arguments.js:3:13:3:20 | firstArg | arguments.js:3:13:3:20 | firstArg |
| arguments.js:3:13:3:24 | firstArg = x | arguments.js:3:13:3:24 | firstArg = x |
| arguments.js:3:24:3:24 | x | arguments.js:3:24:3:24 | x |
| arguments.js:4:13:4:24 | alsoFirstArg | arguments.js:4:13:4:24 | alsoFirstArg |
| arguments.js:4:13:4:39 | alsoFir ... ents[0] | arguments.js:4:13:4:39 | alsoFir ... ents[0] |
| arguments.js:4:28:4:36 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:4:28:4:39 | arguments[0] | arguments.js:4:28:4:39 | arguments[0] |
| arguments.js:4:38:4:38 | 0 | arguments.js:4:38:4:38 | 0 |
| arguments.js:5:13:5:21 | secondArg | arguments.js:5:13:5:21 | secondArg |
| arguments.js:5:13:5:36 | secondA ... ents[1] | arguments.js:5:13:5:36 | secondA ... ents[1] |
| arguments.js:5:25:5:33 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:5:25:5:36 | arguments[1] | arguments.js:5:25:5:36 | arguments[1] |
| arguments.js:5:35:5:35 | 1 | arguments.js:5:35:5:35 | 1 |
| arguments.js:6:13:6:16 | args | arguments.js:6:13:6:16 | args |
| arguments.js:6:13:6:28 | args = arguments | arguments.js:6:13:6:28 | args = arguments |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:7:13:7:20 | thirdArg | arguments.js:7:13:7:20 | thirdArg |
| arguments.js:7:13:7:30 | thirdArg = args[2] | arguments.js:7:13:7:30 | thirdArg = args[2] |
| arguments.js:7:24:7:27 | args | arguments.js:7:24:7:27 | args |
| arguments.js:7:24:7:30 | args[2] | arguments.js:7:24:7:30 | args[2] |
| arguments.js:7:29:7:29 | 2 | arguments.js:7:29:7:29 | 2 |
| arguments.js:8:9:8:17 | arguments | arguments.js:8:9:8:17 | arguments |
| arguments.js:8:9:8:22 | arguments = {} | arguments.js:8:9:8:22 | arguments = {} |
| arguments.js:8:21:8:22 | {} | arguments.js:8:21:8:22 | {} |
| arguments.js:9:13:9:23 | notFirstArg | arguments.js:9:13:9:23 | notFirstArg |
| arguments.js:9:13:9:38 | notFirs ... ents[0] | arguments.js:9:13:9:38 | notFirs ... ents[0] |
| arguments.js:9:27:9:35 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:9:27:9:38 | arguments[0] | arguments.js:9:27:9:38 | arguments[0] |
| arguments.js:9:37:9:37 | 0 | arguments.js:9:37:9:37 | 0 |
| arguments.js:11:5:11:5 | f | arguments.js:11:5:11:5 | f |
| arguments.js:11:5:11:14 | f(1, 2, 3) | arguments.js:11:5:11:14 | f(1, 2, 3) |
| arguments.js:11:7:11:7 | 1 | arguments.js:11:7:11:7 | 1 |
| arguments.js:11:10:11:10 | 2 | arguments.js:11:10:11:10 | 2 |
| arguments.js:11:13:11:13 | 3 | arguments.js:11:13:11:13 | 3 |
| eval.js:1:10:1:10 | k | eval.js:1:10:1:10 | k |
| eval.js:2:7:2:7 | x | eval.js:2:7:2:7 | x |
| eval.js:2:7:2:12 | x = 42 | eval.js:2:7:2:12 | x = 42 |
| eval.js:2:11:2:12 | 42 | eval.js:2:11:2:12 | 42 |
| eval.js:3:3:3:6 | eval | eval.js:3:3:3:6 | eval |
| eval.js:3:3:3:16 | eval("x = 23") | eval.js:3:3:3:16 | eval("x = 23") |
| eval.js:3:8:3:15 | "x = 23" | eval.js:3:8:3:15 | "x = 23" |
| eval.js:4:3:4:3 | x | eval.js:4:3:4:3 | x |
| sources.js:1:1:1:12 | new (x => x) | sources.js:1:1:1:12 | new (x => x) |
| sources.js:1:5:1:12 | (x => x) | sources.js:1:5:1:12 | (x => x) |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:6 | x |
| sources.js:1:6:1:11 | x => x | sources.js:1:6:1:11 | x => x |
| sources.js:1:11:1:11 | x | sources.js:1:11:1:11 | x |
| sources.js:3:1:5:2 | (functi ... +19;\\n}) | sources.js:3:1:5:2 | (functi ... +19;\\n}) |
| sources.js:3:1:5:6 | (functi ... \\n})(23) | sources.js:3:1:5:6 | (functi ... \\n})(23) |
| sources.js:3:2:5:1 | functio ... x+19;\\n} | sources.js:3:2:5:1 | functio ... x+19;\\n} |
| sources.js:3:11:3:11 | x | sources.js:3:11:3:11 | x |
| sources.js:4:10:4:10 | x | sources.js:4:10:4:10 | x |
| sources.js:4:10:4:13 | x+19 | sources.js:4:10:4:13 | x+19 |
| sources.js:4:12:4:13 | 19 | sources.js:4:12:4:13 | 19 |
| sources.js:5:4:5:5 | 23 | sources.js:5:4:5:5 | 23 |
| sources.js:7:1:7:3 | /x/ | sources.js:7:1:7:3 | /x/ |
| sources.js:9:10:9:12 | foo | sources.js:9:10:9:12 | foo |
| sources.js:9:14:9:18 | array | sources.js:9:14:9:18 | array |
| sources.js:10:12:10:14 | key | sources.js:10:12:10:14 | key |
| sources.js:10:12:10:14 | key | sources.js:10:12:10:14 | key |
| sources.js:10:19:10:23 | array | sources.js:10:19:10:23 | array |
| sources.js:10:28:10:30 | key | sources.js:10:28:10:30 | key |
| sources.js:11:12:11:18 | { key } | sources.js:11:12:11:18 | { key } |
| sources.js:11:12:11:18 | { key } | sources.js:11:12:11:18 | { key } |
| sources.js:11:14:11:16 | key | sources.js:11:14:11:16 | key |
| sources.js:11:14:11:16 | key | sources.js:11:14:11:16 | key |
| sources.js:11:23:11:27 | array | sources.js:11:23:11:27 | array |
| sources.js:11:32:11:34 | key | sources.js:11:32:11:34 | key |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:2:14:2:14 | x | tst2.ts:2:14:2:14 | x |
| tst2.ts:2:14:2:19 | x = 42 | tst2.ts:2:14:2:19 | x = 42 |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:18:2:19 | 42 |
| tst2.ts:3:3:3:6 | setX | tst2.ts:3:3:3:6 | setX |
| tst2.ts:3:3:3:8 | setX() | tst2.ts:3:3:3:8 | setX() |
| tst2.ts:4:3:4:3 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:7:10:7:13 | setX | tst2.ts:7:10:7:13 | setX |
| tst2.ts:8:3:8:3 | A | tst2.ts:8:3:8:3 | A |
| tst2.ts:8:3:8:5 | A.x | tst2.ts:8:3:8:5 | A.x |
| tst2.ts:8:3:8:10 | A.x = 23 | tst2.ts:8:3:8:10 | A.x = 23 |
| tst2.ts:8:5:8:5 | x | tst2.ts:8:5:8:5 | x |
| tst2.ts:8:9:8:10 | 23 | tst2.ts:8:9:8:10 | 23 |
| tst2.ts:11:5:11:7 | nd2 | tst2.ts:11:5:11:7 | nd2 |
| tst2.ts:11:5:11:23 | nd2 = A.x as number | tst2.ts:11:5:11:23 | nd2 = A.x as number |
| tst2.ts:11:11:11:11 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:11:11:11:13 | A.x | tst2.ts:11:11:11:13 | A.x |
| tst2.ts:11:11:11:23 | A.x as number | tst2.ts:11:11:11:23 | A.x as number |
| tst2.ts:11:13:11:13 | x | tst2.ts:11:13:11:13 | x |
| tst2.ts:13:7:13:16 | StringList | tst2.ts:13:7:13:16 | StringList |
| tst2.ts:13:26:13:29 | List | tst2.ts:13:26:13:29 | List |
| tst2.ts:13:26:13:37 | List<string> | tst2.ts:13:26:13:37 | List<string> |
| tst2.ts:13:39:13:38 | (...arg ... rgs); } | tst2.ts:13:39:13:38 | (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | ...args | tst2.ts:13:39:13:38 | ...args |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst2.ts:13:39:13:38 | constructor | tst2.ts:13:39:13:38 | constructor |
| tst2.ts:13:39:13:38 | super | tst2.ts:13:39:13:38 | super |
| tst2.ts:13:39:13:38 | super(...args) | tst2.ts:13:39:13:38 | super(...args) |
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:20:1:23 | 'fs' | tst.js:1:20:1:23 | 'fs' |
| tst.js:3:5:3:5 | x | tst.js:3:5:3:5 | x |
| tst.js:3:5:3:10 | x = 42 | tst.js:3:5:3:10 | x = 42 |
| tst.js:3:9:3:10 | 42 | tst.js:3:9:3:10 | 42 |
| tst.js:4:5:4:5 | y | tst.js:4:5:4:5 | y |
| tst.js:4:5:4:12 | y = "hi" | tst.js:4:5:4:12 | y = "hi" |
| tst.js:4:9:4:12 | "hi" | tst.js:4:9:4:12 | "hi" |
| tst.js:5:5:5:5 | z | tst.js:5:5:5:5 | z |
| tst.js:5:5:5:5 | z | tst.js:5:5:5:5 | z |
| tst.js:7:1:7:2 | fs | tst.js:7:1:7:2 | fs |
| tst.js:8:1:8:1 | x | tst.js:8:1:8:1 | x |
| tst.js:9:1:9:3 | (x) | tst.js:9:1:9:3 | (x) |
| tst.js:9:2:9:2 | x | tst.js:9:2:9:2 | x |
| tst.js:10:1:10:1 | x | tst.js:10:1:10:1 | x |
| tst.js:10:1:10:4 | x, y | tst.js:10:1:10:4 | x, y |
| tst.js:10:4:10:4 | y | tst.js:10:4:10:4 | y |
| tst.js:11:1:11:1 | x | tst.js:11:1:11:1 | x |
| tst.js:11:1:11:6 | x && y | tst.js:11:1:11:6 | x && y |
| tst.js:11:6:11:6 | y | tst.js:11:6:11:6 | y |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:6 | x \|\| y | tst.js:12:1:12:6 | x \|\| y |
| tst.js:12:6:12:6 | y | tst.js:12:6:12:6 | y |
| tst.js:13:1:13:1 | z | tst.js:13:1:13:1 | z |
| tst.js:13:1:13:5 | z = y | tst.js:13:1:13:5 | z = y |
| tst.js:13:5:13:5 | y | tst.js:13:5:13:5 | y |
| tst.js:14:1:14:1 | z | tst.js:14:1:14:1 | z |
| tst.js:14:1:14:9 | z ? x : y | tst.js:14:1:14:9 | z ? x : y |
| tst.js:14:5:14:5 | x | tst.js:14:5:14:5 | x |
| tst.js:14:9:14:9 | y | tst.js:14:9:14:9 | y |
| tst.js:16:1:20:2 | (functi ... "";\\n}) | tst.js:16:1:20:2 | (functi ... "";\\n}) |
| tst.js:16:1:20:9 | (functi ... ("arg") | tst.js:16:1:20:9 | (functi ... ("arg") |
| tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:2:20:1 | functio ... n "";\\n} |
| tst.js:16:11:16:11 | f | tst.js:16:11:16:11 | f |
| tst.js:16:13:16:13 | a | tst.js:16:13:16:13 | a |
| tst.js:17:7:17:10 | Math | tst.js:17:7:17:10 | Math |
| tst.js:17:7:17:17 | Math.random | tst.js:17:7:17:17 | Math.random |
| tst.js:17:7:17:19 | Math.random() | tst.js:17:7:17:19 | Math.random() |
| tst.js:17:7:17:25 | Math.random() > 0.5 | tst.js:17:7:17:25 | Math.random() > 0.5 |
| tst.js:17:12:17:17 | random | tst.js:17:12:17:17 | random |
| tst.js:17:23:17:25 | 0.5 | tst.js:17:23:17:25 | 0.5 |
| tst.js:18:12:18:12 | a | tst.js:18:12:18:12 | a |
| tst.js:19:10:19:11 | "" | tst.js:19:10:19:11 | "" |
| tst.js:20:4:20:8 | "arg" | tst.js:20:4:20:8 | "arg" |
| tst.js:22:5:22:20 | { readFileSync } | tst.js:22:5:22:20 | { readFileSync } |
| tst.js:22:5:22:25 | { readF ... } = fs | tst.js:22:5:22:25 | { readF ... } = fs |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:7:22:18 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:7:22:18 | readFileSync |
| tst.js:22:24:22:25 | fs | tst.js:22:24:22:25 | fs |
| tst.js:23:1:23:12 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:25:1:25:3 | ++x | tst.js:25:1:25:3 | ++x |
| tst.js:25:3:25:3 | x | tst.js:25:3:25:3 | x |
| tst.js:26:1:26:1 | x | tst.js:26:1:26:1 | x |
| tst.js:28:1:30:1 | (() =>\\n ... ables\\n) | tst.js:28:1:30:1 | (() =>\\n ... ables\\n) |
| tst.js:28:1:30:3 | (() =>\\n ... les\\n)() | tst.js:28:1:30:3 | (() =>\\n ... les\\n)() |
| tst.js:28:2:29:3 | () =>\\n x | tst.js:28:2:29:3 | () =>\\n x |
| tst.js:29:3:29:3 | x | tst.js:29:3:29:3 | x |
| tst.js:32:10:32:10 | g | tst.js:32:10:32:10 | g |
| tst.js:32:12:32:12 | b | tst.js:32:12:32:12 | b |
| tst.js:33:10:33:10 | x | tst.js:33:10:33:10 | x |
| tst.js:35:1:35:1 | g | tst.js:35:1:35:1 | g |
| tst.js:35:1:35:7 | g(true) | tst.js:35:1:35:7 | g(true) |
| tst.js:35:3:35:6 | true | tst.js:35:3:35:6 | true |
| tst.js:37:5:37:5 | o | tst.js:37:5:37:5 | o |
| tst.js:37:5:42:1 | o = {\\n ... ;\\n }\\n} | tst.js:37:5:42:1 | o = {\\n ... ;\\n }\\n} |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} |
| tst.js:38:3:38:3 | x | tst.js:38:3:38:3 | x |
| tst.js:38:6:38:9 | null | tst.js:38:6:38:9 | null |
| tst.js:39:3:39:3 | m | tst.js:39:3:39:3 | m |
| tst.js:39:4:41:3 | () {\\n this;\\n } | tst.js:39:4:41:3 | () {\\n this;\\n } |
| tst.js:40:5:40:8 | this | tst.js:40:5:40:8 | this |
| tst.js:43:1:43:1 | o | tst.js:43:1:43:1 | o |
| tst.js:43:1:43:3 | o.x | tst.js:43:1:43:3 | o.x |
| tst.js:43:3:43:3 | x | tst.js:43:3:43:3 | x |
| tst.js:44:1:44:1 | o | tst.js:44:1:44:1 | o |
| tst.js:44:1:44:3 | o.m | tst.js:44:1:44:3 | o.m |
| tst.js:44:1:44:5 | o.m() | tst.js:44:1:44:5 | o.m() |
| tst.js:44:3:44:3 | m | tst.js:44:3:44:3 | m |
| tst.js:46:1:46:6 | global | tst.js:46:1:46:6 | global |
| tst.js:46:1:46:11 | global = "" | tst.js:46:1:46:11 | global = "" |
| tst.js:46:10:46:11 | "" | tst.js:46:10:46:11 | "" |
| tst.js:47:1:47:6 | global | tst.js:47:1:47:6 | global |
| tst.js:49:7:49:7 | A | tst.js:49:7:49:7 | A |
| tst.js:49:17:49:17 | B | tst.js:49:17:49:17 | B |
| tst.js:50:3:50:13 | constructor | tst.js:50:3:50:13 | constructor |
| tst.js:50:14:53:3 | () {\\n ... et`\\n } | tst.js:50:14:53:3 | () {\\n ... et`\\n } |
| tst.js:51:5:51:9 | super | tst.js:51:5:51:9 | super |
| tst.js:51:5:51:13 | super(42) | tst.js:51:5:51:13 | super(42) |
| tst.js:51:11:51:12 | 42 | tst.js:51:11:51:12 | 42 |
| tst.js:52:5:52:14 | new.target | tst.js:52:5:52:14 | new.target |
| tst.js:55:1:55:1 | A | tst.js:55:1:55:1 | A |
| tst.js:57:1:57:9 | `x: ${x}` | tst.js:57:1:57:9 | `x: ${x}` |
| tst.js:57:2:57:4 | x: | tst.js:57:2:57:4 | x: |
| tst.js:57:7:57:7 | x | tst.js:57:7:57:7 | x |
| tst.js:58:1:58:3 | tag | tst.js:58:1:58:3 | tag |
| tst.js:58:1:58:13 | tag `x: ${x}` | tst.js:58:1:58:13 | tag `x: ${x}` |
| tst.js:58:5:58:13 | `x: ${x}` | tst.js:58:5:58:13 | `x: ${x}` |
| tst.js:58:6:58:8 | x: | tst.js:58:6:58:8 | x: |
| tst.js:58:11:58:11 | x | tst.js:58:11:58:11 | x |
| tst.js:60:1:60:1 | g | tst.js:60:1:60:1 | g |
| tst.js:61:1:61:5 | ::o.m | tst.js:61:1:61:5 | ::o.m |
| tst.js:61:3:61:3 | o | tst.js:61:3:61:3 | o |
| tst.js:61:3:61:5 | o.m | tst.js:61:3:61:5 | o.m |
| tst.js:61:5:61:5 | m | tst.js:61:5:61:5 | m |
| tst.js:62:1:62:1 | o | tst.js:62:1:62:1 | o |
| tst.js:62:1:62:4 | o::g | tst.js:62:1:62:4 | o::g |
| tst.js:62:4:62:4 | g | tst.js:62:4:62:4 | g |
| tst.js:64:11:64:11 | h | tst.js:64:11:64:11 | h |
| tst.js:65:3:65:10 | yield 42 | tst.js:65:3:65:10 | yield 42 |
| tst.js:65:9:65:10 | 42 | tst.js:65:9:65:10 | 42 |
| tst.js:66:7:66:9 | tmp | tst.js:66:7:66:9 | tmp |
| tst.js:66:7:66:25 | tmp = function.sent | tst.js:66:7:66:25 | tmp = function.sent |
| tst.js:66:13:66:25 | function.sent | tst.js:66:13:66:25 | function.sent |
| tst.js:68:5:68:8 | iter | tst.js:68:5:68:8 | iter |
| tst.js:68:5:68:14 | iter = h() | tst.js:68:5:68:14 | iter = h() |
| tst.js:68:12:68:12 | h | tst.js:68:12:68:12 | h |
| tst.js:68:12:68:14 | h() | tst.js:68:12:68:14 | h() |
| tst.js:69:1:69:4 | iter | tst.js:69:1:69:4 | iter |
| tst.js:69:1:69:9 | iter.next | tst.js:69:1:69:9 | iter.next |
| tst.js:69:1:69:13 | iter.next(23) | tst.js:69:1:69:13 | iter.next(23) |
| tst.js:69:6:69:9 | next | tst.js:69:6:69:9 | next |
| tst.js:69:11:69:12 | 23 | tst.js:69:11:69:12 | 23 |
| tst.js:71:16:71:16 | k | tst.js:71:16:71:16 | k |
| tst.js:72:3:72:11 | await p() | tst.js:72:3:72:11 | await p() |
| tst.js:72:9:72:9 | p | tst.js:72:9:72:9 | p |
| tst.js:72:9:72:11 | p() | tst.js:72:9:72:11 | p() |
| tst.js:75:5:75:5 | m | tst.js:75:5:75:5 | m |
| tst.js:75:5:75:21 | m = import('foo') | tst.js:75:5:75:21 | m = import('foo') |
| tst.js:75:9:75:21 | import('foo') | tst.js:75:9:75:21 | import('foo') |
| tst.js:75:16:75:20 | 'foo' | tst.js:75:16:75:20 | 'foo' |
| tst.js:77:10:77:10 | i | tst.js:77:10:77:10 | i |
| tst.js:77:10:77:10 | i | tst.js:77:10:77:10 | i |
| tst.js:77:15:77:15 | o | tst.js:77:15:77:15 | o |
| tst.js:78:3:78:3 | i | tst.js:78:3:78:3 | i |
| tst.js:80:10:80:10 | v | tst.js:80:10:80:10 | v |
| tst.js:80:10:80:10 | v | tst.js:80:10:80:10 | v |
| tst.js:80:15:80:15 | o | tst.js:80:15:80:15 | o |
| tst.js:81:3:81:3 | v | tst.js:81:3:81:3 | v |
| tst.js:83:5:83:7 | vs1 | tst.js:83:5:83:7 | vs1 |
| tst.js:83:5:83:28 | vs1 = [ ... o) v ] | tst.js:83:5:83:28 | vs1 = [ ... o) v ] |
| tst.js:83:11:83:28 | [ for (v of o) v ] | tst.js:83:11:83:28 | [ for (v of o) v ] |
| tst.js:83:13:83:24 | for (v of o) | tst.js:83:13:83:24 | for (v of o) |
| tst.js:83:18:83:18 | v | tst.js:83:18:83:18 | v |
| tst.js:83:23:83:23 | o | tst.js:83:23:83:23 | o |
| tst.js:83:26:83:26 | v | tst.js:83:26:83:26 | v |
| tst.js:85:5:85:7 | vs2 | tst.js:85:5:85:7 | vs2 |
| tst.js:85:5:85:28 | vs2 = ( ... o) v ) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:85:11:85:28 | ( for (v of o) v ) | tst.js:85:11:85:28 | ( for (v of o) v ) |
| tst.js:85:13:85:24 | for (v of o) | tst.js:85:13:85:24 | for (v of o) |
| tst.js:85:18:85:18 | v | tst.js:85:18:85:18 | v |
| tst.js:85:23:85:23 | o | tst.js:85:23:85:23 | o |
| tst.js:85:26:85:26 | v | tst.js:85:26:85:26 | v |
| tst.js:87:1:92:2 | (functi ... + z;\\n}) | tst.js:87:1:92:2 | (functi ... + z;\\n}) |
| tst.js:87:1:96:2 | (functi ... r: 0\\n}) | tst.js:87:1:96:2 | (functi ... r: 0\\n}) |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:87:2:92:1 | functio ... + z;\\n} |
| tst.js:87:11:87:24 | { p: x, ...o } | tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:87:13:87:13 | p | tst.js:87:13:87:13 | p |
| tst.js:87:16:87:16 | x | tst.js:87:16:87:16 | x |
| tst.js:87:22:87:22 | o | tst.js:87:22:87:22 | o |
| tst.js:88:7:88:14 | { q: y } | tst.js:88:7:88:14 | { q: y } |
| tst.js:88:7:88:18 | { q: y } = o | tst.js:88:7:88:18 | { q: y } = o |
| tst.js:88:9:88:9 | q | tst.js:88:9:88:9 | q |
| tst.js:88:12:88:12 | y | tst.js:88:12:88:12 | y |
| tst.js:88:18:88:18 | o | tst.js:88:18:88:18 | o |
| tst.js:89:7:89:7 | z | tst.js:89:7:89:7 | z |
| tst.js:89:7:89:7 | z | tst.js:89:7:89:7 | z |
| tst.js:90:3:90:16 | ({ r: z } = o) | tst.js:90:3:90:16 | ({ r: z } = o) |
| tst.js:90:4:90:11 | { r: z } | tst.js:90:4:90:11 | { r: z } |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:90:4:90:15 | { r: z } = o |
| tst.js:90:6:90:6 | r | tst.js:90:6:90:6 | r |
| tst.js:90:9:90:9 | z | tst.js:90:9:90:9 | z |
| tst.js:90:15:90:15 | o | tst.js:90:15:90:15 | o |
| tst.js:91:10:91:10 | x | tst.js:91:10:91:10 | x |
| tst.js:91:10:91:14 | x + y | tst.js:91:10:91:14 | x + y |
| tst.js:91:10:91:18 | x + y + z | tst.js:91:10:91:18 | x + y + z |
| tst.js:91:14:91:14 | y | tst.js:91:14:91:14 | y |
| tst.js:91:18:91:18 | z | tst.js:91:18:91:18 | z |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} |
| tst.js:93:3:93:3 | p | tst.js:93:3:93:3 | p |
| tst.js:93:6:93:7 | 19 | tst.js:93:6:93:7 | 19 |
| tst.js:94:3:94:3 | q | tst.js:94:3:94:3 | q |
| tst.js:94:6:94:7 | 23 | tst.js:94:6:94:7 | 23 |
| tst.js:95:3:95:3 | r | tst.js:95:3:95:3 | r |
| tst.js:95:6:95:6 | 0 | tst.js:95:6:95:6 | 0 |
| tst.js:98:1:103:2 | (functi ... + z;\\n}) | tst.js:98:1:103:2 | (functi ... + z;\\n}) |
| tst.js:98:1:103:17 | (functi ... 3, 0 ]) | tst.js:98:1:103:17 | (functi ... 3, 0 ]) |
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:98:2:103:1 | functio ... + z;\\n} |
| tst.js:98:11:98:24 | [ x, ...rest ] | tst.js:98:11:98:24 | [ x, ...rest ] |
| tst.js:98:13:98:13 | x | tst.js:98:13:98:13 | x |
| tst.js:98:19:98:22 | rest | tst.js:98:19:98:22 | rest |
| tst.js:99:7:99:11 | [ y ] | tst.js:99:7:99:11 | [ y ] |
| tst.js:99:7:99:18 | [ y ] = rest | tst.js:99:7:99:18 | [ y ] = rest |
| tst.js:99:9:99:9 | y | tst.js:99:9:99:9 | y |
| tst.js:99:15:99:18 | rest | tst.js:99:15:99:18 | rest |
| tst.js:100:7:100:7 | z | tst.js:100:7:100:7 | z |
| tst.js:100:7:100:7 | z | tst.js:100:7:100:7 | z |
| tst.js:101:3:101:9 | [ , z ] | tst.js:101:3:101:9 | [ , z ] |
| tst.js:101:3:101:16 | [ , z ] = rest | tst.js:101:3:101:16 | [ , z ] = rest |
| tst.js:101:7:101:7 | z | tst.js:101:7:101:7 | z |
| tst.js:101:13:101:16 | rest | tst.js:101:13:101:16 | rest |
| tst.js:102:10:102:10 | x | tst.js:102:10:102:10 | x |
| tst.js:102:10:102:14 | x + y | tst.js:102:10:102:14 | x + y |
| tst.js:102:10:102:18 | x + y + z | tst.js:102:10:102:18 | x + y + z |
| tst.js:102:14:102:14 | y | tst.js:102:14:102:14 | y |
| tst.js:102:18:102:18 | z | tst.js:102:18:102:18 | z |
| tst.js:103:4:103:16 | [ 19, 23, 0 ] | tst.js:103:4:103:16 | [ 19, 23, 0 ] |
| tst.js:103:6:103:7 | 19 | tst.js:103:6:103:7 | 19 |
| tst.js:103:10:103:11 | 23 | tst.js:103:10:103:11 | 23 |
| tst.js:103:14:103:14 | 0 | tst.js:103:14:103:14 | 0 |
| tst.js:105:1:105:1 | x | tst.js:105:1:105:1 | x |
| tst.js:105:1:105:6 | x ?? y | tst.js:105:1:105:6 | x ?? y |
| tst.js:105:6:105:6 | y | tst.js:105:6:105:6 | y |
| tst.js:107:1:113:2 | (functi ... v2c;\\n}) | tst.js:107:1:113:2 | (functi ... v2c;\\n}) |
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:2:113:1 | functio ... v2c;\\n} |
| tst.js:108:6:108:32 | {v1a, v ... = o1c} | tst.js:108:6:108:32 | {v1a, v ... = o1c} |
| tst.js:108:6:108:38 | {v1a, v ... } = o1d | tst.js:108:6:108:38 | {v1a, v ... } = o1d |
| tst.js:108:7:108:9 | v1a | tst.js:108:7:108:9 | v1a |
| tst.js:108:7:108:9 | v1a | tst.js:108:7:108:9 | v1a |
| tst.js:108:12:108:14 | v1b | tst.js:108:12:108:14 | v1b |
| tst.js:108:12:108:14 | v1b | tst.js:108:12:108:14 | v1b |
| tst.js:108:18:108:20 | o1b | tst.js:108:18:108:20 | o1b |
| tst.js:108:23:108:25 | v1c | tst.js:108:23:108:25 | v1c |
| tst.js:108:23:108:25 | v1c | tst.js:108:23:108:25 | v1c |
| tst.js:108:29:108:31 | o1c | tst.js:108:29:108:31 | o1c |
| tst.js:108:36:108:38 | o1d | tst.js:108:36:108:38 | o1d |
| tst.js:109:2:109:4 | v1a | tst.js:109:2:109:4 | v1a |
| tst.js:109:2:109:10 | v1a + v1b | tst.js:109:2:109:10 | v1a + v1b |
| tst.js:109:2:109:16 | v1a + v1b + v1c | tst.js:109:2:109:16 | v1a + v1b + v1c |
| tst.js:109:8:109:10 | v1b | tst.js:109:8:109:10 | v1b |
| tst.js:109:14:109:16 | v1c | tst.js:109:14:109:16 | v1c |
| tst.js:111:6:111:32 | [v2a, v ... = o2c] | tst.js:111:6:111:32 | [v2a, v ... = o2c] |
| tst.js:111:6:111:38 | [v2a, v ... ] = o2d | tst.js:111:6:111:38 | [v2a, v ... ] = o2d |
| tst.js:111:7:111:9 | v2a | tst.js:111:7:111:9 | v2a |
| tst.js:111:12:111:14 | v2b | tst.js:111:12:111:14 | v2b |
| tst.js:111:18:111:20 | o2b | tst.js:111:18:111:20 | o2b |
| tst.js:111:23:111:25 | v2c | tst.js:111:23:111:25 | v2c |
| tst.js:111:29:111:31 | o2c | tst.js:111:29:111:31 | o2c |
| tst.js:111:36:111:38 | o2d | tst.js:111:36:111:38 | o2d |
| tst.js:112:2:112:4 | v2a | tst.js:112:2:112:4 | v2a |
| tst.js:112:2:112:10 | v2a + v2b | tst.js:112:2:112:10 | v2a + v2b |
| tst.js:112:2:112:16 | v2a + v2b + v2c | tst.js:112:2:112:16 | v2a + v2b + v2c |
| tst.js:112:8:112:10 | v2b | tst.js:112:8:112:10 | v2b |
| tst.js:112:14:112:16 | v2c | tst.js:112:14:112:16 | v2c |
| tst.js:115:1:115:5 | Array | tst.js:115:1:115:5 | Array |
| tst.js:115:1:115:10 | Array.call | tst.js:115:1:115:10 | Array.call |
| tst.js:115:1:115:12 | Array.call() | tst.js:115:1:115:12 | Array.call() |
| tst.js:115:1:115:12 | reflective call | tst.js:115:1:115:12 | Array.call() |
| tst.js:115:7:115:10 | call | tst.js:115:7:115:10 | call |
| tst.js:117:5:117:6 | x2 | tst.js:117:5:117:6 | x2 |
| tst.js:117:5:117:24 | x2 = Object.seal(x1) | tst.js:117:5:117:24 | x2 = Object.seal(x1) |
| tst.js:117:10:117:15 | Object | tst.js:117:10:117:15 | Object |
| tst.js:117:10:117:20 | Object.seal | tst.js:117:10:117:20 | Object.seal |
| tst.js:117:10:117:24 | Object.seal(x1) | tst.js:117:10:117:24 | Object.seal(x1) |
| tst.js:117:17:117:20 | seal | tst.js:117:17:117:20 | seal |
| tst.js:117:22:117:23 | x1 | tst.js:117:22:117:23 | x1 |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::Node node
select node, node.getEnclosingExpr()

View File

@@ -1,189 +0,0 @@
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:12:2 | (functi ... 3);\\n}) |
| arguments.js:2:5:2:5 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:2:14:2:14 | f |
| arguments.js:2:14:2:14 | f | arguments.js:11:5:11:5 | f |
| arguments.js:2:16:2:16 | x | arguments.js:2:16:2:16 | x |
| arguments.js:2:16:2:16 | x | arguments.js:3:24:3:24 | x |
| arguments.js:6:13:6:28 | args | arguments.js:7:24:7:27 | args |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:13:6:28 | args |
| arguments.js:8:9:8:22 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments = {} |
| eval.js:2:7:2:12 | x | eval.js:4:3:4:3 | x |
| eval.js:2:11:2:12 | 42 | eval.js:2:7:2:12 | x |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:6 | x |
| sources.js:1:6:1:6 | x | sources.js:1:11:1:11 | x |
| sources.js:1:6:1:11 | x => x | sources.js:1:5:1:12 | (x => x) |
| sources.js:1:11:1:11 | x | sources.js:1:1:1:12 | new (x => x) |
| sources.js:1:11:1:11 | x | sources.js:1:6:1:11 | return of anonymous function |
| sources.js:3:2:5:1 | functio ... x+19;\\n} | sources.js:3:1:5:2 | (functi ... +19;\\n}) |
| sources.js:3:11:3:11 | x | sources.js:3:11:3:11 | x |
| sources.js:3:11:3:11 | x | sources.js:4:10:4:10 | x |
| sources.js:4:10:4:13 | x+19 | sources.js:3:1:5:6 | (functi ... \\n})(23) |
| sources.js:4:10:4:13 | x+19 | sources.js:3:2:5:1 | return of anonymous function |
| sources.js:5:4:5:5 | 23 | sources.js:3:11:3:11 | x |
| sources.js:9:14:9:18 | array | sources.js:9:14:9:18 | array |
| sources.js:9:14:9:18 | array | sources.js:10:19:10:23 | array |
| sources.js:9:14:9:18 | array | sources.js:11:23:11:27 | array |
| sources.js:10:12:10:14 | key | sources.js:10:28:10:30 | key |
| sources.js:11:12:11:18 | key | sources.js:11:32:11:34 | key |
| sources.js:11:14:11:16 | key | sources.js:11:12:11:18 | key |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:8:5:1 | A |
| tst2.ts:1:18:1:18 | A | tst2.ts:7:1:7:0 | A |
| tst2.ts:2:14:2:19 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:14:2:19 | x |
| tst2.ts:7:1:7:0 | A | tst2.ts:8:3:8:3 | A |
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} | tst2.ts:7:10:7:13 | setX |
| tst2.ts:7:10:7:13 | setX | tst2.ts:3:3:3:6 | setX |
| tst2.ts:8:9:8:10 | 23 | tst2.ts:8:3:8:10 | A.x = 23 |
| tst2.ts:11:11:11:13 | A.x | tst2.ts:11:11:11:23 | A.x as number |
| tst2.ts:13:26:13:29 | List | tst2.ts:13:26:13:37 | List<string> |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst.js:1:1:1:1 | x | tst.js:3:5:3:5 | x |
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs | tst.js:7:1:7:2 | fs |
| tst.js:1:10:1:11 | fs | tst.js:22:24:22:25 | fs |
| tst.js:3:5:3:5 | x | tst.js:28:2:28:1 | x |
| tst.js:3:5:3:5 | x | tst.js:32:1:32:0 | x |
| tst.js:3:5:3:10 | x | tst.js:3:5:3:5 | x |
| tst.js:3:5:3:10 | x | tst.js:8:1:8:1 | x |
| tst.js:3:5:3:10 | x | tst.js:9:2:9:2 | x |
| tst.js:3:5:3:10 | x | tst.js:10:1:10:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:9:3:10 | 42 | tst.js:3:5:3:10 | x |
| tst.js:4:5:4:12 | y | tst.js:10:4:10:4 | y |
| tst.js:4:5:4:12 | y | tst.js:11:6:11:6 | y |
| tst.js:4:5:4:12 | y | tst.js:12:6:12:6 | y |
| tst.js:4:5:4:12 | y | tst.js:13:5:13:5 | y |
| tst.js:4:5:4:12 | y | tst.js:14:9:14:9 | y |
| tst.js:4:5:4:12 | y | tst.js:105:6:105:6 | y |
| tst.js:4:9:4:12 | "hi" | tst.js:4:5:4:12 | y |
| tst.js:9:2:9:2 | x | tst.js:9:1:9:3 | (x) |
| tst.js:10:4:10:4 | y | tst.js:10:1:10:4 | x, y |
| tst.js:11:1:11:1 | x | tst.js:11:1:11:6 | x && y |
| tst.js:11:1:11:1 | x | tst.js:12:1:12:1 | x |
| tst.js:11:1:11:1 | x | tst.js:12:1:12:1 | x |
| tst.js:11:6:11:6 | y | tst.js:11:1:11:6 | x && y |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:6 | x \|\| y |
| tst.js:12:1:12:1 | x | tst.js:13:1:13:1 | x |
| tst.js:12:1:12:1 | x | tst.js:13:1:13:1 | x |
| tst.js:12:6:12:6 | y | tst.js:12:1:12:6 | x \|\| y |
| tst.js:13:1:13:1 | x | tst.js:14:5:14:5 | x |
| tst.js:13:1:13:1 | x | tst.js:25:3:25:3 | x |
| tst.js:13:1:13:5 | z | tst.js:14:1:14:1 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z = y |
| tst.js:14:5:14:5 | x | tst.js:14:1:14:9 | z ? x : y |
| tst.js:14:9:14:9 | y | tst.js:14:1:14:9 | z ? x : y |
| tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:1:20:2 | (functi ... "";\\n}) |
| tst.js:16:13:16:13 | a | tst.js:16:13:16:13 | a |
| tst.js:16:13:16:13 | a | tst.js:18:12:18:12 | a |
| tst.js:18:12:18:12 | a | tst.js:16:1:20:9 | (functi ... ("arg") |
| tst.js:18:12:18:12 | a | tst.js:16:2:20:1 | return of function f |
| tst.js:19:10:19:11 | "" | tst.js:16:1:20:9 | (functi ... ("arg") |
| tst.js:19:10:19:11 | "" | tst.js:16:2:20:1 | return of function f |
| tst.js:20:4:20:8 | "arg" | tst.js:16:13:16:13 | a |
| tst.js:22:5:22:25 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:5:22:25 | readFileSync |
| tst.js:22:24:22:25 | fs | tst.js:22:5:22:20 | { readFileSync } |
| tst.js:25:1:25:3 | x | tst.js:3:5:3:5 | x |
| tst.js:25:1:25:3 | x | tst.js:26:1:26:1 | x |
| tst.js:25:1:25:3 | x | tst.js:57:7:57:7 | x |
| tst.js:25:1:25:3 | x | tst.js:58:11:58:11 | x |
| tst.js:25:1:25:3 | x | tst.js:105:1:105:1 | x |
| tst.js:28:2:28:1 | x | tst.js:29:3:29:3 | x |
| tst.js:28:2:29:3 | () =>\\n x | tst.js:28:1:30:1 | (() =>\\n ... ables\\n) |
| tst.js:29:3:29:3 | x | tst.js:28:1:30:3 | (() =>\\n ... les\\n)() |
| tst.js:29:3:29:3 | x | tst.js:28:2:29:3 | return of anonymous function |
| tst.js:32:1:32:0 | x | tst.js:33:10:33:10 | x |
| tst.js:32:1:34:1 | functio ... ables\\n} | tst.js:32:10:32:10 | g |
| tst.js:32:10:32:10 | g | tst.js:35:1:35:1 | g |
| tst.js:32:10:32:10 | g | tst.js:60:1:60:1 | g |
| tst.js:32:10:32:10 | g | tst.js:62:4:62:4 | g |
| tst.js:33:10:33:10 | x | tst.js:32:1:34:1 | return of function g |
| tst.js:37:5:42:1 | o | tst.js:43:1:43:1 | o |
| tst.js:37:5:42:1 | o | tst.js:44:1:44:1 | o |
| tst.js:37:5:42:1 | o | tst.js:61:3:61:3 | o |
| tst.js:37:5:42:1 | o | tst.js:62:1:62:1 | o |
| tst.js:37:5:42:1 | o | tst.js:77:15:77:15 | o |
| tst.js:37:5:42:1 | o | tst.js:80:15:80:15 | o |
| tst.js:37:5:42:1 | o | tst.js:83:23:83:23 | o |
| tst.js:37:5:42:1 | o | tst.js:85:23:85:23 | o |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:5:42:1 | o |
| tst.js:39:4:39:3 | this | tst.js:40:5:40:8 | this |
| tst.js:46:10:46:11 | "" | tst.js:46:1:46:11 | global = "" |
| tst.js:49:1:54:1 | A | tst.js:55:1:55:1 | A |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:49:1:54:1 | A |
| tst.js:64:1:67:1 | functio ... lysed\\n} | tst.js:64:11:64:11 | h |
| tst.js:64:11:64:11 | h | tst.js:68:12:68:12 | h |
| tst.js:68:5:68:14 | iter | tst.js:69:1:69:4 | iter |
| tst.js:68:12:68:14 | h() | tst.js:68:5:68:14 | iter |
| tst.js:77:10:77:10 | i | tst.js:78:3:78:3 | i |
| tst.js:80:10:80:10 | v | tst.js:81:3:81:3 | v |
| tst.js:83:18:83:18 | v | tst.js:83:26:83:26 | v |
| tst.js:85:18:85:18 | v | tst.js:85:26:85:26 | v |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:87:1:92:2 | (functi ... + z;\\n}) |
| tst.js:87:11:87:24 | o | tst.js:88:18:88:18 | o |
| tst.js:87:11:87:24 | o | tst.js:90:15:90:15 | o |
| tst.js:87:11:87:24 | x | tst.js:91:10:91:10 | x |
| tst.js:87:13:87:16 | p: x | tst.js:87:11:87:24 | x |
| tst.js:88:7:88:18 | y | tst.js:91:14:91:14 | y |
| tst.js:88:9:88:12 | q: y | tst.js:88:7:88:18 | y |
| tst.js:88:18:88:18 | o | tst.js:88:7:88:14 | { q: y } |
| tst.js:90:4:90:15 | z | tst.js:91:18:91:18 | z |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:90:3:90:16 | ({ r: z } = o) |
| tst.js:90:6:90:9 | r: z | tst.js:90:4:90:15 | z |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:11 | { r: z } |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:15 | { r: z } = o |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:1:96:2 | (functi ... r: 0\\n}) |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:2:92:1 | return of anonymous function |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:98:1:103:2 | (functi ... + z;\\n}) |
| tst.js:98:11:98:24 | rest | tst.js:99:15:99:18 | rest |
| tst.js:98:11:98:24 | rest | tst.js:101:13:101:16 | rest |
| tst.js:98:11:98:24 | x | tst.js:102:10:102:10 | x |
| tst.js:98:13:98:13 | x | tst.js:98:11:98:24 | x |
| tst.js:99:7:99:18 | y | tst.js:102:14:102:14 | y |
| tst.js:99:9:99:9 | y | tst.js:99:7:99:18 | y |
| tst.js:99:15:99:18 | rest | tst.js:99:7:99:11 | [ y ] |
| tst.js:101:3:101:16 | z | tst.js:102:18:102:18 | z |
| tst.js:101:7:101:7 | z | tst.js:101:3:101:16 | z |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:9 | [ , z ] |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:16 | [ , z ] = rest |
| tst.js:102:10:102:18 | x + y + z | tst.js:98:1:103:17 | (functi ... 3, 0 ]) |
| tst.js:102:10:102:18 | x + y + z | tst.js:98:2:103:1 | return of anonymous function |
| 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:18:108:20 | 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:29:108:31 | 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:18:111:20 | o2b | tst.js:111:6:111:38 | v2b |
| tst.js:111:23:111:25 | v2c | tst.js:111:6:111:38 | v2c |
| 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() |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::Node nd
select nd.getAPredecessor(), nd

View File

@@ -1,154 +0,0 @@
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:12:2 | (functi ... 3);\\n}) |
| arguments.js:2:5:2:5 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:2:14:2:14 | f |
| arguments.js:2:14:2:14 | f | arguments.js:11:5:11:5 | f |
| arguments.js:2:16:2:16 | x | arguments.js:2:16:2:16 | x |
| arguments.js:2:16:2:16 | x | arguments.js:3:24:3:24 | x |
| arguments.js:6:13:6:28 | args | arguments.js:7:24:7:27 | args |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:13:6:28 | args |
| arguments.js:8:9:8:22 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments = {} |
| eval.js:2:7:2:12 | x | eval.js:4:3:4:3 | x |
| eval.js:2:11:2:12 | 42 | eval.js:2:7:2:12 | x |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:6 | x |
| sources.js:1:6:1:6 | x | sources.js:1:11:1:11 | x |
| sources.js:1:6:1:11 | x => x | sources.js:1:5:1:12 | (x => x) |
| sources.js:1:11:1:11 | x | sources.js:1:1:1:12 | new (x => x) |
| sources.js:3:2:5:1 | functio ... x+19;\\n} | sources.js:3:1:5:2 | (functi ... +19;\\n}) |
| sources.js:3:11:3:11 | x | sources.js:3:11:3:11 | x |
| sources.js:3:11:3:11 | x | sources.js:4:10:4:10 | x |
| sources.js:4:10:4:13 | x+19 | sources.js:3:1:5:6 | (functi ... \\n})(23) |
| sources.js:5:4:5:5 | 23 | sources.js:3:11:3:11 | x |
| sources.js:9:14:9:18 | array | sources.js:9:14:9:18 | array |
| sources.js:9:14:9:18 | array | sources.js:10:19:10:23 | array |
| sources.js:9:14:9:18 | array | sources.js:11:23:11:27 | array |
| sources.js:10:12:10:14 | key | sources.js:10:28:10:30 | key |
| sources.js:11:12:11:18 | key | sources.js:11:32:11:34 | key |
| sources.js:11:14:11:16 | key | sources.js:11:12:11:18 | key |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:8:5:1 | A |
| tst2.ts:2:14:2:19 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:14:2:19 | x |
| tst2.ts:7:1:7:0 | A | tst2.ts:8:3:8:3 | A |
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} | tst2.ts:7:10:7:13 | setX |
| tst2.ts:7:10:7:13 | setX | tst2.ts:3:3:3:6 | setX |
| tst2.ts:8:9:8:10 | 23 | tst2.ts:8:3:8:10 | A.x = 23 |
| tst2.ts:11:11:11:13 | A.x | tst2.ts:11:11:11:23 | A.x as number |
| tst2.ts:13:26:13:29 | List | tst2.ts:13:26:13:37 | List<string> |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs | tst.js:7:1:7:2 | fs |
| tst.js:1:10:1:11 | fs | tst.js:22:24:22:25 | fs |
| tst.js:3:5:3:10 | x | tst.js:8:1:8:1 | x |
| tst.js:3:5:3:10 | x | tst.js:9:2:9:2 | x |
| tst.js:3:5:3:10 | x | tst.js:10:1:10:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:12:1:12:1 | x |
| tst.js:3:5:3:10 | x | tst.js:13:1:13:1 | x |
| tst.js:3:9:3:10 | 42 | tst.js:3:5:3:10 | x |
| tst.js:4:5:4:12 | y | tst.js:10:4:10:4 | y |
| tst.js:4:5:4:12 | y | tst.js:11:6:11:6 | y |
| tst.js:4:5:4:12 | y | tst.js:12:6:12:6 | y |
| tst.js:4:5:4:12 | y | tst.js:13:5:13:5 | y |
| tst.js:4:5:4:12 | y | tst.js:14:9:14:9 | y |
| tst.js:4:5:4:12 | y | tst.js:105:6:105:6 | y |
| tst.js:4:9:4:12 | "hi" | tst.js:4:5:4:12 | y |
| tst.js:9:2:9:2 | x | tst.js:9:1:9:3 | (x) |
| tst.js:10:4:10:4 | y | tst.js:10:1:10:4 | x, y |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:13:1:13:1 | x | tst.js:14:5:14:5 | x |
| tst.js:13:1:13:1 | x | tst.js:25:3:25:3 | x |
| tst.js:13:1:13:5 | z | tst.js:14:1:14:1 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z = y |
| tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:1:20:2 | (functi ... "";\\n}) |
| tst.js:16:13:16:13 | a | tst.js:16:13:16:13 | a |
| tst.js:16:13:16:13 | a | tst.js:18:12:18:12 | a |
| tst.js:20:4:20:8 | "arg" | tst.js:16:13:16:13 | a |
| tst.js:22:5:22:25 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:5:22:25 | readFileSync |
| tst.js:22:24:22:25 | fs | tst.js:22:5:22:20 | { readFileSync } |
| tst.js:25:1:25:3 | x | tst.js:26:1:26:1 | x |
| tst.js:25:1:25:3 | x | tst.js:57:7:57:7 | x |
| tst.js:25:1:25:3 | x | tst.js:58:11:58:11 | x |
| tst.js:25:1:25:3 | x | tst.js:105:1:105:1 | x |
| tst.js:28:2:28:1 | x | tst.js:29:3:29:3 | x |
| tst.js:28:2:29:3 | () =>\\n x | tst.js:28:1:30:1 | (() =>\\n ... ables\\n) |
| tst.js:29:3:29:3 | x | tst.js:28:1:30:3 | (() =>\\n ... les\\n)() |
| tst.js:32:1:32:0 | x | tst.js:33:10:33:10 | x |
| tst.js:32:1:34:1 | functio ... ables\\n} | tst.js:32:10:32:10 | g |
| tst.js:32:10:32:10 | g | tst.js:35:1:35:1 | g |
| tst.js:32:10:32:10 | g | tst.js:60:1:60:1 | g |
| tst.js:32:10:32:10 | g | tst.js:62:4:62:4 | g |
| tst.js:37:5:42:1 | o | tst.js:43:1:43:1 | o |
| tst.js:37:5:42:1 | o | tst.js:44:1:44:1 | o |
| tst.js:37:5:42:1 | o | tst.js:61:3:61:3 | o |
| tst.js:37:5:42:1 | o | tst.js:62:1:62:1 | o |
| tst.js:37:5:42:1 | o | tst.js:77:15:77:15 | o |
| tst.js:37:5:42:1 | o | tst.js:80:15:80:15 | o |
| tst.js:37:5:42:1 | o | tst.js:83:23:83:23 | o |
| tst.js:37:5:42:1 | o | tst.js:85:23:85:23 | o |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:5:42:1 | o |
| tst.js:39:4:39:3 | this | tst.js:40:5:40:8 | this |
| tst.js:46:10:46:11 | "" | tst.js:46:1:46:11 | global = "" |
| tst.js:49:1:54:1 | A | tst.js:55:1:55:1 | A |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:49:1:54:1 | A |
| tst.js:64:1:67:1 | functio ... lysed\\n} | tst.js:64:11:64:11 | h |
| tst.js:64:11:64:11 | h | tst.js:68:12:68:12 | h |
| tst.js:68:5:68:14 | iter | tst.js:69:1:69:4 | iter |
| tst.js:68:12:68:14 | h() | tst.js:68:5:68:14 | iter |
| tst.js:77:10:77:10 | i | tst.js:78:3:78:3 | i |
| tst.js:80:10:80:10 | v | tst.js:81:3:81:3 | v |
| tst.js:83:18:83:18 | v | tst.js:83:26:83:26 | v |
| tst.js:85:18:85:18 | v | tst.js:85:26:85:26 | v |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:87:1:92:2 | (functi ... + z;\\n}) |
| tst.js:87:11:87:24 | o | tst.js:88:18:88:18 | o |
| tst.js:87:11:87:24 | o | tst.js:90:15:90:15 | o |
| tst.js:87:11:87:24 | x | tst.js:91:10:91:10 | x |
| tst.js:87:13:87:16 | p: x | tst.js:87:11:87:24 | x |
| tst.js:88:7:88:18 | y | tst.js:91:14:91:14 | y |
| tst.js:88:9:88:12 | q: y | tst.js:88:7:88:18 | y |
| tst.js:88:18:88:18 | o | tst.js:88:7:88:14 | { q: y } |
| tst.js:90:4:90:15 | z | tst.js:91:18:91:18 | z |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:90:3:90:16 | ({ r: z } = o) |
| tst.js:90:6:90:9 | r: z | tst.js:90:4:90:15 | z |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:11 | { r: z } |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:15 | { r: z } = o |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:1:96:2 | (functi ... r: 0\\n}) |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:98:1:103:2 | (functi ... + z;\\n}) |
| tst.js:98:11:98:24 | rest | tst.js:99:15:99:18 | rest |
| tst.js:98:11:98:24 | rest | tst.js:101:13:101:16 | rest |
| tst.js:98:11:98:24 | x | tst.js:102:10:102:10 | x |
| tst.js:98:13:98:13 | x | tst.js:98:11:98:24 | x |
| tst.js:99:7:99:18 | y | tst.js:102:14:102:14 | y |
| tst.js:99:9:99:9 | y | tst.js:99:7:99:18 | y |
| tst.js:99:15:99:18 | rest | tst.js:99:7:99:11 | [ y ] |
| tst.js:101:3:101:16 | z | tst.js:102:18:102:18 | z |
| tst.js:101:7:101:7 | z | tst.js:101:3:101:16 | z |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:9 | [ , z ] |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:16 | [ , z ] = rest |
| tst.js:102:10:102:18 | x + y + z | tst.js:98:1:103:17 | (functi ... 3, 0 ]) |
| tst.js:103:4:103:16 | [ 19, 23, 0 ] | tst.js:98:11:98:24 | [ x, ...rest ] |
| 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: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: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.js:117:22:117:23 | x1 | tst.js:117:10:117:24 | Object.seal(x1) |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::Node nd
select nd.getImmediatePredecessor(), nd

View File

@@ -1,22 +0,0 @@
| arguments.js:4:38:4:38 | 0 | 0 |
| arguments.js:5:35:5:35 | 1 | 1 |
| arguments.js:7:29:7:29 | 2 | 2 |
| arguments.js:9:37:9:37 | 0 | 0 |
| arguments.js:11:7:11:7 | 1 | 1 |
| arguments.js:11:10:11:10 | 2 | 2 |
| arguments.js:11:13:11:13 | 3 | 3 |
| eval.js:2:11:2:12 | 42 | 42 |
| sources.js:4:12:4:13 | 19 | 19 |
| sources.js:5:4:5:5 | 23 | 23 |
| tst2.ts:2:18:2:19 | 42 | 42 |
| tst2.ts:8:9:8:10 | 23 | 23 |
| tst.js:3:9:3:10 | 42 | 42 |
| tst.js:51:11:51:12 | 42 | 42 |
| tst.js:65:9:65:10 | 42 | 42 |
| tst.js:69:11:69:12 | 23 | 23 |
| tst.js:93:6:93:7 | 19 | 19 |
| tst.js:94:6:94:7 | 23 | 23 |
| tst.js:95:6:95:6 | 0 | 0 |
| tst.js:103:6:103:7 | 19 | 19 |
| tst.js:103:10:103:11 | 23 | 23 |
| tst.js:103:14:103:14 | 0 | 0 |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::Node node
select node, node.getIntValue()

View File

@@ -1,120 +0,0 @@
| arguments.js:1:1:12:4 | exceptional return of (functi ... );\\n})() | call |
| arguments.js:1:2:12:1 | exceptional return of anonymous function | call |
| arguments.js:2:5:10:5 | exceptional return of function f | call |
| arguments.js:2:16:2:16 | x | call |
| arguments.js:4:28:4:39 | arguments[0] | heap |
| arguments.js:5:25:5:36 | arguments[1] | heap |
| arguments.js:7:24:7:30 | args[2] | heap |
| arguments.js:9:27:9:38 | arguments[0] | heap |
| arguments.js:11:5:11:14 | exceptional return of f(1, 2, 3) | call |
| arguments.js:11:5:11:14 | f(1, 2, 3) | call |
| eval.js:1:1:5:1 | exceptional return of function k | call |
| eval.js:2:7:2:12 | x | eval |
| eval.js:3:3:3:6 | eval | global |
| eval.js:3:3:3:16 | eval("x = 23") | call |
| eval.js:3:3:3:16 | exceptional return of eval("x = 23") | call |
| sources.js:1:1:1:12 | exceptional return of new (x => x) | call |
| sources.js:1:6:1:11 | exceptional return of anonymous function | call |
| sources.js:3:1:5:6 | exceptional return of (functi ... \\n})(23) | call |
| sources.js:3:2:5:1 | exceptional return of anonymous function | call |
| sources.js:9:1:12:1 | exceptional return of function foo | call |
| sources.js:9:14:9:18 | array | call |
| sources.js:10:12:10:14 | key | heap |
| sources.js:11:12:11:18 | key | heap |
| sources.js:11:14:11:16 | key | heap |
| tst2.ts:2:14:2:19 | x | namespace |
| tst2.ts:3:3:3:8 | exceptional return of setX() | call |
| tst2.ts:3:3:3:8 | setX() | call |
| tst2.ts:7:1:9:1 | exceptional return of function setX | call |
| tst2.ts:8:3:8:5 | A.x | heap |
| tst2.ts:11:11:11:13 | A.x | heap |
| tst2.ts:13:26:13:29 | List | global |
| tst2.ts:13:39:13:38 | exceptional return of default constructor of class StringList | call |
| tst2.ts:13:39:13:38 | exceptional return of super(...args) | call |
| tst2.ts:13:39:13:38 | super | call |
| tst2.ts:13:39:13:38 | super(...args) | call |
| tst.js:1:10:1:11 | fs | import |
| tst.js:16:1:20:9 | exceptional return of (functi ... ("arg") | call |
| tst.js:16:2:20:1 | exceptional return of function f | call |
| tst.js:17:7:17:10 | Math | global |
| tst.js:17:7:17:17 | Math.random | global |
| tst.js:17:7:17:17 | Math.random | heap |
| tst.js:17:7:17:19 | Math.random() | call |
| tst.js:17:7:17:19 | exceptional return of Math.random() | call |
| tst.js:22:7:22:18 | readFileSync | heap |
| tst.js:28:1:30:3 | exceptional return of (() =>\\n ... les\\n)() | call |
| tst.js:28:2:29:3 | exceptional return of anonymous function | call |
| tst.js:32:1:34:1 | exceptional return of function g | call |
| tst.js:32:12:32:12 | b | call |
| tst.js:35:1:35:7 | exceptional return of g(true) | call |
| tst.js:35:1:35:7 | g(true) | call |
| tst.js:39:4:41:3 | exceptional return of method m | call |
| tst.js:40:5:40:8 | this | call |
| tst.js:43:1:43:3 | o.x | heap |
| tst.js:44:1:44:3 | o.m | heap |
| tst.js:44:1:44:5 | exceptional return of o.m() | call |
| tst.js:44:1:44:5 | o.m() | call |
| tst.js:47:1:47:6 | global | global |
| tst.js:49:17:49:17 | B | global |
| tst.js:50:14:53:3 | exceptional return of constructor of class A | call |
| tst.js:51:5:51:9 | super | call |
| tst.js:51:5:51:13 | exceptional return of super(42) | call |
| tst.js:51:5:51:13 | super(42) | call |
| tst.js:52:5:52:14 | new.target | call |
| tst.js:58:1:58:3 | tag | global |
| tst.js:58:1:58:13 | tag `x: ${x}` | call |
| tst.js:61:1:61:5 | ::o.m | call |
| tst.js:61:3:61:5 | o.m | heap |
| tst.js:62:1:62:4 | o::g | call |
| tst.js:64:1:67:1 | exceptional return of function h | call |
| tst.js:65:3:65:10 | yield 42 | yield |
| tst.js:66:13:66:25 | function.sent | yield |
| tst.js:68:12:68:14 | exceptional return of h() | call |
| tst.js:68:12:68:14 | h() | call |
| tst.js:69:1:69:9 | iter.next | heap |
| tst.js:69:1:69:13 | exceptional return of iter.next(23) | call |
| tst.js:69:1:69:13 | iter.next(23) | call |
| tst.js:71:1:73:1 | exceptional return of function k | call |
| tst.js:72:3:72:11 | await p() | await |
| tst.js:72:9:72:9 | p | global |
| tst.js:72:9:72:11 | exceptional return of p() | call |
| tst.js:72:9:72:11 | p() | call |
| tst.js:75:9:75:21 | import('foo') | await |
| tst.js:77:10:77:10 | i | heap |
| tst.js:80:10:80:10 | v | heap |
| tst.js:83:18:83:18 | v | yield |
| tst.js:85:18:85:18 | v | yield |
| tst.js:87:1:96:2 | exceptional return of (functi ... r: 0\\n}) | call |
| tst.js:87:2:92:1 | exceptional return of anonymous function | call |
| tst.js:87:13:87:16 | p: x | heap |
| tst.js:88:9:88:12 | q: y | heap |
| tst.js:90:6:90:9 | r: z | heap |
| tst.js:98:1:103:17 | exceptional return of (functi ... 3, 0 ]) | call |
| tst.js:98:2:103:1 | exceptional return of anonymous function | call |
| tst.js:98:13:98:13 | x | heap |
| tst.js:99:9:99:9 | y | heap |
| tst.js:101:7:101:7 | z | heap |
| tst.js:107:2:113:1 | exceptional return of anonymous function | call |
| tst.js:108:7:108:9 | v1a | heap |
| tst.js:108:12:108:20 | v1b = o1b | heap |
| tst.js:108:18:108:20 | o1b | global |
| tst.js:108:23:108:31 | v1c = o1c | heap |
| tst.js:108:29:108:31 | o1c | global |
| tst.js:108:36:108:38 | o1d | global |
| tst.js:111:7:111:9 | v2a | heap |
| tst.js:111:12:111:14 | v2b | heap |
| tst.js:111:18:111:20 | o2b | global |
| tst.js:111:23:111:25 | v2c | heap |
| tst.js:111:29:111:31 | o2c | global |
| tst.js:111:36:111:38 | o2d | global |
| tst.js:115:1:115:5 | Array | global |
| tst.js:115:1:115:10 | Array.call | global |
| tst.js:115:1:115:10 | Array.call | heap |
| tst.js:115:1:115:12 | Array.call() | call |
| tst.js:115:1:115:12 | exceptional return of Array.call() | call |
| tst.js:117:10:117:15 | Object | global |
| tst.js:117:10:117:20 | Object.seal | global |
| tst.js:117:10:117:20 | Object.seal | heap |
| tst.js:117:10:117:24 | Object.seal(x1) | call |
| tst.js:117:10:117:24 | exceptional return of Object.seal(x1) | call |
| tst.js:117:22:117:23 | x1 | global |

View File

@@ -1,5 +0,0 @@
import javascript
from DataFlow::Node dfn, DataFlow::Incompleteness cause
where dfn.isIncomplete(cause)
select dfn, cause

View File

@@ -1,4 +0,0 @@
| file://:0:0:0:0 | global access path |
| tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs |
| tst.js:1:20:1:23 | 'fs' |

View File

@@ -1,5 +0,0 @@
import javascript
from DataFlow::Node node
where not exists(node.getBasicBlock())
select node

View File

@@ -1,9 +0,0 @@
| arguments.js:2:16:2:16 | x |
| sources.js:1:6:1:6 | x |
| sources.js:3:11:3:11 | x |
| sources.js:9:14:9:18 | array |
| tst2.ts:13:39:13:38 | args |
| tst.js:16:13:16:13 | a |
| tst.js:32:12:32:12 | b |
| tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:98:11:98:24 | [ x, ...rest ] |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::ParameterNode param
select param

View File

@@ -1,154 +0,0 @@
| arguments.js:1:1:1:0 | this |
| arguments.js:1:1:12:4 | (functi ... );\\n})() |
| arguments.js:1:2:1:1 | this |
| arguments.js:1:2:12:1 | functio ... , 3);\\n} |
| arguments.js:1:2:12:1 | return of anonymous function |
| arguments.js:2:5:2:4 | this |
| arguments.js:2:5:10:5 | functio ... ;\\n } |
| arguments.js:2:5:10:5 | return of function f |
| arguments.js:2:16:2:16 | x |
| arguments.js:4:28:4:39 | arguments[0] |
| arguments.js:5:25:5:36 | arguments[1] |
| arguments.js:7:24:7:30 | args[2] |
| arguments.js:8:21:8:22 | {} |
| arguments.js:9:27:9:38 | arguments[0] |
| arguments.js:11:5:11:14 | f(1, 2, 3) |
| eval.js:1:1:1:0 | this |
| eval.js:1:1:1:0 | this |
| eval.js:1:1:5:1 | functio ... eval`\\n} |
| eval.js:1:1:5:1 | return of function k |
| eval.js:3:3:3:6 | eval |
| eval.js:3:3:3:16 | eval("x = 23") |
| file://:0:0:0:0 | global access path |
| sources.js:1:1:1:0 | this |
| sources.js:1:1:1:12 | new (x => x) |
| sources.js:1:6:1:6 | x |
| sources.js:1:6:1:11 | return of anonymous function |
| sources.js:1:6:1:11 | x => x |
| sources.js:3:1:5:6 | (functi ... \\n})(23) |
| sources.js:3:2:3:1 | this |
| sources.js:3:2:5:1 | functio ... x+19;\\n} |
| sources.js:3:2:5:1 | return of anonymous function |
| sources.js:3:11:3:11 | x |
| sources.js:7:1:7:3 | /x/ |
| sources.js:9:1:9:0 | this |
| sources.js:9:1:12:1 | functio ... ey; }\\n} |
| sources.js:9:1:12:1 | return of function foo |
| sources.js:9:14:9:18 | array |
| sources.js:10:12:10:14 | key |
| sources.js:11:12:11:18 | { key } |
| sources.js:11:14:11:16 | key |
| tst2.ts:1:1:1:0 | this |
| tst2.ts:3:3:3:8 | setX() |
| tst2.ts:7:1:7:0 | this |
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} |
| tst2.ts:7:1:9:1 | return of function setX |
| tst2.ts:8:3:8:5 | A.x |
| tst2.ts:11:11:11:13 | A.x |
| tst2.ts:13:1:13:40 | class S ... ing> {} |
| tst2.ts:13:26:13:29 | List |
| tst2.ts:13:39:13:38 | (...arg ... rgs); } |
| tst2.ts:13:39:13:38 | args |
| tst2.ts:13:39:13:38 | return of default constructor of class StringList |
| tst2.ts:13:39:13:38 | super(...args) |
| tst2.ts:13:39:13:38 | this |
| tst.js:1:1:1:0 | this |
| tst.js:1:1:1:24 | import ... m 'fs'; |
| tst.js:1:10:1:11 | fs |
| tst.js:16:1:20:9 | (functi ... ("arg") |
| tst.js:16:2:16:1 | this |
| tst.js:16:2:20:1 | functio ... n "";\\n} |
| tst.js:16:2:20:1 | return of function f |
| tst.js:16:13:16:13 | a |
| tst.js:17:7:17:10 | Math |
| tst.js:17:7:17:17 | Math.random |
| tst.js:17:7:17:19 | Math.random() |
| tst.js:22:7:22:18 | readFileSync |
| tst.js:28:1:30:3 | (() =>\\n ... les\\n)() |
| tst.js:28:2:29:3 | () =>\\n x |
| tst.js:28:2:29:3 | return of anonymous function |
| tst.js:32:1:32:0 | this |
| tst.js:32:1:34:1 | functio ... ables\\n} |
| tst.js:32:1:34:1 | return of function g |
| tst.js:32:12:32:12 | b |
| tst.js:35:1:35:7 | g(true) |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} |
| tst.js:39:4:39:3 | this |
| tst.js:39:4:41:3 | () {\\n this;\\n } |
| tst.js:39:4:41:3 | return of method m |
| tst.js:43:1:43:3 | o.x |
| tst.js:44:1:44:3 | o.m |
| tst.js:44:1:44:5 | o.m() |
| tst.js:46:1:46:6 | global |
| tst.js:47:1:47:6 | global |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} |
| tst.js:49:17:49:17 | B |
| tst.js:50:14:50:13 | this |
| tst.js:50:14:53:3 | () {\\n ... et`\\n } |
| tst.js:50:14:53:3 | return of constructor of class A |
| tst.js:51:5:51:13 | super(42) |
| tst.js:58:1:58:3 | tag |
| tst.js:61:1:61:5 | ::o.m |
| tst.js:61:3:61:5 | o.m |
| tst.js:62:1:62:4 | o::g |
| tst.js:64:1:64:0 | this |
| tst.js:64:1:67:1 | functio ... lysed\\n} |
| tst.js:64:1:67:1 | return of function h |
| tst.js:65:3:65:10 | yield 42 |
| tst.js:66:13:66:25 | function.sent |
| tst.js:68:12:68:14 | h() |
| tst.js:69:1:69:9 | iter.next |
| tst.js:69:1:69:13 | iter.next(23) |
| tst.js:71:1:71:0 | this |
| tst.js:71:1:73:1 | async f ... lysed\\n} |
| tst.js:71:1:73:1 | return of function k |
| tst.js:72:3:72:11 | await p() |
| tst.js:72:9:72:9 | p |
| tst.js:72:9:72:11 | p() |
| tst.js:75:9:75:21 | import('foo') |
| tst.js:80:10:80:10 | v |
| tst.js:83:11:83:28 | [ for (v of o) v ] |
| tst.js:85:11:85:28 | ( for (v of o) v ) |
| tst.js:87:1:96:2 | (functi ... r: 0\\n}) |
| tst.js:87:2:87:1 | this |
| tst.js:87:2:92:1 | functio ... + z;\\n} |
| tst.js:87:2:92:1 | return of anonymous function |
| tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:87:13:87:16 | p: x |
| tst.js:87:22:87:22 | ...o |
| tst.js:88:9:88:12 | q: y |
| tst.js:90:6:90:9 | r: z |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} |
| tst.js:98:1:103:17 | (functi ... 3, 0 ]) |
| tst.js:98:2:98:1 | this |
| tst.js:98:2:103:1 | functio ... + z;\\n} |
| tst.js:98:2:103:1 | return of anonymous function |
| tst.js:98:11:98:24 | [ x, ...rest ] |
| tst.js:98:13:98:13 | x |
| tst.js:98:19:98:22 | ...rest |
| 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:107:2:113:1 | return of anonymous function |
| 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.js:115:1:115:5 | Array |
| tst.js:115:1:115:10 | Array.call |
| tst.js:115:1:115:12 | Array.call() |
| tst.js:115:1:115:12 | reflective call |
| tst.js:117:10:117:15 | Object |
| tst.js:117:10:117:20 | Object.seal |
| tst.js:117:10:117:24 | Object.seal(x1) |
| tst.js:117:22:117:23 | x1 |

View File

@@ -1,4 +0,0 @@
import javascript
from DataFlow::SourceNode source
select source

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
import javascript
import semmle.javascript.dataflow.internal.FlowSteps as FlowSteps
query predicate argumentPassing(DataFlow::Node invk, DataFlow::Node arg, DataFlow::SourceNode parm) {
exists(Function f | FlowSteps::argumentPassing(invk, arg, f, parm))
}
query predicate basicBlock(DataFlow::Node node, BasicBlock bb) { node.getBasicBlock() = bb }
query predicate enclosingExpr(DataFlow::Node node, Expr enclosingExpr) {
enclosingExpr = node.getEnclosingExpr()
}
query predicate flowStep(DataFlow::Node pred, DataFlow::Node nd) { nd.getAPredecessor() = pred }
query predicate getImmediatePredecessor(DataFlow::Node pred, DataFlow::Node nd) {
nd.getImmediatePredecessor() = pred
}
query predicate getIntValue(DataFlow::Node node, int val) { node.getIntValue() = val }
query predicate incomplete(DataFlow::Node dfn, DataFlow::Incompleteness cause) {
dfn.isIncomplete(cause)
}
query predicate noBasicBlock(DataFlow::Node node) { not exists(node.getBasicBlock()) }
query predicate parameters(DataFlow::ParameterNode param) { any() }
query predicate sources(DataFlow::SourceNode src) { any() }

View File

@@ -1,10 +0,0 @@
| Point.js:1:21:1:43 | functio ... , y) {} |
| Point.js:3:1:3:43 | Point.p ... dy) {}; |
| Point.js:4:1:4:25 | Point.p ... j = {}; |
| Point.js:5:1:5:23 | Point.p ... secret; |
| Point.js:7:1:7:13 | Point.ORIGIN; |
| Point.js:8:1:8:26 | Point.f ... n() {}; |
| Point.js:10:5:10:14 | someGlobal |
| Point.js:13:5:13:12 | MyString |
| Point.js:15:1:15:25 | Point.p ... inal']; |
| Point.js:18:5:18:10 | aPoint |

View File

@@ -1,4 +0,0 @@
import semmle.javascript.Externs
from ExternalDecl ed
select ed

View File

@@ -1,10 +0,0 @@
| Point.js:1:21:1:43 | functio ... , y) {} | Point |
| Point.js:3:1:3:43 | Point.p ... dy) {}; | move |
| Point.js:4:1:4:25 | Point.p ... j = {}; | obj |
| Point.js:5:1:5:23 | Point.p ... secret; | secret |
| Point.js:7:1:7:13 | Point.ORIGIN; | ORIGIN |
| Point.js:8:1:8:26 | Point.f ... n() {}; | foo |
| Point.js:10:5:10:14 | someGlobal | someGlobal |
| Point.js:13:5:13:12 | MyString | MyString |
| Point.js:15:1:15:25 | Point.p ... inal']; | final |
| Point.js:18:5:18:10 | aPoint | aPoint |

View File

@@ -1,4 +0,0 @@
import semmle.javascript.Externs
from ExternalDecl ed
select ed, ed.getName()

View File

@@ -1,10 +0,0 @@
| Point.js:1:21:1:43 | functio ... , y) {} | Point |
| Point.js:3:1:3:43 | Point.p ... dy) {}; | Point.move |
| Point.js:4:1:4:25 | Point.p ... j = {}; | Point.obj |
| Point.js:5:1:5:23 | Point.p ... secret; | Point.secret |
| Point.js:7:1:7:13 | Point.ORIGIN; | Point.ORIGIN |
| Point.js:8:1:8:26 | Point.f ... n() {}; | Point.foo |
| Point.js:10:5:10:14 | someGlobal | someGlobal |
| Point.js:13:5:13:12 | MyString | MyString |
| Point.js:15:1:15:25 | Point.p ... inal']; | Point.final |
| Point.js:18:5:18:10 | aPoint | aPoint |

View File

@@ -1,4 +0,0 @@
import semmle.javascript.Externs
from ExternalDecl ed
select ed, ed.getQualifiedName()

View File

@@ -1 +0,0 @@
| Point.js:13:5:13:12 | MyString |

View File

@@ -1,4 +0,0 @@
import javascript
from ExternalTypedef et
select et

View File

@@ -1,4 +0,0 @@
| Point.js:1:21:1:43 | functio ... , y) {} | Point.js:1:21:1:43 | functio ... , y) {} |
| Point.js:3:1:3:43 | Point.p ... dy) {}; | Point.js:3:24:3:42 | function(dx, dy) {} |
| Point.js:4:1:4:25 | Point.p ... j = {}; | Point.js:4:23:4:24 | {} |
| Point.js:8:1:8:26 | Point.f ... n() {}; | Point.js:8:13:8:25 | function() {} |

View File

@@ -1,4 +0,0 @@
import semmle.javascript.Externs
from ExternalVarDecl ed
select ed, ed.getInit()

View File

@@ -1 +0,0 @@
| Point.js:18:5:18:10 | aPoint | aPoint | Point.js:1:21:1:43 | functio ... , y) {} |

View File

@@ -1,4 +0,0 @@
import javascript
from ExternalVarDecl v
select v, v.getQualifiedName(), v.getTypeTag().getTypeDeclaration()

View File

@@ -0,0 +1,42 @@
externalDecl_getName
| Point.js:1:21:1:43 | functio ... , y) {} | Point |
| Point.js:3:1:3:43 | Point.p ... dy) {}; | move |
| Point.js:4:1:4:25 | Point.p ... j = {}; | obj |
| Point.js:5:1:5:23 | Point.p ... secret; | secret |
| Point.js:7:1:7:13 | Point.ORIGIN; | ORIGIN |
| Point.js:8:1:8:26 | Point.f ... n() {}; | foo |
| Point.js:10:5:10:14 | someGlobal | someGlobal |
| Point.js:13:5:13:12 | MyString | MyString |
| Point.js:15:1:15:25 | Point.p ... inal']; | final |
| Point.js:18:5:18:10 | aPoint | aPoint |
externalDecl_getQualifiedName
| Point.js:1:21:1:43 | functio ... , y) {} | Point |
| Point.js:3:1:3:43 | Point.p ... dy) {}; | Point.move |
| Point.js:4:1:4:25 | Point.p ... j = {}; | Point.obj |
| Point.js:5:1:5:23 | Point.p ... secret; | Point.secret |
| Point.js:7:1:7:13 | Point.ORIGIN; | Point.ORIGIN |
| Point.js:8:1:8:26 | Point.f ... n() {}; | Point.foo |
| Point.js:10:5:10:14 | someGlobal | someGlobal |
| Point.js:13:5:13:12 | MyString | MyString |
| Point.js:15:1:15:25 | Point.p ... inal']; | Point.final |
| Point.js:18:5:18:10 | aPoint | aPoint |
externalDecl
| Point.js:1:21:1:43 | functio ... , y) {} |
| Point.js:3:1:3:43 | Point.p ... dy) {}; |
| Point.js:4:1:4:25 | Point.p ... j = {}; |
| Point.js:5:1:5:23 | Point.p ... secret; |
| Point.js:7:1:7:13 | Point.ORIGIN; |
| Point.js:8:1:8:26 | Point.f ... n() {}; |
| Point.js:10:5:10:14 | someGlobal |
| Point.js:13:5:13:12 | MyString |
| Point.js:15:1:15:25 | Point.p ... inal']; |
| Point.js:18:5:18:10 | aPoint |
externalTypedef
| Point.js:13:5:13:12 | MyString |
externalVarDecl_getInit
| Point.js:1:21:1:43 | functio ... , y) {} | Point.js:1:21:1:43 | functio ... , y) {} |
| Point.js:3:1:3:43 | Point.p ... dy) {}; | Point.js:3:24:3:42 | function(dx, dy) {} |
| Point.js:4:1:4:25 | Point.p ... j = {}; | Point.js:4:23:4:24 | {} |
| Point.js:8:1:8:26 | Point.f ... n() {}; | Point.js:8:13:8:25 | function() {} |
sourceDecl
| Point.js:18:5:18:10 | aPoint | Point.js:1:21:1:43 | functio ... , y) {} | aPoint |

View File

@@ -0,0 +1,19 @@
import javascript
query predicate externalDecl_getName(ExternalDecl ed, string name) { name = ed.getName() }
query predicate externalDecl_getQualifiedName(ExternalDecl ed, string name) {
name = ed.getQualifiedName()
}
query predicate externalDecl(ExternalDecl decl) { any() }
query predicate externalTypedef(ExternalTypedef typ) { any() }
query predicate externalVarDecl_getInit(ExternalVarDecl decl, ASTNode init) {
decl.getInit() = init
}
query predicate sourceDecl(ExternalVarDecl v, ExternalType typeDecl, string qname) {
qname = v.getQualifiedName() and typeDecl = v.getTypeTag().getTypeDeclaration()
}

View File

@@ -1,359 +0,0 @@
| ChatListScreen.js:1:1:6:0 | exports object of module ChatListScreen |
| ChatListScreen.js:1:1:6:0 | module object of module ChatListScreen |
| ChatListScreen.js:3:1:5:1 | function foo |
| ChatListScreen.js:3:1:5:1 | instance of function foo |
| a2.js:1:1:2:0 | exports object of module a2 |
| a2.js:1:1:2:0 | module object of module a2 |
| a.js:1:1:18:0 | exports object of module a |
| a.js:1:1:18:0 | module object of module a |
| a.js:3:8:5:1 | function setX |
| a.js:3:8:5:1 | instance of function setX |
| a.js:15:1:17:1 | function bump |
| a.js:15:1:17:1 | instance of function bump |
| amd2.js:1:1:4:0 | exports object of module amd2 |
| amd2.js:1:1:4:0 | module object of module amd2 |
| amd2.js:1:8:3:1 | anonymous function |
| amd2.js:1:8:3:1 | instance of anonymous function |
| amd2.js:2:10:2:22 | object literal |
| amd3.js:1:1:5:0 | exports object of module amd3 |
| amd3.js:1:1:5:0 | module object of module amd3 |
| amd3.js:1:24:4:1 | anonymous function |
| amd3.js:1:24:4:1 | instance of anonymous function |
| amd4.js:1:1:4:0 | exports object of module amd4 |
| amd4.js:1:1:4:0 | module object of module amd4 |
| amd4.js:1:28:3:1 | anonymous function |
| amd4.js:1:28:3:1 | instance of anonymous function |
| amd5.js:1:1:4:0 | exports object of module amd5 |
| amd5.js:1:1:4:0 | module object of module amd5 |
| amd5.js:1:21:3:1 | anonymous function |
| amd5.js:1:21:3:1 | instance of anonymous function |
| amd.js:1:1:7:0 | exports object of module amd |
| amd.js:1:1:7:0 | module object of module amd |
| amd.js:1:31:6:1 | anonymous function |
| amd.js:1:31:6:1 | instance of anonymous function |
| amd.js:4:11:4:12 | object literal |
| amd.js:5:15:5:27 | object literal |
| arguments.js:1:2:3:1 | anonymous function |
| arguments.js:1:2:3:1 | instance of anonymous function |
| arguments.js:5:2:8:1 | anonymous function |
| arguments.js:5:2:8:1 | arguments object of anonymous function |
| arguments.js:5:2:8:1 | instance of anonymous function |
| arguments.js:10:2:14:1 | anonymous function |
| arguments.js:10:2:14:1 | arguments object of anonymous function |
| arguments.js:10:2:14:1 | instance of anonymous function |
| arguments.js:16:2:19:1 | anonymous function |
| arguments.js:16:2:19:1 | arguments object of anonymous function |
| arguments.js:16:2:19:1 | instance of anonymous function |
| arguments.js:22:2:28:1 | anonymous function |
| arguments.js:22:2:28:1 | arguments object of anonymous function |
| arguments.js:22:2:28:1 | instance of anonymous function |
| arguments.js:30:2:33:1 | anonymous function |
| arguments.js:30:2:33:1 | arguments object of anonymous function |
| arguments.js:30:2:33:1 | instance of anonymous function |
| b.js:1:1:58:0 | exports object of module b |
| b.js:1:1:58:0 | module object of module b |
| backend.js:1:1:3:0 | exports object of module backend |
| backend.js:1:1:3:0 | module object of module backend |
| backend.js:1:17:1:18 | object literal |
| c.js:1:1:7:0 | exports object of module c |
| c.js:1:1:7:0 | module object of module c |
| c.js:1:18:1:19 | object literal |
| c.js:3:1:5:1 | function f |
| c.js:3:1:5:1 | instance of function f |
| classAccessors.js:1:1:14:1 | class C |
| classAccessors.js:1:1:14:1 | instance of class C |
| classAccessors.js:1:9:1:8 | default constructor of class C |
| classAccessors.js:2:8:2:23 | getter method for property x of class C |
| classAccessors.js:4:8:4:23 | getter method for property y of class C |
| classAccessors.js:5:8:5:17 | setter method for property y of class C |
| classAccessors.js:7:8:7:17 | setter method for property z of class C |
| classAccessors.js:9:11:13:3 | method myMethod of class C |
| d.js:1:1:4:0 | exports object of module d |
| d.js:1:1:4:0 | module object of module d |
| d.js:1:18:3:1 | object literal |
| destructuring.js:1:1:4:1 | function f |
| destructuring.js:1:1:4:1 | instance of function f |
| e.js:1:1:6:0 | exports object of module e |
| e.js:1:1:6:0 | module object of module e |
| es2015.js:1:1:50:0 | exports object of module es2015 |
| es2015.js:1:1:50:0 | module object of module es2015 |
| es2015.js:1:11:6:1 | class Sup |
| es2015.js:1:11:6:1 | instance of class Sup |
| es2015.js:2:14:5:3 | constructor of class Sup |
| es2015.js:8:1:16:1 | class Sub |
| es2015.js:8:1:16:1 | instance of class Sub |
| es2015.js:9:14:11:3 | constructor of class Sub |
| es2015.js:13:6:15:3 | method foo of class Sub |
| es2015.js:18:1:20:1 | function f |
| es2015.js:18:1:20:1 | instance of function f |
| es2015.js:22:2:24:1 | anonymous function |
| es2015.js:22:2:24:1 | instance of anonymous function |
| es2015.js:31:2:35:1 | anonymous function |
| es2015.js:31:2:35:1 | instance of anonymous function |
| es2015.js:38:2:42:1 | anonymous function |
| es2015.js:38:2:42:1 | instance of anonymous function |
| es2015.js:44:2:47:1 | anonymous function |
| es2015.js:44:2:47:1 | instance of anonymous function |
| es2015.js:45:11:45:23 | anonymous function |
| es2015.js:46:11:46:28 | anonymous function |
| esClient.js:1:1:12:0 | exports object of module esClient |
| esClient.js:1:1:12:0 | module object of module esClient |
| esLib.js:1:1:4:0 | exports object of module esLib |
| esLib.js:1:1:4:0 | module object of module esLib |
| esLib.js:3:8:3:24 | function foo |
| esLib.js:3:8:3:24 | instance of function foo |
| f.js:1:1:2:0 | exports object of module f |
| f.js:1:1:2:0 | module object of module f |
| f.js:1:13:1:25 | anonymous function |
| f.js:1:13:1:25 | instance of anonymous function |
| file://:0:0:0:0 | 0 |
| file://:0:0:0:0 | "" |
| file://:0:0:0:0 | date |
| file://:0:0:0:0 | false |
| file://:0:0:0:0 | global |
| file://:0:0:0:0 | indefinite function or class (await) |
| file://:0:0:0:0 | indefinite function or class (call) |
| file://:0:0:0:0 | indefinite function or class (eval) |
| file://:0:0:0:0 | indefinite function or class (global) |
| file://:0:0:0:0 | indefinite function or class (heap) |
| file://:0:0:0:0 | indefinite function or class (import) |
| file://:0:0:0:0 | indefinite function or class (namespace) |
| file://:0:0:0:0 | indefinite function or class (yield) |
| file://:0:0:0:0 | indefinite object (await) |
| file://:0:0:0:0 | indefinite object (call) |
| file://:0:0:0:0 | indefinite object (eval) |
| file://:0:0:0:0 | indefinite object (global) |
| file://:0:0:0:0 | indefinite object (heap) |
| file://:0:0:0:0 | indefinite object (import) |
| file://:0:0:0:0 | indefinite object (namespace) |
| file://:0:0:0:0 | indefinite object (yield) |
| file://:0:0:0:0 | indefinite value (await) |
| file://:0:0:0:0 | indefinite value (call) |
| file://:0:0:0:0 | indefinite value (eval) |
| file://:0:0:0:0 | indefinite value (global) |
| file://:0:0:0:0 | indefinite value (heap) |
| file://:0:0:0:0 | indefinite value (import) |
| file://:0:0:0:0 | indefinite value (namespace) |
| file://:0:0:0:0 | indefinite value (yield) |
| file://:0:0:0:0 | non-empty, non-numeric string |
| file://:0:0:0:0 | non-zero value |
| file://:0:0:0:0 | null |
| file://:0:0:0:0 | numeric string |
| file://:0:0:0:0 | object |
| file://:0:0:0:0 | regular expression |
| file://:0:0:0:0 | true |
| file://:0:0:0:0 | undefined |
| fundecls.js:1:2:10:1 | anonymous function |
| fundecls.js:1:2:10:1 | instance of anonymous function |
| fundecls.js:4:3:4:17 | function f |
| fundecls.js:4:3:4:17 | instance of function f |
| fundecls.js:8:5:8:19 | function g |
| fundecls.js:8:5:8:19 | instance of function g |
| g.js:1:1:4:0 | exports object of module g |
| g.js:1:1:4:0 | module object of module g |
| globals.html:7:8:10:7 | anonymous function |
| globals.html:7:8:10:7 | instance of anonymous function |
| globals.html:16:8:19:7 | anonymous function |
| globals.html:16:8:19:7 | instance of anonymous function |
| globals.html:22:7:22:21 | function x |
| globals.html:22:7:22:21 | instance of function x |
| globals.html:26:23:26:69 | anonymous function |
| globals.html:26:23:26:69 | instance of anonymous function |
| h.js:1:1:3:0 | exports object of module h |
| h.js:1:1:3:0 | module object of module h |
| h.js:1:8:1:22 | function f |
| h.js:1:8:1:22 | instance of function f |
| h.js:2:16:2:24 | class C |
| h.js:2:16:2:24 | instance of class C |
| h.js:2:23:2:22 | default constructor of class C |
| h_import.js:1:1:3:0 | exports object of module h_import |
| h_import.js:1:1:3:0 | module object of module h_import |
| implicit-returns.js:1:1:27:0 | exports object of module implicit-returns |
| implicit-returns.js:1:1:27:0 | module object of module implicit-returns |
| implicit-returns.js:3:1:12:1 | function endWithLoop |
| implicit-returns.js:3:1:12:1 | instance of function endWithLoop |
| implicit-returns.js:14:1:16:1 | function useLoop |
| implicit-returns.js:14:1:16:1 | instance of function useLoop |
| implicit-returns.js:18:1:22:1 | function endWithShortIf |
| implicit-returns.js:18:1:22:1 | instance of function endWithShortIf |
| implicit-returns.js:24:1:26:1 | function useShortIf |
| implicit-returns.js:24:1:26:1 | instance of function useShortIf |
| import.js:1:1:13:0 | exports object of module import |
| import.js:1:1:13:0 | module object of module import |
| imports.ts:1:1:8:0 | exports object of module imports |
| imports.ts:1:1:8:0 | module object of module imports |
| instances.js:1:1:4:1 | function A |
| instances.js:1:1:4:1 | instance of function A |
| instances.js:3:14:3:26 | anonymous function |
| instances.js:3:14:3:26 | instance of anonymous function |
| instances.js:6:19:6:31 | anonymous function |
| instances.js:6:19:6:31 | instance of anonymous function |
| instances.js:13:1:13:18 | function SubA |
| instances.js:13:1:13:18 | instance of function SubA |
| m.js:1:1:9:0 | exports object of module m |
| m.js:1:1:9:0 | module object of module m |
| mixed.js:1:1:11:0 | exports object of module mixed |
| mixed.js:1:1:11:0 | module object of module mixed |
| mixins.js:1:1:2:0 | exports object of module mixins |
| mixins.js:1:1:2:0 | module object of module mixins |
| mixins.js:1:16:1:32 | anonymous function |
| n.js:1:1:1:15 | function f |
| n.js:1:1:1:15 | instance of function f |
| n.js:1:1:4:0 | exports object of module n |
| n.js:1:1:4:0 | module object of module n |
| 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: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 |
| nestedImport.js:9:1:12:1 | instance of function tst |
| nodeJsClient.js:1:1:6:0 | exports object of module nodeJsClient |
| nodeJsClient.js:1:1:6:0 | module object of module nodeJsClient |
| nodeJsLib.js:1:1:4:0 | exports object of module nodeJsLib |
| nodeJsLib.js:1:1:4:0 | module object of module nodeJsLib |
| nodeJsLib.js:1:18:1:43 | function nodeJsModule |
| nodeJsLib.js:1:18:1:43 | instance of function nodeJsModule |
| nodeJsLib.js:3:15:3:37 | function nodeJsFoo |
| nodeJsLib.js:3:15:3:37 | instance of function nodeJsFoo |
| nullish-coalescing-op.ts:1:1:3:1 | function test |
| nullish-coalescing-op.ts:1:1:3:1 | instance of function test |
| o.js:1:1:2:0 | exports object of module o |
| o.js:1:1:2:0 | module object of module o |
| objlit.js:1:14:1:15 | object literal |
| objlit.js:2:9:2:21 | anonymous function |
| objlit.js:2:9:2:21 | instance of anonymous function |
| objlit.js:3:9:5:1 | object literal |
| objlit.js:4:8:4:20 | instance of method baz |
| objlit.js:4:8:4:20 | method baz |
| objlit.js:7:9:7:10 | object literal |
| objlit.js:10:2:12:1 | anonymous function |
| objlit.js:10:2:12:1 | instance of anonymous function |
| objlit.js:11:11:11:23 | anonymous function |
| objlit.js:11:11:11:23 | instance of anonymous function |
| objlit.js:23:2:48:1 | anonymous function |
| objlit.js:23:2:48:1 | instance of anonymous function |
| objlit.js:24:11:28:3 | object literal |
| objlit.js:25:8:27:5 | object literal |
| objlit.js:33:12:40:3 | object literal |
| objlit.js:34:6:34:10 | method f |
| objlit.js:35:6:39:5 | method g |
| objlit.js:41:10:41:22 | anonymous function |
| objlit.js:41:10:41:22 | instance of anonymous function |
| 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: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: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 |
| refinements.js:1:1:8:1 | instance of function f1 |
| refinements.js:10:1:24:1 | function f2 |
| refinements.js:10:1:24:1 | instance of function f2 |
| refinements.js:26:1:32:1 | function f3 |
| refinements.js:26:1:32:1 | instance of function f3 |
| refinements.js:34:1:40:1 | function f4 |
| refinements.js:34:1:40:1 | instance of function f4 |
| refinements.js:35:15:35:16 | object literal |
| refinements.js:35:20:35:31 | anonymous function |
| refinements.js:35:20:35:31 | instance of anonymous function |
| refinements.js:42:1:56:1 | function f5 |
| refinements.js:42:1:56:1 | instance of function f5 |
| refinements.js:44:3:48:3 | function inner |
| refinements.js:44:3:48:3 | instance of function inner |
| refinements.js:58:1:62:1 | function f6 |
| refinements.js:58:1:62:1 | instance of function f6 |
| ts2.ts:1:1:6:0 | exports object of module ts2 |
| ts2.ts:1:1:6:0 | module object of module ts2 |
| ts2.ts:1:10:1:22 | anonymous function |
| ts2.ts:1:10:1:22 | instance of anonymous function |
| ts2.ts:4:12:4:13 | object literal |
| ts.ts:1:1:2:0 | exports object of module ts |
| ts.ts:1:1:2:0 | module object of module ts |
| ts.ts:1:16:1:25 | class A |
| ts.ts:1:16:1:25 | instance of class A |
| ts.ts:1:24:1:23 | default constructor of class A |
| tsTest.ts:1:1:13:0 | exports object of module tsTest |
| tsTest.ts:1:1:13:0 | module object of module tsTest |
| tsTest.ts:8:1:10:1 | function setX |
| tsTest.ts:8:1:10:1 | instance of function setX |
| tst2.js:3:2:5:1 | anonymous function |
| tst2.js:3:2:5:1 | instance of anonymous function |
| tst.js:1:1:39:1 | arguments object of function tst |
| tst.js:1:1:39:1 | function tst |
| tst.js:1:1:39:1 | instance of function tst |
| tst.js:13:12:13:13 | object literal |
| tst.js:15:12:15:23 | function xd |
| tst.js:15:12:15:23 | instance of function xd |
| tst.js:42:1:44:1 | function nonstrict |
| tst.js:42:1:44:1 | instance of function nonstrict |
| tst.js:46:1:49:1 | function strict |
| tst.js:46:1:49:1 | instance of function strict |
| tst.js:51:1:57:1 | function capturedFn |
| tst.js:51:1:57:1 | instance of function capturedFn |
| tst.js:52:3:52:24 | function captured |
| tst.js:52:3:52:24 | instance of function captured |
| tst.js:53:3:55:3 | function capturing |
| tst.js:53:3:55:3 | instance of function capturing |
| tst.js:59:2:62:1 | anonymous function |
| tst.js:59:2:62:1 | instance of anonymous function |
| tst.js:64:2:66:1 | anonymous function |
| tst.js:64:2:66:1 | instance of anonymous function |
| tst.js:68:2:70:1 | anonymous function |
| tst.js:68:2:70:1 | instance of anonymous function |
| tst.js:72:2:76:1 | function s |
| tst.js:72:2:76:1 | instance of function s |
| tst.js:78:2:82:1 | anonymous function |
| tst.js:78:2:82:1 | arguments object of anonymous function |
| tst.js:78:2:82:1 | instance of anonymous function |
| tst.js:84:2:87:1 | anonymous function |
| tst.js:84:2:87:1 | instance of anonymous function |
| tst.js:89:2:92:1 | anonymous function |
| tst.js:89:2:92:1 | instance of anonymous function |
| tst.js:94:2:104:1 | anonymous function |
| tst.js:94:2:104:1 | instance of anonymous function |
| tst.js:95:3:97:3 | function inner |
| tst.js:95:3:97:3 | instance of function inner |
| tst.js:106:2:109:1 | anonymous function |
| tst.js:106:2:109:1 | arguments object of anonymous function |
| tst.js:106:2:109:1 | instance of anonymous function |
| tst.js:111:1:113:1 | arguments object of function tst |
| tst.js:111:1:113:1 | function tst |
| tst.js:111:1:113:1 | instance of function tst |
| tst.js:115:2:132:1 | anonymous function |
| tst.js:115:2:132:1 | instance of anonymous function |
| tst.js:116:12:118:3 | anonymous function |
| tst.js:116:12:118:3 | instance of anonymous function |
| tst.js:119:12:121:3 | anonymous function |
| tst.js:119:12:121:3 | instance of anonymous function |
| tst.js:122:12:124:3 | anonymous function |
| tst.js:122:12:124:3 | instance of anonymous function |
| tst.js:125:12:125:24 | anonymous function |
| tst.js:125:12:125:24 | instance of anonymous function |
| tst.js:126:12:130:3 | anonymous function |
| tst.js:126:12:130:3 | instance of anonymous function |
| tst.js:131:12:131:37 | anonymous function |
| tst.js:131:12:131:37 | instance of anonymous function |
| tst.js:134:1:142:1 | function tst2 |
| tst.js:134:1:142:1 | instance of function tst2 |
| tst.js:144:1:149:1 | function tst3 |
| tst.js:144:1:149:1 | instance of function tst3 |
| tst.js:151:1:162:1 | function tst4 |
| tst.js:151:1:162:1 | instance of function tst4 |
| tst.js:164:1:172:1 | arguments object of function tst5 |
| tst.js:164:1:172:1 | function tst5 |
| tst.js:164:1:172:1 | instance of function tst5 |
| 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 |
| with.js:1:1:17:1 | function f |
| with.js:1:1:17:1 | instance of function f |

View File

@@ -1,3 +0,0 @@
import javascript
select any(AbstractValue av)

View File

@@ -1,410 +0,0 @@
| refinements.js:4:7:4:14 | typeof g | [g = undefined] | 'undefined' |
| refinements.js:4:7:4:14 | typeof g | [g = undefined] | 'undefined' |
| refinements.js:4:7:4:29 | typeof ... nction' | [g = undefined] | false |
| refinements.js:4:7:4:29 | typeof ... nction' | [g = undefined] | false |
| refinements.js:4:14:4:14 | g | [g = undefined] | any undefined |
| refinements.js:4:14:4:14 | g | [g = undefined] | any undefined |
| refinements.js:4:20:4:29 | 'function' | [g = undefined] | 'function' |
| refinements.js:4:20:4:29 | 'function' | [g = undefined] | 'function' |
| refinements.js:13:7:13:7 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| refinements.js:13:7:13:7 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| refinements.js:13:7:13:7 | a | [a = non-zero value] | non-zero number |
| refinements.js:13:7:13:7 | a | [a = non-zero value] | non-zero number |
| refinements.js:13:7:13:7 | a | [a = null] | any null |
| refinements.js:13:7:13:7 | a | [a = null] | any null |
| refinements.js:15:7:15:14 | 'string' | [a = non-empty, non-numeric string] | 'string' |
| refinements.js:15:7:15:14 | 'string' | [a = non-empty, non-numeric string] | 'string' |
| refinements.js:15:7:15:14 | 'string' | [a = non-zero value] | 'string' |
| refinements.js:15:7:15:14 | 'string' | [a = non-zero value] | 'string' |
| refinements.js:15:7:15:14 | 'string' | [a = null] | 'string' |
| refinements.js:15:7:15:14 | 'string' | [a = null] | 'string' |
| refinements.js:15:7:15:26 | 'string' != typeof a | [a = non-empty, non-numeric string] | false |
| refinements.js:15:7:15:26 | 'string' != typeof a | [a = non-empty, non-numeric string] | false |
| refinements.js:15:7:15:26 | 'string' != typeof a | [a = non-zero value] | true |
| refinements.js:15:7:15:26 | 'string' != typeof a | [a = non-zero value] | true |
| refinements.js:15:7:15:26 | 'string' != typeof a | [a = null] | true |
| refinements.js:15:7:15:26 | 'string' != typeof a | [a = null] | true |
| refinements.js:15:19:15:26 | typeof a | [a = non-empty, non-numeric string] | 'string' |
| refinements.js:15:19:15:26 | typeof a | [a = non-empty, non-numeric string] | 'string' |
| refinements.js:15:19:15:26 | typeof a | [a = non-zero value] | 'number' |
| refinements.js:15:19:15:26 | typeof a | [a = non-zero value] | 'number' |
| refinements.js:15:19:15:26 | typeof a | [a = null] | 'object' |
| refinements.js:15:19:15:26 | typeof a | [a = null] | 'object' |
| refinements.js:15:26:15:26 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| refinements.js:15:26:15:26 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| refinements.js:15:26:15:26 | a | [a = non-zero value] | non-zero number |
| refinements.js:15:26:15:26 | a | [a = non-zero value] | non-zero number |
| refinements.js:15:26:15:26 | a | [a = null] | any null |
| refinements.js:15:26:15:26 | a | [a = null] | any null |
| refinements.js:17:10:17:10 | a | [a = non-zero value] | non-zero number |
| refinements.js:17:10:17:10 | a | [a = non-zero value] | non-zero number |
| refinements.js:17:10:17:10 | a | [a = null] | any null |
| refinements.js:17:10:17:10 | a | [a = null] | any null |
| refinements.js:28:7:28:16 | (typeof a) | [a = undefined] | 'undefined' |
| refinements.js:28:7:28:16 | (typeof a) | [a = undefined] | 'undefined' |
| refinements.js:28:7:28:19 | (typeof a)[0] | [a = undefined] | 'u' |
| refinements.js:28:7:28:19 | (typeof a)[0] | [a = undefined] | 'u' |
| refinements.js:28:7:28:27 | (typeof ... !== 'u' | [a = undefined] | false |
| refinements.js:28:7:28:27 | (typeof ... !== 'u' | [a = undefined] | false |
| refinements.js:28:8:28:15 | typeof a | [a = undefined] | 'undefined' |
| refinements.js:28:8:28:15 | typeof a | [a = undefined] | 'undefined' |
| refinements.js:28:15:28:15 | a | [a = undefined] | any undefined |
| refinements.js:28:15:28:15 | a | [a = undefined] | any undefined |
| refinements.js:28:18:28:18 | 0 | [a = undefined] | 0 |
| refinements.js:28:18:28:18 | 0 | [a = undefined] | 0 |
| refinements.js:28:25:28:27 | 'u' | [a = undefined] | 'u' |
| refinements.js:28:25:28:27 | 'u' | [a = undefined] | 'u' |
| refinements.js:36:7:36:16 | (typeof a) | [a = anonymous function] | 'function' |
| refinements.js:36:7:36:16 | (typeof a) | [a = anonymous function] | 'function' |
| refinements.js:36:7:36:16 | (typeof a) | [a = object literal] | 'object' |
| refinements.js:36:7:36:16 | (typeof a) | [a = object literal] | 'object' |
| refinements.js:36:7:36:19 | (typeof a)[0] | [a = anonymous function] | 'f' |
| refinements.js:36:7:36:19 | (typeof a)[0] | [a = anonymous function] | 'f' |
| refinements.js:36:7:36:19 | (typeof a)[0] | [a = object literal] | 'o' |
| refinements.js:36:7:36:19 | (typeof a)[0] | [a = object literal] | 'o' |
| refinements.js:36:7:36:27 | (typeof ... === 'o' | [a = anonymous function] | false |
| refinements.js:36:7:36:27 | (typeof ... === 'o' | [a = anonymous function] | false |
| refinements.js:36:7:36:27 | (typeof ... === 'o' | [a = object literal] | true |
| refinements.js:36:7:36:27 | (typeof ... === 'o' | [a = object literal] | true |
| refinements.js:36:8:36:15 | typeof a | [a = anonymous function] | 'function' |
| refinements.js:36:8:36:15 | typeof a | [a = anonymous function] | 'function' |
| refinements.js:36:8:36:15 | typeof a | [a = object literal] | 'object' |
| refinements.js:36:8:36:15 | typeof a | [a = object literal] | 'object' |
| refinements.js:36:15:36:15 | a | [a = anonymous function] | any function |
| refinements.js:36:15:36:15 | a | [a = anonymous function] | any function |
| refinements.js:36:15:36:15 | a | [a = object literal] | any object |
| refinements.js:36:15:36:15 | a | [a = object literal] | any object |
| refinements.js:36:18:36:18 | 0 | [a = anonymous function] | 0 |
| refinements.js:36:18:36:18 | 0 | [a = anonymous function] | 0 |
| refinements.js:36:18:36:18 | 0 | [a = object literal] | 0 |
| refinements.js:36:18:36:18 | 0 | [a = object literal] | 0 |
| refinements.js:36:25:36:27 | 'o' | [a = anonymous function] | 'o' |
| refinements.js:36:25:36:27 | 'o' | [a = anonymous function] | 'o' |
| refinements.js:36:25:36:27 | 'o' | [a = object literal] | 'o' |
| refinements.js:36:25:36:27 | 'o' | [a = object literal] | 'o' |
| refinements.js:50:7:50:7 | f | [f = undefined] | any undefined |
| refinements.js:50:7:50:7 | f | [f = undefined] | any undefined |
| refinements.js:59:7:59:14 | typeof x | [x = 0] | 'number' |
| refinements.js:59:7:59:14 | typeof x | [x = ""] | 'string' |
| refinements.js:59:7:59:14 | typeof x | [x = false] | 'boolean' |
| refinements.js:59:7:59:14 | typeof x | [x = indefinite function or class (call)] | 'function' |
| refinements.js:59:7:59:14 | typeof x | [x = indefinite object (call)] | 'function' |
| refinements.js:59:7:59:14 | typeof x | [x = indefinite object (call)] | 'object' |
| refinements.js:59:7:59:14 | typeof x | [x = non-empty, non-numeric string] | 'string' |
| refinements.js:59:7:59:14 | typeof x | [x = non-zero value] | 'number' |
| refinements.js:59:7:59:14 | typeof x | [x = null] | 'object' |
| refinements.js:59:7:59:14 | typeof x | [x = numeric string] | 'string' |
| refinements.js:59:7:59:14 | typeof x | [x = true] | 'boolean' |
| refinements.js:59:7:59:14 | typeof x | [x = undefined] | 'undefined' |
| refinements.js:59:7:59:27 | typeof ... string' | [x = 0] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = ""] | false |
| refinements.js:59:7:59:27 | typeof ... string' | [x = false] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = indefinite function or class (call)] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = indefinite object (call)] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = non-empty, non-numeric string] | false |
| refinements.js:59:7:59:27 | typeof ... string' | [x = non-zero value] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = null] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = numeric string] | false |
| refinements.js:59:7:59:27 | typeof ... string' | [x = true] | true |
| refinements.js:59:7:59:27 | typeof ... string' | [x = undefined] | true |
| refinements.js:59:14:59:14 | x | [x = 0] | 0 |
| refinements.js:59:14:59:14 | x | [x = ""] | '' |
| refinements.js:59:14:59:14 | x | [x = false] | false |
| refinements.js:59:14:59:14 | x | [x = indefinite function or class (call)] | any class |
| refinements.js:59:14:59:14 | x | [x = indefinite function or class (call)] | any function |
| refinements.js:59:14:59:14 | x | [x = indefinite object (call)] | any date |
| refinements.js:59:14:59:14 | x | [x = indefinite object (call)] | any object |
| refinements.js:59:14:59:14 | x | [x = indefinite object (call)] | any regular expression |
| refinements.js:59:14:59:14 | x | [x = non-empty, non-numeric string] | non-empty, non-numeric string |
| refinements.js:59:14:59:14 | x | [x = non-zero value] | non-zero number |
| refinements.js:59:14:59:14 | x | [x = null] | any null |
| refinements.js:59:14:59:14 | x | [x = numeric string] | numeric string |
| refinements.js:59:14:59:14 | x | [x = true] | true |
| refinements.js:59:14:59:14 | x | [x = undefined] | any undefined |
| refinements.js:59:20:59:27 | 'string' | [x = 0] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = ""] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = false] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = indefinite function or class (call)] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = indefinite object (call)] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = non-empty, non-numeric string] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = non-zero value] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = null] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = numeric string] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = true] | 'string' |
| refinements.js:59:20:59:27 | 'string' | [x = undefined] | 'string' |
| tst.js:73:7:73:7 | x | [x = 0] | 0 |
| tst.js:73:7:73:7 | x | [x = 0] | 0 |
| tst.js:73:7:73:7 | x | [x = ""] | '' |
| tst.js:73:7:73:7 | x | [x = ""] | '' |
| tst.js:73:7:73:7 | x | [x = false] | false |
| tst.js:73:7:73:7 | x | [x = false] | false |
| tst.js:73:7:73:7 | x | [x = indefinite function or class (call)] | any class |
| tst.js:73:7:73:7 | x | [x = indefinite function or class (call)] | any class |
| tst.js:73:7:73:7 | x | [x = indefinite function or class (call)] | any function |
| tst.js:73:7:73:7 | x | [x = indefinite function or class (call)] | any function |
| tst.js:73:7:73:7 | x | [x = indefinite object (call)] | any date |
| tst.js:73:7:73:7 | x | [x = indefinite object (call)] | any date |
| tst.js:73:7:73:7 | x | [x = indefinite object (call)] | any object |
| tst.js:73:7:73:7 | x | [x = indefinite object (call)] | any object |
| tst.js:73:7:73:7 | x | [x = indefinite object (call)] | any regular expression |
| tst.js:73:7:73:7 | x | [x = indefinite object (call)] | any regular expression |
| tst.js:73:7:73:7 | x | [x = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:73:7:73:7 | x | [x = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:73:7:73:7 | x | [x = non-zero value] | non-zero number |
| tst.js:73:7:73:7 | x | [x = non-zero value] | non-zero number |
| tst.js:73:7:73:7 | x | [x = null] | any null |
| tst.js:73:7:73:7 | x | [x = null] | any null |
| tst.js:73:7:73:7 | x | [x = numeric string] | numeric string |
| tst.js:73:7:73:7 | x | [x = numeric string] | numeric string |
| tst.js:73:7:73:7 | x | [x = true] | true |
| tst.js:73:7:73:7 | x | [x = true] | true |
| tst.js:73:7:73:7 | x | [x = undefined] | any undefined |
| tst.js:73:7:73:7 | x | [x = undefined] | any undefined |
| tst.js:79:7:79:7 | x | [x = 0] | 0 |
| tst.js:79:7:79:7 | x | [x = 0] | 0 |
| tst.js:79:7:79:7 | x | [x = ""] | '' |
| tst.js:79:7:79:7 | x | [x = ""] | '' |
| tst.js:79:7:79:7 | x | [x = false] | false |
| tst.js:79:7:79:7 | x | [x = false] | false |
| tst.js:79:7:79:7 | x | [x = indefinite function or class (call)] | any class |
| tst.js:79:7:79:7 | x | [x = indefinite function or class (call)] | any class |
| tst.js:79:7:79:7 | x | [x = indefinite function or class (call)] | any function |
| tst.js:79:7:79:7 | x | [x = indefinite function or class (call)] | any function |
| tst.js:79:7:79:7 | x | [x = indefinite object (call)] | any date |
| tst.js:79:7:79:7 | x | [x = indefinite object (call)] | any date |
| tst.js:79:7:79:7 | x | [x = indefinite object (call)] | any object |
| tst.js:79:7:79:7 | x | [x = indefinite object (call)] | any object |
| tst.js:79:7:79:7 | x | [x = indefinite object (call)] | any regular expression |
| tst.js:79:7:79:7 | x | [x = indefinite object (call)] | any regular expression |
| tst.js:79:7:79:7 | x | [x = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:79:7:79:7 | x | [x = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:79:7:79:7 | x | [x = non-zero value] | non-zero number |
| tst.js:79:7:79:7 | x | [x = non-zero value] | non-zero number |
| tst.js:79:7:79:7 | x | [x = null] | any null |
| tst.js:79:7:79:7 | x | [x = null] | any null |
| tst.js:79:7:79:7 | x | [x = numeric string] | numeric string |
| tst.js:79:7:79:7 | x | [x = numeric string] | numeric string |
| tst.js:79:7:79:7 | x | [x = true] | true |
| tst.js:79:7:79:7 | x | [x = true] | true |
| tst.js:79:7:79:7 | x | [x = undefined] | any undefined |
| tst.js:79:7:79:7 | x | [x = undefined] | any undefined |
| tst.js:136:8:136:8 | a | [a = 0] | 0 |
| tst.js:136:8:136:8 | a | [a = 0] | 0 |
| tst.js:136:8:136:8 | a | [a = ""] | '' |
| tst.js:136:8:136:8 | a | [a = ""] | '' |
| tst.js:136:8:136:8 | a | [a = false] | false |
| tst.js:136:8:136:8 | a | [a = false] | false |
| tst.js:136:8:136:8 | a | [a = indefinite function or class (call)] | any class |
| tst.js:136:8:136:8 | a | [a = indefinite function or class (call)] | any class |
| tst.js:136:8:136:8 | a | [a = indefinite function or class (call)] | any function |
| tst.js:136:8:136:8 | a | [a = indefinite function or class (call)] | any function |
| tst.js:136:8:136:8 | a | [a = indefinite object (call)] | any date |
| tst.js:136:8:136:8 | a | [a = indefinite object (call)] | any date |
| tst.js:136:8:136:8 | a | [a = indefinite object (call)] | any object |
| tst.js:136:8:136:8 | a | [a = indefinite object (call)] | any object |
| tst.js:136:8:136:8 | a | [a = indefinite object (call)] | any regular expression |
| tst.js:136:8:136:8 | a | [a = indefinite object (call)] | any regular expression |
| tst.js:136:8:136:8 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:136:8:136:8 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:136:8:136:8 | a | [a = non-zero value] | non-zero number |
| tst.js:136:8:136:8 | a | [a = non-zero value] | non-zero number |
| tst.js:136:8:136:8 | a | [a = null] | any null |
| tst.js:136:8:136:8 | a | [a = null] | any null |
| tst.js:136:8:136:8 | a | [a = numeric string] | numeric string |
| tst.js:136:8:136:8 | a | [a = numeric string] | numeric string |
| tst.js:136:8:136:8 | a | [a = true] | true |
| tst.js:136:8:136:8 | a | [a = true] | true |
| tst.js:136:8:136:8 | a | [a = undefined] | any undefined |
| tst.js:136:8:136:8 | a | [a = undefined] | any undefined |
| tst.js:136:14:136:14 | b | [b = 0] | 0 |
| tst.js:136:14:136:14 | b | [b = 0] | 0 |
| tst.js:136:14:136:14 | b | [b = ""] | '' |
| tst.js:136:14:136:14 | b | [b = ""] | '' |
| tst.js:136:14:136:14 | b | [b = false] | false |
| tst.js:136:14:136:14 | b | [b = false] | false |
| tst.js:136:14:136:14 | b | [b = indefinite function or class (call)] | any class |
| tst.js:136:14:136:14 | b | [b = indefinite function or class (call)] | any class |
| tst.js:136:14:136:14 | b | [b = indefinite function or class (call)] | any function |
| tst.js:136:14:136:14 | b | [b = indefinite function or class (call)] | any function |
| tst.js:136:14:136:14 | b | [b = indefinite object (call)] | any date |
| tst.js:136:14:136:14 | b | [b = indefinite object (call)] | any date |
| tst.js:136:14:136:14 | b | [b = indefinite object (call)] | any object |
| tst.js:136:14:136:14 | b | [b = indefinite object (call)] | any object |
| tst.js:136:14:136:14 | b | [b = indefinite object (call)] | any regular expression |
| tst.js:136:14:136:14 | b | [b = indefinite object (call)] | any regular expression |
| tst.js:136:14:136:14 | b | [b = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:136:14:136:14 | b | [b = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:136:14:136:14 | b | [b = non-zero value] | non-zero number |
| tst.js:136:14:136:14 | b | [b = non-zero value] | non-zero number |
| tst.js:136:14:136:14 | b | [b = null] | any null |
| tst.js:136:14:136:14 | b | [b = null] | any null |
| tst.js:136:14:136:14 | b | [b = numeric string] | numeric string |
| tst.js:136:14:136:14 | b | [b = numeric string] | numeric string |
| tst.js:136:14:136:14 | b | [b = true] | true |
| tst.js:136:14:136:14 | b | [b = true] | true |
| tst.js:136:14:136:14 | b | [b = undefined] | any undefined |
| tst.js:136:14:136:14 | b | [b = undefined] | any undefined |
| tst.js:139:9:139:9 | a | [a = 0] | 0 |
| tst.js:139:9:139:9 | a | [a = 0] | 0 |
| tst.js:139:9:139:9 | a | [a = 0] | 0 |
| tst.js:139:9:139:9 | a | [a = ""] | '' |
| tst.js:139:9:139:9 | a | [a = ""] | '' |
| tst.js:139:9:139:9 | a | [a = ""] | '' |
| tst.js:139:9:139:9 | a | [a = false] | false |
| tst.js:139:9:139:9 | a | [a = false] | false |
| tst.js:139:9:139:9 | a | [a = false] | false |
| tst.js:139:9:139:9 | a | [a = indefinite function or class (call)] | any class |
| tst.js:139:9:139:9 | a | [a = indefinite function or class (call)] | any class |
| tst.js:139:9:139:9 | a | [a = indefinite function or class (call)] | any class |
| tst.js:139:9:139:9 | a | [a = indefinite function or class (call)] | any function |
| tst.js:139:9:139:9 | a | [a = indefinite function or class (call)] | any function |
| tst.js:139:9:139:9 | a | [a = indefinite function or class (call)] | any function |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any date |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any date |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any date |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any object |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any object |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any object |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any regular expression |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any regular expression |
| tst.js:139:9:139:9 | a | [a = indefinite object (call)] | any regular expression |
| tst.js:139:9:139:9 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:139:9:139:9 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:139:9:139:9 | a | [a = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:139:9:139:9 | a | [a = non-zero value] | non-zero number |
| tst.js:139:9:139:9 | a | [a = non-zero value] | non-zero number |
| tst.js:139:9:139:9 | a | [a = non-zero value] | non-zero number |
| tst.js:139:9:139:9 | a | [a = null] | any null |
| tst.js:139:9:139:9 | a | [a = null] | any null |
| tst.js:139:9:139:9 | a | [a = null] | any null |
| tst.js:139:9:139:9 | a | [a = numeric string] | numeric string |
| tst.js:139:9:139:9 | a | [a = numeric string] | numeric string |
| tst.js:139:9:139:9 | a | [a = numeric string] | numeric string |
| tst.js:139:9:139:9 | a | [a = true] | true |
| tst.js:139:9:139:9 | a | [a = true] | true |
| tst.js:139:9:139:9 | a | [a = true] | true |
| tst.js:139:9:139:9 | a | [a = undefined] | any undefined |
| tst.js:139:9:139:9 | a | [a = undefined] | any undefined |
| tst.js:139:9:139:9 | a | [a = undefined] | any undefined |
| tst.js:139:14:139:14 | b | [b = 0] | 0 |
| tst.js:139:14:139:14 | b | [b = ""] | '' |
| tst.js:139:14:139:14 | b | [b = false] | false |
| tst.js:139:14:139:14 | b | [b = indefinite function or class (call)] | any class |
| tst.js:139:14:139:14 | b | [b = indefinite function or class (call)] | any function |
| tst.js:139:14:139:14 | b | [b = indefinite object (call)] | any date |
| tst.js:139:14:139:14 | b | [b = indefinite object (call)] | any object |
| tst.js:139:14:139:14 | b | [b = indefinite object (call)] | any regular expression |
| tst.js:139:14:139:14 | b | [b = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:139:14:139:14 | b | [b = non-zero value] | non-zero number |
| tst.js:139:14:139:14 | b | [b = null] | any null |
| tst.js:139:14:139:14 | b | [b = numeric string] | numeric string |
| tst.js:139:14:139:14 | b | [b = true] | true |
| tst.js:139:14:139:14 | b | [b = undefined] | any undefined |
| tst.js:146:7:146:11 | value | [value = 0] | 0 |
| tst.js:146:7:146:11 | value | [value = ""] | '' |
| tst.js:146:7:146:11 | value | [value = false] | false |
| tst.js:146:7:146:11 | value | [value = indefinite function or class (call)] | any class |
| tst.js:146:7:146:11 | value | [value = indefinite function or class (call)] | any function |
| tst.js:146:7:146:11 | value | [value = indefinite object (call)] | any date |
| tst.js:146:7:146:11 | value | [value = indefinite object (call)] | any object |
| tst.js:146:7:146:11 | value | [value = indefinite object (call)] | any regular expression |
| tst.js:146:7:146:11 | value | [value = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:146:7:146:11 | value | [value = non-zero value] | non-zero number |
| tst.js:146:7:146:11 | value | [value = null] | any null |
| tst.js:146:7:146:11 | value | [value = numeric string] | numeric string |
| tst.js:146:7:146:11 | value | [value = true] | true |
| tst.js:146:7:146:11 | value | [value = undefined] | any undefined |
| tst.js:146:7:146:19 | value == null | [value = 0] | false |
| tst.js:146:7:146:19 | value == null | [value = ""] | false |
| tst.js:146:7:146:19 | value == null | [value = false] | false |
| tst.js:146:7:146:19 | value == null | [value = indefinite function or class (call)] | any boolean |
| tst.js:146:7:146:19 | value == null | [value = indefinite object (call)] | any boolean |
| tst.js:146:7:146:19 | value == null | [value = non-empty, non-numeric string] | any boolean |
| tst.js:146:7:146:19 | value == null | [value = non-zero value] | any boolean |
| tst.js:146:7:146:19 | value == null | [value = null] | true |
| tst.js:146:7:146:19 | value == null | [value = numeric string] | any boolean |
| tst.js:146:7:146:19 | value == null | [value = true] | false |
| tst.js:146:7:146:19 | value == null | [value = undefined] | true |
| tst.js:146:16:146:19 | null | [value = 0] | any null |
| tst.js:146:16:146:19 | null | [value = ""] | any null |
| tst.js:146:16:146:19 | null | [value = false] | any null |
| tst.js:146:16:146:19 | null | [value = indefinite function or class (call)] | any null |
| tst.js:146:16:146:19 | null | [value = indefinite object (call)] | any null |
| tst.js:146:16:146:19 | null | [value = non-empty, non-numeric string] | any null |
| tst.js:146:16:146:19 | null | [value = non-zero value] | any null |
| tst.js:146:16:146:19 | null | [value = null] | any null |
| tst.js:146:16:146:19 | null | [value = numeric string] | any null |
| tst.js:146:16:146:19 | null | [value = true] | any null |
| tst.js:146:16:146:19 | null | [value = undefined] | any null |
| tst.js:168:7:168:7 | o | [o = 0] | 0 |
| tst.js:168:7:168:7 | o | [o = 0] | 0 |
| tst.js:168:7:168:7 | o | [o = ""] | '' |
| tst.js:168:7:168:7 | o | [o = ""] | '' |
| tst.js:168:7:168:7 | o | [o = false] | false |
| tst.js:168:7:168:7 | o | [o = false] | false |
| tst.js:168:7:168:7 | o | [o = indefinite function or class (call)] | any class |
| tst.js:168:7:168:7 | o | [o = indefinite function or class (call)] | any class |
| tst.js:168:7:168:7 | o | [o = indefinite function or class (call)] | any function |
| tst.js:168:7:168:7 | o | [o = indefinite function or class (call)] | any function |
| tst.js:168:7:168:7 | o | [o = indefinite object (call)] | any date |
| tst.js:168:7:168:7 | o | [o = indefinite object (call)] | any date |
| tst.js:168:7:168:7 | o | [o = indefinite object (call)] | any object |
| tst.js:168:7:168:7 | o | [o = indefinite object (call)] | any object |
| tst.js:168:7:168:7 | o | [o = indefinite object (call)] | any regular expression |
| tst.js:168:7:168:7 | o | [o = indefinite object (call)] | any regular expression |
| tst.js:168:7:168:7 | o | [o = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:168:7:168:7 | o | [o = non-empty, non-numeric string] | non-empty, non-numeric string |
| tst.js:168:7:168:7 | o | [o = non-zero value] | non-zero number |
| tst.js:168:7:168:7 | o | [o = non-zero value] | non-zero number |
| tst.js:168:7:168:7 | o | [o = null] | any null |
| tst.js:168:7:168:7 | o | [o = null] | any null |
| tst.js:168:7:168:7 | o | [o = numeric string] | numeric string |
| tst.js:168:7:168:7 | o | [o = numeric string] | numeric string |
| tst.js:168:7:168:7 | o | [o = true] | true |
| tst.js:168:7:168:7 | o | [o = true] | true |
| tst.js:168:7:168:7 | o | [o = undefined] | any undefined |
| tst.js:168:7:168:7 | o | [o = undefined] | any undefined |
| tst.js:168:7:168:21 | o !== undefined | [o = 0] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = 0] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = ""] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = ""] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = false] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = false] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = indefinite function or class (call)] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = indefinite function or class (call)] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = indefinite object (call)] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = indefinite object (call)] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = non-empty, non-numeric string] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = non-empty, non-numeric string] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = non-zero value] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = non-zero value] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = null] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = null] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = numeric string] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = numeric string] | any boolean |
| tst.js:168:7:168:21 | o !== undefined | [o = true] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = true] | true |
| tst.js:168:7:168:21 | o !== undefined | [o = undefined] | false |
| tst.js:168:7:168:21 | o !== undefined | [o = undefined] | false |
| tst.js:168:13:168:21 | undefined | [o = 0] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = 0] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = ""] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = ""] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = false] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = false] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = indefinite function or class (call)] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = indefinite function or class (call)] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = indefinite object (call)] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = indefinite object (call)] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = non-empty, non-numeric string] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = non-empty, non-numeric string] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = non-zero value] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = non-zero value] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = null] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = null] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = numeric string] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = numeric string] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = true] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = true] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = undefined] | any undefined |
| tst.js:168:13:168:21 | undefined | [o = undefined] | any undefined |

View File

@@ -1,4 +0,0 @@
private import semmle.javascript.dataflow.Refinements
from Refinement ref, RefinementContext ctxt
select ref, ctxt, ref.eval(ctxt)

View File

@@ -1,487 +0,0 @@
| ChatListScreen.js:4:7:4:7 | b | ChatListScreen.js:4:11:4:17 | Backend | backend.js:1:17:1:18 | object literal |
| ChatListScreen.js:4:7:4:7 | b | ChatListScreen.js:4:11:4:17 | Backend | file://:0:0:0:0 | undefined |
| a.js:1:12:1:12 | x | a.js:1:16:1:16 | 0 | file://:0:0:0:0 | 0 |
| a.js:1:19:1:19 | y | a.js:1:23:1:23 | 0 | file://:0:0:0:0 | 0 |
| a.js:9:5:9:5 | z | a.js:9:9:9:18 | someGlobal | file://:0:0:0:0 | "" |
| a.js:9:5:9:5 | z | a.js:9:9:9:18 | someGlobal | file://:0:0:0:0 | indefinite value (global) |
| a.js:9:5:9:5 | z | a.js:9:9:9:18 | someGlobal | file://:0:0:0:0 | non-zero value |
| a.js:9:5:9:5 | z | a.js:9:9:9:18 | someGlobal | file://:0:0:0:0 | true |
| a.js:14:12:14:24 | notAlwaysZero | a.js:14:28:14:28 | 0 | file://:0:0:0:0 | 0 |
| amd3.js:2:7:2:8 | _a | amd3.js:2:12:2:12 | a | a.js:1:1:18:0 | exports object of module a |
| amd3.js:2:7:2:8 | _a | amd3.js:2:12:2:12 | a | file://:0:0:0:0 | indefinite value (call) |
| amd3.js:3:7:3:8 | _c | amd3.js:3:12:3:12 | c | c.js:1:1:7:0 | exports object of module c |
| amd3.js:3:7:3:8 | _c | amd3.js:3:12:3:12 | c | c.js:1:18:1:19 | object literal |
| amd3.js:3:7:3:8 | _c | amd3.js:3:12:3:12 | c | file://:0:0:0:0 | indefinite value (call) |
| amd4.js:2:7:2:8 | _u | amd4.js:2:12:2:12 | u | file://:0:0:0:0 | indefinite value (call) |
| amd4.js:2:7:2:8 | _u | amd4.js:2:12:2:12 | u | file://:0:0:0:0 | non-empty, non-numeric string |
| amd4.js:2:7:2:8 | _u | amd4.js:2:12:2:12 | u | reexport/lib/src/utils/util.js:1:1:3:0 | exports object of module util |
| amd5.js:2:7:2:8 | _u | amd5.js:2:12:2:32 | req('sr ... /util') | file://:0:0:0:0 | indefinite value (call) |
| amd5.js:2:7:2:8 | _u | amd5.js:2:12:2:32 | req('sr ... /util') | file://:0:0:0:0 | non-empty, non-numeric string |
| amd5.js:2:7:2:8 | _u | amd5.js:2:12:2:32 | req('sr ... /util') | reexport/lib/src/utils/util.js:1:1:3:0 | exports object of module util |
| amd.js:2:7:2:7 | m | amd.js:2:11:2:13 | mod | amd.js:1:1:7:0 | module object of module amd |
| amd.js:2:7:2:7 | m | amd.js:2:11:2:13 | mod | file://:0:0:0:0 | indefinite value (call) |
| amd.js:3:7:3:7 | e | amd.js:3:11:3:13 | exp | amd.js:1:1:7:0 | exports object of module amd |
| amd.js:3:7:3:7 | e | amd.js:3:11:3:13 | exp | file://:0:0:0:0 | indefinite value (call) |
| arguments.js:2:7:2:7 | y | arguments.js:2:11:2:11 | x | file://:0:0:0:0 | non-zero value |
| arguments.js:7:7:7:7 | y | arguments.js:7:11:7:11 | x | file://:0:0:0:0 | indefinite value (call) |
| arguments.js:7:7:7:7 | y | arguments.js:7:11:7:11 | x | file://:0:0:0:0 | indefinite value (eval) |
| arguments.js:7:7:7:7 | y | arguments.js:7:11:7:11 | x | file://:0:0:0:0 | non-zero value |
| arguments.js:13:7:13:7 | y | arguments.js:13:11:13:11 | x | file://:0:0:0:0 | non-zero value |
| arguments.js:18:7:18:7 | y | arguments.js:18:11:18:11 | x | file://:0:0:0:0 | indefinite value (call) |
| arguments.js:18:7:18:7 | y | arguments.js:18:11:18:11 | x | file://:0:0:0:0 | indefinite value (eval) |
| arguments.js:18:7:18:7 | y | arguments.js:18:11:18:11 | x | file://:0:0:0:0 | non-zero value |
| arguments.js:24:7:24:7 | y | arguments.js:24:11:24:11 | x | file://:0:0:0:0 | indefinite value (call) |
| arguments.js:24:7:24:7 | y | arguments.js:24:11:24:11 | x | file://:0:0:0:0 | non-zero value |
| arguments.js:32:7:32:7 | y | arguments.js:32:11:32:11 | x | file://:0:0:0:0 | indefinite value (call) |
| arguments.js:32:7:32:7 | y | arguments.js:32:11:32:11 | x | file://:0:0:0:0 | non-zero value |
| b.js:2:5:2:6 | x1 | b.js:2:10:2:10 | x | file://:0:0:0:0 | 0 |
| b.js:2:5:2:6 | x1 | b.js:2:10:2:10 | x | file://:0:0:0:0 | indefinite value (call) |
| b.js:3:5:3:6 | y1 | b.js:3:10:3:10 | y | file://:0:0:0:0 | 0 |
| b.js:4:5:4:6 | s1 | b.js:4:10:4:13 | setX | a.js:3:8:5:1 | function setX |
| b.js:6:5:6:6 | x2 | b.js:6:10:6:10 | x | file://:0:0:0:0 | 0 |
| b.js:6:5:6:6 | x2 | b.js:6:10:6:10 | x | file://:0:0:0:0 | indefinite value (call) |
| b.js:7:5:7:6 | y2 | b.js:7:10:7:10 | y | file://:0:0:0:0 | 0 |
| b.js:8:5:8:6 | s2 | b.js:8:10:8:13 | setX | a.js:3:8:5:1 | function setX |
| b.js:13:5:13:6 | z1 | b.js:13:10:13:12 | a.x | file://:0:0:0:0 | 0 |
| b.js:13:5:13:6 | z1 | b.js:13:10:13:12 | a.x | file://:0:0:0:0 | indefinite value (call) |
| b.js:13:5:13:6 | z1 | b.js:13:10:13:12 | a.x | file://:0:0:0:0 | indefinite value (heap) |
| b.js:16:5:16:6 | z2 | b.js:16:10:16:18 | a_default | file://:0:0:0:0 | true |
| b.js:19:5:19:6 | z3 | b.js:19:10:19:18 | c_default | c.js:1:1:7:0 | exports object of module c |
| b.js:19:5:19:6 | z3 | b.js:19:10:19:18 | c_default | c.js:1:18:1:19 | object literal |
| b.js:19:5:19:6 | z3 | b.js:19:10:19:18 | c_default | file://:0:0:0:0 | indefinite value (import) |
| b.js:22:5:22:6 | z4 | b.js:22:10:22:12 | foo | file://:0:0:0:0 | indefinite value (import) |
| b.js:22:5:22:6 | z4 | b.js:22:10:22:12 | foo | file://:0:0:0:0 | non-empty, non-numeric string |
| b.js:25:5:25:6 | z5 | b.js:25:10:25:14 | stuff | file://:0:0:0:0 | indefinite value (call) |
| b.js:25:5:25:6 | z5 | b.js:25:10:25:14 | stuff | file://:0:0:0:0 | indefinite value (import) |
| b.js:28:5:28:6 | z6 | b.js:28:10:28:14 | setX2 | a.js:3:8:5:1 | function setX |
| b.js:31:5:31:6 | z7 | b.js:31:10:31:10 | A | ts.ts:1:16:1:25 | class A |
| b.js:34:5:34:6 | z8 | b.js:34:10:34:15 | amdfoo | amd.js:4:11:4:12 | object literal |
| b.js:34:5:34:6 | z8 | b.js:34:10:34:15 | amdfoo | file://:0:0:0:0 | indefinite value (import) |
| b.js:34:5:34:6 | z8 | b.js:34:10:34:15 | amdfoo | file://:0:0:0:0 | non-empty, non-numeric string |
| b.js:37:5:37:6 | z8 | b.js:37:10:37:16 | amdfoo2 | file://:0:0:0:0 | indefinite value (import) |
| b.js:37:5:37:6 | z8 | b.js:37:10:37:16 | amdfoo2 | file://:0:0:0:0 | null |
| b.js:38:5:38:6 | z9 | b.js:38:10:38:20 | amdToString | file://:0:0:0:0 | indefinite value (import) |
| b.js:41:5:41:7 | z10 | b.js:41:11:41:11 | f | f.js:1:13:1:25 | anonymous function |
| b.js:41:5:41:7 | z10 | b.js:41:11:41:11 | f | file://:0:0:0:0 | indefinite value (import) |
| b.js:42:5:42:7 | z11 | b.js:42:11:42:18 | toString | file://:0:0:0:0 | indefinite value (import) |
| b.js:45:5:45:7 | z12 | b.js:45:11:45:12 | f2 | ts2.ts:1:1:6:0 | exports object of module ts2 |
| b.js:45:5:45:7 | z12 | b.js:45:11:45:12 | f2 | ts2.ts:1:10:1:22 | anonymous function |
| b.js:45:5:45:7 | z12 | b.js:45:11:45:12 | f2 | ts2.ts:4:12:4:13 | object literal |
| b.js:48:5:48:7 | z13 | b.js:48:11:48:11 | w | file://:0:0:0:0 | non-empty, non-numeric string |
| b.js:51:5:51:7 | z14 | b.js:51:11:51:24 | foo_reexported | file://:0:0:0:0 | indefinite value (import) |
| b.js:54:5:54:7 | z15 | b.js:54:11:54:19 | something | file://:0:0:0:0 | indefinite value (import) |
| b.js:57:5:57:7 | z16 | b.js:57:11:57:23 | notAlwaysZero | file://:0:0:0:0 | 0 |
| b.js:57:5:57:7 | z16 | b.js:57:11:57:23 | notAlwaysZero | file://:0:0:0:0 | non-zero value |
| backend.js:1:7:1:13 | Backend | backend.js:1:17:1:18 | {} | backend.js:1:17:1:18 | object literal |
| classAccessors.js:10:9:10:11 | myX | classAccessors.js:10:15:10:20 | this.x | file://:0:0:0:0 | indefinite value (call) |
| classAccessors.js:10:9:10:11 | myX | classAccessors.js:10:15:10:20 | this.x | file://:0:0:0:0 | indefinite value (heap) |
| classAccessors.js:11:9:11:11 | myY | classAccessors.js:11:15:11:20 | this.y | file://:0:0:0:0 | indefinite value (call) |
| classAccessors.js:11:9:11:11 | myY | classAccessors.js:11:15:11:20 | this.y | file://:0:0:0:0 | indefinite value (heap) |
| classAccessors.js:12:9:12:11 | myZ | classAccessors.js:12:15:12:20 | this.z | file://:0:0:0:0 | indefinite value (call) |
| classAccessors.js:12:9:12:11 | myZ | classAccessors.js:12:15:12:20 | this.z | file://:0:0:0:0 | indefinite value (heap) |
| destructuring.js:2:7:2:24 | { x, y = (z = x) } | destructuring.js:2:28:2:28 | o | file://:0:0:0:0 | indefinite value (call) |
| destructuring.js:3:7:3:8 | z1 | destructuring.js:3:12:3:12 | z | file://:0:0:0:0 | indefinite value (call) |
| destructuring.js:3:7:3:8 | z1 | destructuring.js:3:12:3:12 | z | file://:0:0:0:0 | indefinite value (heap) |
| es2015.js:1:5:1:7 | Sup | es2015.js:1:11:6:1 | class { ... ;\\n }\\n} | es2015.js:1:11:6:1 | class Sup |
| es2015.js:4:9:4:12 | ctor | es2015.js:4:16:4:25 | new.target | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:19:7:19:11 | _args | es2015.js:19:15:19:18 | args | file://:0:0:0:0 | object |
| es2015.js:23:7:23:8 | _x | es2015.js:23:12:23:12 | x | file://:0:0:0:0 | non-zero value |
| es2015.js:23:7:23:8 | _x | es2015.js:23:12:23:12 | x | file://:0:0:0:0 | undefined |
| es2015.js:27:5:27:12 | ohSoVery | es2015.js:27:16:27:16 | v | file://:0:0:0:0 | true |
| es2015.js:29:5:29:5 | r | es2015.js:29:9:29:33 | tagged ... iteral` | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:32:7:32:8 | _x | es2015.js:32:12:32:12 | x | file://:0:0:0:0 | null |
| es2015.js:33:7:33:8 | _y | es2015.js:33:12:33:12 | y | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:34:7:34:8 | _z | es2015.js:34:12:34:12 | z | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:39:7:39:8 | _x | es2015.js:39:12:39:12 | x | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:40:7:40:8 | _y | es2015.js:40:12:40:12 | y | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:41:7:41:8 | _z | es2015.js:41:12:41:12 | z | file://:0:0:0:0 | indefinite value (call) |
| es2015.js:45:7:45:7 | f | es2015.js:45:11:45:25 | function*(){}() | file://:0:0:0:0 | object |
| es2015.js:46:7:46:7 | x | es2015.js:46:11:46:30 | async function(){}() | file://:0:0:0:0 | object |
| es2015.js:49:5:49:7 | req | es2015.js:49:11:49:17 | require | file://:0:0:0:0 | indefinite value (global) |
| esClient.js:7:5:7:6 | x1 | esClient.js:7:10:7:15 | nj.foo | file://:0:0:0:0 | indefinite value (heap) |
| esClient.js:7:5:7:6 | x1 | esClient.js:7:10:7:15 | nj.foo | file://:0:0:0:0 | indefinite value (import) |
| esClient.js:7:5:7:6 | x1 | esClient.js:7:10:7:15 | nj.foo | nodeJsLib.js:3:15:3:37 | function nodeJsFoo |
| esClient.js:8:5:8:6 | x2 | esClient.js:8:10:8:15 | es.foo | esLib.js:3:8:3:24 | function foo |
| esClient.js:8:5:8:6 | x2 | esClient.js:8:10:8:15 | es.foo | file://:0:0:0:0 | indefinite value (heap) |
| esClient.js:10:5:10:6 | x3 | esClient.js:10:10:10:14 | njFoo | file://:0:0:0:0 | indefinite value (import) |
| esClient.js:10:5:10:6 | x3 | esClient.js:10:10:10:14 | njFoo | nodeJsLib.js:3:15:3:37 | function nodeJsFoo |
| esClient.js:11:5:11:6 | x4 | esClient.js:11:10:11:14 | esFoo | esLib.js:3:8:3:24 | function foo |
| fundecls.js:2:7:2:8 | f_ | fundecls.js:2:12:2:12 | f | fundecls.js:4:3:4:17 | function f |
| fundecls.js:3:7:3:8 | g1 | fundecls.js:3:12:3:12 | g | fundecls.js:8:5:8:19 | function g |
| fundecls.js:7:9:7:10 | g2 | fundecls.js:7:14:7:14 | g | fundecls.js:8:5:8:19 | function g |
| g.js:1:5:1:5 | f | g.js:1:9:1:22 | require('./f') | f.js:1:1:2:0 | exports object of module f |
| g.js:1:5:1:5 | f | g.js:1:9:1:22 | require('./f') | file://:0:0:0:0 | indefinite value (call) |
| g.js:2:5:2:6 | x1 | g.js:2:10:2:12 | f.f | f.js:1:13:1:25 | anonymous function |
| g.js:2:5:2:6 | x1 | g.js:2:10:2:12 | f.f | file://:0:0:0:0 | indefinite value (call) |
| g.js:2:5:2:6 | x1 | g.js:2:10:2:12 | f.f | file://:0:0:0:0 | indefinite value (heap) |
| g.js:3:5:3:6 | x2 | g.js:3:10:3:19 | f.toString | file://:0:0:0:0 | indefinite value (call) |
| g.js:3:5:3:6 | x2 | g.js:3:10:3:19 | f.toString | file://:0:0:0:0 | indefinite value (heap) |
| globals.html:5:11:5:11 | x | globals.html:5:15:5:15 | 0 | file://:0:0:0:0 | 0 |
| globals.html:8:13:8:14 | x1 | globals.html:8:18:8:18 | x | file://:0:0:0:0 | 0 |
| globals.html:8:13:8:14 | x1 | globals.html:8:18:8:18 | x | file://:0:0:0:0 | indefinite value (call) |
| globals.html:8:13:8:14 | x1 | globals.html:8:18:8:18 | x | file://:0:0:0:0 | indefinite value (global) |
| globals.html:9:13:9:14 | x2 | globals.html:9:18:9:27 | someGlobal | file://:0:0:0:0 | indefinite value (global) |
| globals.html:9:13:9:14 | x2 | globals.html:9:18:9:27 | someGlobal | file://:0:0:0:0 | true |
| globals.html:13:11:13:11 | x | globals.html:13:15:13:18 | "hi" | file://:0:0:0:0 | non-empty, non-numeric string |
| globals.html:17:13:17:14 | x1 | globals.html:17:18:17:18 | x | file://:0:0:0:0 | 0 |
| globals.html:17:13:17:14 | x1 | globals.html:17:18:17:18 | x | file://:0:0:0:0 | indefinite value (call) |
| globals.html:17:13:17:14 | x1 | globals.html:17:18:17:18 | x | file://:0:0:0:0 | indefinite value (global) |
| globals.html:17:13:17:14 | x1 | globals.html:17:18:17:18 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| globals.html:17:13:17:14 | x1 | globals.html:17:18:17:18 | x | globals.html:22:7:22:21 | function x |
| globals.html:18:13:18:14 | x2 | globals.html:18:18:18:27 | someGlobal | file://:0:0:0:0 | "" |
| globals.html:18:13:18:14 | x2 | globals.html:18:18:18:27 | someGlobal | file://:0:0:0:0 | indefinite value (global) |
| globals.html:18:13:18:14 | x2 | globals.html:18:18:18:27 | someGlobal | file://:0:0:0:0 | non-zero value |
| globals.html:18:13:18:14 | x2 | globals.html:18:18:18:27 | someGlobal | file://:0:0:0:0 | true |
| globals.html:26:40:26:41 | x1 | globals.html:26:45:26:45 | x | file://:0:0:0:0 | 0 |
| globals.html:26:40:26:41 | x1 | globals.html:26:45:26:45 | x | file://:0:0:0:0 | indefinite value (call) |
| globals.html:26:40:26:41 | x1 | globals.html:26:45:26:45 | x | file://:0:0:0:0 | indefinite value (global) |
| globals.html:26:40:26:41 | x1 | globals.html:26:45:26:45 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| globals.html:26:40:26:41 | x1 | globals.html:26:45:26:45 | x | globals.html:22:7:22:21 | function x |
| globals.html:26:52:26:53 | x2 | globals.html:26:57:26:66 | someGlobal | file://:0:0:0:0 | "" |
| globals.html:26:52:26:53 | x2 | globals.html:26:57:26:66 | someGlobal | file://:0:0:0:0 | indefinite value (global) |
| globals.html:26:52:26:53 | x2 | globals.html:26:57:26:66 | someGlobal | file://:0:0:0:0 | non-zero value |
| globals.html:26:52:26:53 | x2 | globals.html:26:57:26:66 | someGlobal | file://:0:0:0:0 | true |
| h_import.js:2:5:2:6 | ff | h_import.js:2:10:2:10 | f | h.js:1:8:1:22 | function f |
| implicit-returns.js:4:9:4:9 | i | implicit-returns.js:4:13:4:13 | 0 | file://:0:0:0:0 | 0 |
| implicit-returns.js:15:9:15:9 | x | implicit-returns.js:15:13:15:25 | endWithLoop() | file://:0:0:0:0 | true |
| implicit-returns.js:15:9:15:9 | x | implicit-returns.js:15:13:15:25 | endWithLoop() | file://:0:0:0:0 | undefined |
| implicit-returns.js:25:9:25:9 | x | implicit-returns.js:25:13:25:28 | endWithShortIf() | file://:0:0:0:0 | true |
| implicit-returns.js:25:9:25:9 | x | implicit-returns.js:25:13:25:28 | endWithShortIf() | file://:0:0:0:0 | undefined |
| import.js:2:5:2:5 | m | import.js:2:9:2:13 | mixin | mixins.js:1:16:1:32 | anonymous function |
| import.js:5:5:5:7 | myf | import.js:5:11:5:11 | f | n.js:1:1:1:15 | function f |
| import.js:8:5:8:11 | someVar | import.js:8:15:8:23 | someStuff | file://:0:0:0:0 | indefinite value (call) |
| import.js:11:5:11:6 | h1 | import.js:11:10:11:10 | h | file://:0:0:0:0 | indefinite value (import) |
| import.js:11:5:11:6 | h1 | import.js:11:10:11:10 | h | h.js:1:1:3:0 | exports object of module h |
| import.js:12:5:12:6 | hf | import.js:12:10:12:12 | h.f | file://:0:0:0:0 | indefinite value (heap) |
| import.js:12:5:12:6 | hf | import.js:12:10:12:12 | h.f | file://:0:0:0:0 | indefinite value (import) |
| import.js:12:5:12:6 | hf | import.js:12:10:12:12 | h.f | h.js:1:8:1:22 | function f |
| imports.ts:2:5:2:6 | ax | imports.ts:2:10:2:11 | Ax | file://:0:0:0:0 | indefinite value (global) |
| imports.ts:2:5:2:6 | ax | imports.ts:2:10:2:11 | Ax | file://:0:0:0:0 | indefinite value (heap) |
| imports.ts:5:5:5:7 | fs_ | imports.ts:5:11:5:12 | fs | file://:0:0:0:0 | indefinite value (import) |
| instances.js:8:5:8:5 | a | instances.js:8:9:8:15 | new A() | file://:0:0:0:0 | indefinite function or class (call) |
| instances.js:8:5:8:5 | a | instances.js:8:9:8:15 | new A() | file://:0:0:0:0 | indefinite object (call) |
| instances.js:8:5:8:5 | a | instances.js:8:9:8:15 | new A() | instances.js:1:1:4:1 | instance of function A |
| instances.js:9:5:9:6 | x1 | instances.js:9:10:9:12 | a.x | file://:0:0:0:0 | indefinite value (call) |
| instances.js:9:5:9:6 | x1 | instances.js:9:10:9:12 | a.x | file://:0:0:0:0 | indefinite value (global) |
| instances.js:9:5:9:6 | x1 | instances.js:9:10:9:12 | a.x | file://:0:0:0:0 | indefinite value (heap) |
| instances.js:9:5:9:6 | x1 | instances.js:9:10:9:12 | a.x | file://:0:0:0:0 | non-zero value |
| instances.js:10:5:10:6 | x2 | instances.js:10:10:10:14 | a.foo | file://:0:0:0:0 | indefinite value (call) |
| instances.js:10:5:10:6 | x2 | instances.js:10:10:10:14 | a.foo | file://:0:0:0:0 | indefinite value (global) |
| instances.js:10:5:10:6 | x2 | instances.js:10:10:10:14 | a.foo | file://:0:0:0:0 | indefinite value (heap) |
| instances.js:10:5:10:6 | x2 | instances.js:10:10:10:14 | a.foo | instances.js:3:14:3:26 | anonymous function |
| instances.js:11:5:11:6 | x3 | instances.js:11:10:11:14 | a.bar | file://:0:0:0:0 | indefinite value (call) |
| instances.js:11:5:11:6 | x3 | instances.js:11:10:11:14 | a.bar | file://:0:0:0:0 | indefinite value (global) |
| instances.js:11:5:11:6 | x3 | instances.js:11:10:11:14 | a.bar | file://:0:0:0:0 | indefinite value (heap) |
| instances.js:11:5:11:6 | x3 | instances.js:11:10:11:14 | a.bar | instances.js:6:19:6:31 | anonymous function |
| instances.js:16:5:16:8 | subA | instances.js:16:12:16:21 | new SubA() | file://:0:0:0:0 | indefinite function or class (call) |
| instances.js:16:5:16:8 | subA | instances.js:16:12:16:21 | new SubA() | file://:0:0:0:0 | indefinite object (call) |
| instances.js:16:5:16:8 | subA | instances.js:16:12:16:21 | new SubA() | instances.js:13:1:13:18 | instance of function SubA |
| jsx.js:1:5:1:5 | a | jsx.js:1:9:1:12 | <a/> | file://:0:0:0:0 | object |
| jsx.js:2:5:2:5 | b | jsx.js:2:9:2:20 | <>{a}<a/></> | file://:0:0:0:0 | object |
| m.js:1:5:1:6 | fs | m.js:1:10:1:22 | require('fs') | file://:0:0:0:0 | indefinite value (call) |
| m.js:3:5:3:8 | args | m.js:3:12:3:20 | arguments | file://:0:0:0:0 | object |
| m.js:4:5:4:7 | req | m.js:4:11:4:17 | require | file://:0:0:0:0 | indefinite value (heap) |
| m.js:5:5:5:7 | mod | m.js:5:11:5:16 | module | m.js:1:1:9:0 | module object of module m |
| m.js:6:5:6:7 | exp | m.js:6:11:6:17 | exports | m.js:1:1:9:0 | exports object of module m |
| m.js:7:5:7:6 | fn | m.js:7:10:7:19 | __filename | file://:0:0:0:0 | non-empty, non-numeric string |
| m.js:7:5:7:6 | fn | m.js:7:10:7:19 | __filename | file://:0:0:0:0 | numeric string |
| m.js:8:5:8:6 | dn | m.js:8:10:8:18 | __dirname | file://:0:0:0:0 | non-empty, non-numeric string |
| m.js:8:5:8:6 | dn | m.js:8:10:8:18 | __dirname | file://:0:0:0:0 | numeric string |
| mixed.js:1:5:1:6 | fs | mixed.js:1:10:1:22 | require('fs') | file://:0:0:0:0 | indefinite value (call) |
| mixed.js:5:5:5:8 | args | mixed.js:5:12:5:20 | arguments | file://:0:0:0:0 | object |
| mixed.js:6:5:6:7 | req | mixed.js:6:11:6:17 | require | file://:0:0:0:0 | indefinite value (heap) |
| mixed.js:7:5:7:7 | mod | mixed.js:7:11:7:16 | module | mixed.js:1:1:11:0 | module object of module mixed |
| mixed.js:8:5:8:7 | exp | mixed.js:8:11:8:17 | exports | mixed.js:1:1:11:0 | exports object of module mixed |
| mixed.js:9:5:9:6 | fn | mixed.js:9:10:9:19 | __filename | file://:0:0:0:0 | non-empty, non-numeric string |
| mixed.js:9:5:9:6 | fn | mixed.js:9:10:9:19 | __filename | file://:0:0:0:0 | numeric string |
| mixed.js:10:5:10:6 | dn | mixed.js:10:10:10:18 | __dirname | file://:0:0:0:0 | non-empty, non-numeric string |
| mixed.js:10:5:10:6 | dn | mixed.js:10:10:10:18 | __dirname | file://:0:0:0:0 | numeric string |
| nestedImport.js:2:5:2:6 | x1 | nestedImport.js:2:10:2:12 | foo | esLib.js:3:8:3:24 | function foo |
| nestedImport.js:6:7:6:8 | x2 | nestedImport.js:6:12:6:14 | foo | file://:0:0:0:0 | indefinite value (import) |
| nestedImport.js:6:7:6:8 | x2 | nestedImport.js:6:12:6:14 | foo | nodeJsLib.js:3:15:3:37 | function nodeJsFoo |
| nestedImport.js:11:7:11:8 | x3 | nestedImport.js:11:12:11:14 | foo | esLib.js:3:8:3:24 | function foo |
| nodeJsClient.js:1:5:1:6 | nj | nodeJsClient.js:1:10:1:31 | require ... JsLib') | file://:0:0:0:0 | indefinite value (call) |
| nodeJsClient.js:1:5:1:6 | nj | nodeJsClient.js:1:10:1:31 | require ... JsLib') | nodeJsLib.js:1:1:4:0 | exports object of module nodeJsLib |
| nodeJsClient.js:1:5:1:6 | nj | nodeJsClient.js:1:10:1:31 | require ... JsLib') | nodeJsLib.js:1:18:1:43 | function nodeJsModule |
| nodeJsClient.js:2:5:2:6 | es | nodeJsClient.js:2:10:2:27 | require('./esLib') | esLib.js:1:1:4:0 | exports object of module esLib |
| nodeJsClient.js:2:5:2:6 | es | nodeJsClient.js:2:10:2:27 | require('./esLib') | file://:0:0:0:0 | indefinite value (call) |
| nodeJsClient.js:4:5:4:6 | x1 | nodeJsClient.js:4:10:4:15 | nj.foo | file://:0:0:0:0 | indefinite value (call) |
| nodeJsClient.js:4:5:4:6 | x1 | nodeJsClient.js:4:10:4:15 | nj.foo | file://:0:0:0:0 | indefinite value (heap) |
| nodeJsClient.js:4:5:4:6 | x1 | nodeJsClient.js:4:10:4:15 | nj.foo | nodeJsLib.js:3:15:3:37 | function nodeJsFoo |
| nodeJsClient.js:5:5:5:6 | x2 | nodeJsClient.js:5:10:5:15 | es.foo | esLib.js:3:8:3:24 | function foo |
| nodeJsClient.js:5:5:5:6 | x2 | nodeJsClient.js:5:10:5:15 | es.foo | file://:0:0:0:0 | indefinite value (call) |
| nodeJsClient.js:5:5:5:6 | x2 | nodeJsClient.js:5:10:5:15 | es.foo | file://:0:0:0:0 | indefinite value (heap) |
| nullish-coalescing-op.ts:2:7:2:7 | y | nullish-coalescing-op.ts:2:11:2:18 | x ?? 0.5 | file://:0:0:0:0 | indefinite value (call) |
| nullish-coalescing-op.ts:2:7:2:7 | y | nullish-coalescing-op.ts:2:11:2:18 | x ?? 0.5 | file://:0:0:0:0 | non-zero value |
| objlit.js:1:5:1:5 | A | objlit.js:1:9:1:15 | A \|\| {} | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:1:5:1:5 | A | objlit.js:1:9:1:15 | A \|\| {} | objlit.js:1:14:1:15 | object literal |
| objlit.js:7:5:7:5 | B | objlit.js:7:9:7:10 | {} | objlit.js:7:9:7:10 | object literal |
| objlit.js:14:5:14:6 | x1 | objlit.js:14:10:14:10 | A | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:14:5:14:6 | x1 | objlit.js:14:10:14:10 | A | objlit.js:1:14:1:15 | object literal |
| objlit.js:15:5:15:6 | x2 | objlit.js:15:10:15:14 | A.foo | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:15:5:15:6 | x2 | objlit.js:15:10:15:14 | A.foo | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:15:5:15:6 | x2 | objlit.js:15:10:15:14 | A.foo | objlit.js:2:9:2:21 | anonymous function |
| objlit.js:16:5:16:6 | x3 | objlit.js:16:10:16:14 | A.bar | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:16:5:16:6 | x3 | objlit.js:16:10:16:14 | A.bar | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:16:5:16:6 | x3 | objlit.js:16:10:16:14 | A.bar | objlit.js:3:9:5:1 | object literal |
| objlit.js:17:5:17:6 | x4 | objlit.js:17:10:17:18 | A.bar.baz | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:17:5:17:6 | x4 | objlit.js:17:10:17:18 | A.bar.baz | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:18:5:18:6 | x5 | objlit.js:18:10:18:10 | B | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:18:5:18:6 | x5 | objlit.js:18:10:18:10 | B | objlit.js:7:9:7:10 | object literal |
| objlit.js:19:5:19:6 | x6 | objlit.js:19:10:19:12 | B.a | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:19:5:19:6 | x6 | objlit.js:19:10:19:12 | B.a | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:19:5:19:6 | x6 | objlit.js:19:10:19:12 | B.a | objlit.js:1:14:1:15 | object literal |
| objlit.js:20:5:20:6 | x7 | objlit.js:20:10:20:20 | B.a.bar.baz | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:20:5:20:6 | x7 | objlit.js:20:10:20:20 | B.a.bar.baz | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:21:5:21:6 | x8 | objlit.js:21:10:21:14 | A.qux | file://:0:0:0:0 | indefinite value (global) |
| objlit.js:21:5:21:6 | x8 | objlit.js:21:10:21:14 | A.qux | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:21:5:21:6 | x8 | objlit.js:21:10:21:14 | A.qux | objlit.js:11:11:11:23 | anonymous function |
| objlit.js:24:7:24:7 | o | objlit.js:24:11:28:3 | {\\n q ... }\\n } | objlit.js:24:11:28:3 | object literal |
| objlit.js:29:7:29:8 | x1 | objlit.js:29:12:29:12 | o | objlit.js:24:11:28:3 | object literal |
| objlit.js:30:7:30:8 | x2 | objlit.js:30:12:30:14 | o.q | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:30:7:30:8 | x2 | objlit.js:30:12:30:14 | o.q | objlit.js:25:8:27:5 | object literal |
| objlit.js:31:7:31:8 | x3 | objlit.js:31:12:31:16 | o.q.r | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:31:7:31:8 | x3 | objlit.js:31:12:31:16 | o.q.r | file://:0:0:0:0 | non-zero value |
| objlit.js:33:7:33:8 | o2 | objlit.js:33:12:40:3 | {\\n f ... }\\n } | objlit.js:33:12:40:3 | object literal |
| objlit.js:36:11:36:12 | x4 | objlit.js:36:16:36:19 | this | file://:0:0:0:0 | indefinite value (call) |
| objlit.js:36:11:36:12 | x4 | objlit.js:36:16:36:19 | this | objlit.js:33:12:40:3 | object literal |
| objlit.js:37:11:37:12 | x5 | objlit.js:37:16:37:21 | this.f | file://:0:0:0:0 | indefinite value (call) |
| objlit.js:37:11:37:12 | x5 | objlit.js:37:16:37:21 | this.f | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:37:11:37:12 | x5 | objlit.js:37:16:37:21 | this.f | objlit.js:34:6:34:10 | method f |
| objlit.js:38:11:38:12 | x6 | objlit.js:38:16:38:21 | this.h | file://:0:0:0:0 | indefinite value (call) |
| objlit.js:38:11:38:12 | x6 | objlit.js:38:16:38:21 | this.h | file://:0:0:0:0 | indefinite value (heap) |
| objlit.js:38:11:38:12 | x6 | objlit.js:38:16:38:21 | this.h | objlit.js:41:10:41:22 | anonymous function |
| objlit.js:43:7:43:8 | o3 | objlit.js:43:12:45:3 | {\\n _ ... o2\\n } | objlit.js:43:12:45:3 | object literal |
| reexport/client/src/index.js:2:5:2:8 | test | reexport/client/src/index.js:2:12:2:15 | data | file://:0:0:0:0 | non-empty, non-numeric string |
| refinements.js:3:7:3:8 | x1 | refinements.js:3:12:3:12 | g | file://:0:0:0:0 | undefined |
| refinements.js:7:7:7:8 | x3 | refinements.js:7:12:7:12 | g | file://:0:0:0:0 | undefined |
| refinements.js:11:7:11:7 | a | refinements.js:11:11:11:72 | Math.ra ... ' : 42) | file://:0:0:0:0 | non-empty, non-numeric string |
| refinements.js:11:7:11:7 | a | refinements.js:11:11:11:72 | Math.ra ... ' : 42) | file://:0:0:0:0 | non-zero value |
| refinements.js:11:7:11:7 | a | refinements.js:11:11:11:72 | Math.ra ... ' : 42) | file://:0:0:0:0 | null |
| refinements.js:12:7:12:8 | x1 | refinements.js:12:12:12:12 | a | file://:0:0:0:0 | non-empty, non-numeric string |
| refinements.js:12:7:12:8 | x1 | refinements.js:12:12:12:12 | a | file://:0:0:0:0 | non-zero value |
| refinements.js:12:7:12:8 | x1 | refinements.js:12:12:12:12 | a | file://:0:0:0:0 | null |
| refinements.js:14:9:14:10 | x2 | refinements.js:14:14:14:14 | a | file://:0:0:0:0 | non-empty, non-numeric string |
| refinements.js:14:9:14:10 | x2 | refinements.js:14:14:14:14 | a | file://:0:0:0:0 | non-zero value |
| refinements.js:16:9:16:10 | x3 | refinements.js:16:14:16:14 | a | file://:0:0:0:0 | non-zero value |
| refinements.js:16:9:16:10 | x3 | refinements.js:16:14:16:14 | a | file://:0:0:0:0 | null |
| refinements.js:18:11:18:12 | x4 | refinements.js:18:16:18:16 | a | file://:0:0:0:0 | null |
| refinements.js:20:11:20:12 | x5 | refinements.js:20:16:20:16 | a | file://:0:0:0:0 | non-zero value |
| refinements.js:23:7:23:8 | x6 | refinements.js:23:12:23:12 | a | file://:0:0:0:0 | non-empty, non-numeric string |
| refinements.js:23:7:23:8 | x6 | refinements.js:23:12:23:12 | a | file://:0:0:0:0 | non-zero value |
| refinements.js:23:7:23:8 | x6 | refinements.js:23:12:23:12 | a | file://:0:0:0:0 | null |
| refinements.js:31:7:31:8 | x2 | refinements.js:31:12:31:12 | a | file://:0:0:0:0 | undefined |
| refinements.js:35:7:35:7 | a | refinements.js:35:11:35:31 | c ? {} ... ion(){} | refinements.js:35:15:35:16 | object literal |
| refinements.js:35:7:35:7 | a | refinements.js:35:11:35:31 | c ? {} ... ion(){} | refinements.js:35:20:35:31 | anonymous function |
| refinements.js:37:9:37:10 | x1 | refinements.js:37:14:37:14 | a | refinements.js:35:15:35:16 | object literal |
| refinements.js:39:7:39:8 | x2 | refinements.js:39:12:39:12 | a | refinements.js:35:15:35:16 | object literal |
| refinements.js:39:7:39:8 | x2 | refinements.js:39:12:39:12 | a | refinements.js:35:20:35:31 | anonymous function |
| refinements.js:45:9:45:10 | x1 | refinements.js:45:14:45:14 | f | file://:0:0:0:0 | null |
| refinements.js:45:9:45:10 | x1 | refinements.js:45:14:45:14 | f | file://:0:0:0:0 | undefined |
| refinements.js:47:9:47:10 | x2 | refinements.js:47:14:47:14 | f | file://:0:0:0:0 | null |
| refinements.js:49:7:49:8 | x3 | refinements.js:49:12:49:12 | f | file://:0:0:0:0 | undefined |
| refinements.js:53:7:53:8 | x5 | refinements.js:53:12:53:12 | f | file://:0:0:0:0 | undefined |
| refinements.js:55:7:55:8 | x6 | refinements.js:55:12:55:12 | f | file://:0:0:0:0 | null |
| refinements.js:55:7:55:8 | x6 | refinements.js:55:12:55:12 | f | file://:0:0:0:0 | undefined |
| refinements.js:61:7:61:8 | x2 | refinements.js:61:12:61:12 | x | file://:0:0:0:0 | "" |
| refinements.js:61:7:61:8 | x2 | refinements.js:61:12:61:12 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| refinements.js:61:7:61:8 | x2 | refinements.js:61:12:61:12 | x | file://:0:0:0:0 | numeric string |
| tsTest.ts:2:14:2:14 | x | tsTest.ts:2:18:2:19 | 42 | file://:0:0:0:0 | non-zero value |
| tsTest.ts:4:7:4:8 | x2 | tsTest.ts:4:12:4:12 | x | file://:0:0:0:0 | indefinite value (namespace) |
| tsTest.ts:4:7:4:8 | x2 | tsTest.ts:4:12:4:12 | x | file://:0:0:0:0 | non-zero value |
| tsTest.ts:12:5:12:5 | a | tsTest.ts:12:9:12:9 | A | file://:0:0:0:0 | object |
| tst2.js:4:7:4:7 | x | tst2.js:4:11:4:20 | someGlobal | file://:0:0:0:0 | "" |
| tst2.js:4:7:4:7 | x | tst2.js:4:11:4:20 | someGlobal | file://:0:0:0:0 | indefinite value (global) |
| tst.js:3:7:3:8 | x1 | tst.js:3:12:3:15 | true | file://:0:0:0:0 | true |
| tst.js:4:7:4:8 | x2 | tst.js:4:12:4:16 | false | file://:0:0:0:0 | false |
| tst.js:5:7:5:8 | x3 | tst.js:5:12:5:12 | 0 | file://:0:0:0:0 | 0 |
| tst.js:6:7:6:8 | x4 | tst.js:6:12:6:14 | 0.0 | file://:0:0:0:0 | 0 |
| tst.js:7:7:7:8 | x5 | tst.js:7:12:7:15 | -0.0 | file://:0:0:0:0 | 0 |
| tst.js:7:7:7:8 | x5 | tst.js:7:12:7:15 | -0.0 | file://:0:0:0:0 | non-zero value |
| tst.js:8:7:8:8 | x6 | tst.js:8:12:8:14 | 0.1 | file://:0:0:0:0 | non-zero value |
| tst.js:9:7:9:8 | x7 | tst.js:9:12:9:12 | 1 | file://:0:0:0:0 | non-zero value |
| tst.js:10:7:10:8 | x8 | tst.js:10:12:10:13 | "" | file://:0:0:0:0 | "" |
| tst.js:11:7:11:8 | x9 | tst.js:11:12:11:14 | 'a' | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:12:7:12:8 | xa | tst.js:12:12:12:14 | /a/ | file://:0:0:0:0 | regular expression |
| tst.js:13:7:13:8 | xb | tst.js:13:12:13:13 | {} | tst.js:13:12:13:13 | object literal |
| tst.js:14:7:14:8 | xc | tst.js:14:12:14:13 | [] | file://:0:0:0:0 | object |
| tst.js:15:7:15:8 | xd | tst.js:15:12:15:23 | function(){} | tst.js:15:12:15:23 | function xd |
| tst.js:16:7:16:8 | xe | tst.js:16:12:16:22 | 1-unknown() | file://:0:0:0:0 | 0 |
| tst.js:16:7:16:8 | xe | tst.js:16:12:16:22 | 1-unknown() | file://:0:0:0:0 | non-zero value |
| tst.js:17:7:17:8 | xf | tst.js:17:12:17:15 | 1+xe | file://:0:0:0:0 | 0 |
| tst.js:17:7:17:8 | xf | tst.js:17:12:17:15 | 1+xe | file://:0:0:0:0 | non-zero value |
| tst.js:18:7:18:8 | xg | tst.js:18:12:18:16 | 'a'+2 | file://:0:0:0:0 | "" |
| tst.js:18:7:18:8 | xg | tst.js:18:12:18:16 | 'a'+2 | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:18:7:18:8 | xg | tst.js:18:12:18:16 | 'a'+2 | file://:0:0:0:0 | numeric string |
| tst.js:19:7:19:8 | xh | tst.js:19:12:19:32 | 'a'+(un ... ?'b':0) | file://:0:0:0:0 | "" |
| tst.js:19:7:19:8 | xh | tst.js:19:12:19:32 | 'a'+(un ... ?'b':0) | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:19:7:19:8 | xh | tst.js:19:12:19:32 | 'a'+(un ... ?'b':0) | file://:0:0:0:0 | numeric string |
| tst.js:20:7:20:8 | xi | tst.js:20:12:20:22 | 2^unknown() | file://:0:0:0:0 | 0 |
| tst.js:20:7:20:8 | xi | tst.js:20:12:20:22 | 2^unknown() | file://:0:0:0:0 | non-zero value |
| tst.js:21:7:21:8 | xj | tst.js:21:12:21:20 | unknown() | file://:0:0:0:0 | indefinite value (call) |
| tst.js:22:7:22:8 | xk | tst.js:22:12:22:24 | new Unknown() | file://:0:0:0:0 | indefinite function or class (call) |
| tst.js:22:7:22:8 | xk | tst.js:22:12:22:24 | new Unknown() | file://:0:0:0:0 | indefinite object (call) |
| tst.js:23:7:23:8 | xl | tst.js:23:12:23:18 | void(0) | file://:0:0:0:0 | undefined |
| tst.js:24:7:24:8 | xm | tst.js:24:12:24:20 | typeof xj | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:25:7:25:8 | xn | tst.js:25:12:25:19 | xj >= yk | file://:0:0:0:0 | false |
| tst.js:25:7:25:8 | xn | tst.js:25:12:25:19 | xj >= yk | file://:0:0:0:0 | true |
| tst.js:26:7:26:8 | xo | tst.js:26:12:26:19 | x9 in xk | file://:0:0:0:0 | false |
| tst.js:26:7:26:8 | xo | tst.js:26:12:26:19 | x9 in xk | file://:0:0:0:0 | true |
| tst.js:27:7:27:8 | xp | tst.js:27:12:27:15 | ++xj | file://:0:0:0:0 | 0 |
| tst.js:27:7:27:8 | xp | tst.js:27:12:27:15 | ++xj | file://:0:0:0:0 | non-zero value |
| tst.js:28:7:28:8 | xq | tst.js:28:12:28:14 | !xj | file://:0:0:0:0 | false |
| tst.js:28:7:28:8 | xq | tst.js:28:12:28:14 | !xj | file://:0:0:0:0 | true |
| tst.js:29:7:29:8 | xr | tst.js:29:12:29:14 | -xj | file://:0:0:0:0 | 0 |
| tst.js:29:7:29:8 | xr | tst.js:29:12:29:14 | -xj | file://:0:0:0:0 | non-zero value |
| tst.js:30:7:30:8 | xs | tst.js:30:12:30:14 | +xj | file://:0:0:0:0 | 0 |
| tst.js:30:7:30:8 | xs | tst.js:30:12:30:14 | +xj | file://:0:0:0:0 | non-zero value |
| tst.js:31:7:31:8 | xt | tst.js:31:12:31:14 | ~xj | file://:0:0:0:0 | 0 |
| tst.js:31:7:31:8 | xt | tst.js:31:12:31:14 | ~xj | file://:0:0:0:0 | non-zero value |
| tst.js:32:7:32:8 | xu | tst.js:32:12:32:22 | delete xj.p | file://:0:0:0:0 | false |
| tst.js:32:7:32:8 | xu | tst.js:32:12:32:22 | delete xj.p | file://:0:0:0:0 | true |
| tst.js:33:7:33:8 | xv | tst.js:33:12:33:18 | xj -= 2 | file://:0:0:0:0 | 0 |
| tst.js:33:7:33:8 | xv | tst.js:33:12:33:18 | xj -= 2 | file://:0:0:0:0 | non-zero value |
| tst.js:34:7:34:8 | xw | tst.js:34:12:34:20 | xj += "a" | file://:0:0:0:0 | "" |
| tst.js:34:7:34:8 | xw | tst.js:34:12:34:20 | xj += "a" | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:34:7:34:8 | xw | tst.js:34:12:34:20 | xj += "a" | file://:0:0:0:0 | numeric string |
| tst.js:35:7:35:8 | xx | tst.js:35:12:35:12 | y | file://:0:0:0:0 | undefined |
| tst.js:36:7:36:8 | xy | tst.js:36:12:36:20 | arguments | tst.js:1:1:39:1 | arguments object of function tst |
| tst.js:37:7:37:8 | xz | tst.js:37:12:37:12 | z | file://:0:0:0:0 | indefinite value (call) |
| tst.js:37:7:37:8 | xz | tst.js:37:12:37:12 | z | file://:0:0:0:0 | indefinite value (eval) |
| tst.js:38:7:38:8 | x_ | tst.js:38:12:38:21 | someGlobal | file://:0:0:0:0 | indefinite value (global) |
| tst.js:38:7:38:8 | x_ | tst.js:38:12:38:21 | someGlobal | file://:0:0:0:0 | non-zero value |
| tst.js:40:5:40:14 | someGlobal | tst.js:40:18:40:19 | 42 | file://:0:0:0:0 | non-zero value |
| tst.js:43:7:43:10 | thiz | tst.js:43:14:43:17 | this | file://:0:0:0:0 | indefinite value (call) |
| tst.js:43:7:43:10 | thiz | tst.js:43:14:43:17 | this | tst.js:42:1:44:1 | instance of function nonstrict |
| tst.js:48:7:48:10 | thiz | tst.js:48:14:48:17 | this | file://:0:0:0:0 | indefinite value (call) |
| tst.js:48:7:48:10 | thiz | tst.js:48:14:48:17 | this | tst.js:46:1:49:1 | instance of function strict |
| tst.js:56:7:56:20 | neverUndefined | tst.js:56:24:56:31 | captured | tst.js:52:3:52:24 | function captured |
| tst.js:60:7:60:8 | _x | tst.js:60:12:60:12 | x | file://:0:0:0:0 | non-zero value |
| tst.js:61:7:61:8 | _y | tst.js:61:12:61:12 | y | file://:0:0:0:0 | undefined |
| tst.js:65:7:65:8 | _x | tst.js:65:12:65:12 | x | file://:0:0:0:0 | object |
| tst.js:69:7:69:8 | _x | tst.js:69:12:69:12 | x | file://:0:0:0:0 | indefinite value (call) |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | 0 |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | "" |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | false |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | indefinite function or class (call) |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | indefinite object (call) |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | non-zero value |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | null |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | numeric string |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | true |
| tst.js:75:7:75:8 | _x | tst.js:75:12:75:12 | x | file://:0:0:0:0 | undefined |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | 0 |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | "" |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | false |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | indefinite function or class (call) |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | indefinite object (call) |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | non-zero value |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | null |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | numeric string |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | true |
| tst.js:81:7:81:8 | _x | tst.js:81:12:81:12 | x | file://:0:0:0:0 | undefined |
| tst.js:86:7:86:8 | _x | tst.js:86:12:86:12 | x | file://:0:0:0:0 | indefinite value (eval) |
| tst.js:86:7:86:8 | _x | tst.js:86:12:86:12 | x | file://:0:0:0:0 | non-zero value |
| tst.js:91:7:91:8 | _x | tst.js:91:12:91:12 | x | file://:0:0:0:0 | non-zero value |
| tst.js:96:9:96:9 | z | tst.js:96:13:96:13 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:96:9:96:9 | z | tst.js:96:13:96:13 | x | file://:0:0:0:0 | non-zero value |
| tst.js:96:9:96:9 | z | tst.js:96:13:96:13 | x | file://:0:0:0:0 | undefined |
| tst.js:98:7:98:7 | x | tst.js:98:11:98:12 | 23 | file://:0:0:0:0 | non-zero value |
| tst.js:99:7:99:8 | y1 | tst.js:99:12:99:12 | x | file://:0:0:0:0 | non-zero value |
| tst.js:102:7:102:8 | y2 | tst.js:102:12:102:12 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:107:7:107:7 | x | tst.js:107:11:107:19 | arguments | tst.js:106:2:109:1 | arguments object of anonymous function |
| tst.js:112:7:112:7 | x | tst.js:112:11:112:19 | arguments | file://:0:0:0:0 | indefinite value (call) |
| tst.js:112:7:112:7 | x | tst.js:112:11:112:19 | arguments | file://:0:0:0:0 | indefinite value (eval) |
| tst.js:116:7:116:8 | x1 | tst.js:116:12:118:5 | functio ... ;\\n }() | file://:0:0:0:0 | non-zero value |
| tst.js:119:7:119:8 | x2 | tst.js:119:12:121:5 | functio ... ;\\n }() | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:119:7:119:8 | x2 | tst.js:119:12:121:5 | functio ... ;\\n }() | file://:0:0:0:0 | null |
| tst.js:122:7:122:8 | x3 | tst.js:122:12:124:7 | functio ... }(x1) | file://:0:0:0:0 | non-zero value |
| tst.js:122:7:122:8 | x3 | tst.js:122:12:124:7 | functio ... }(x1) | file://:0:0:0:0 | undefined |
| tst.js:125:7:125:8 | x4 | tst.js:125:12:125:26 | function() {}() | file://:0:0:0:0 | undefined |
| tst.js:126:7:126:8 | x5 | tst.js:126:12:130:5 | functio ... ;\\n }() | file://:0:0:0:0 | true |
| tst.js:135:7:135:8 | a1 | tst.js:135:12:135:12 | a | file://:0:0:0:0 | indefinite value (call) |
| tst.js:135:15:135:16 | b1 | tst.js:135:20:135:20 | b | file://:0:0:0:0 | indefinite value (call) |
| tst.js:137:9:137:10 | a2 | tst.js:137:14:137:14 | a | file://:0:0:0:0 | 0 |
| tst.js:137:9:137:10 | a2 | tst.js:137:14:137:14 | a | file://:0:0:0:0 | "" |
| tst.js:137:9:137:10 | a2 | tst.js:137:14:137:14 | a | file://:0:0:0:0 | false |
| tst.js:137:9:137:10 | a2 | tst.js:137:14:137:14 | a | file://:0:0:0:0 | null |
| tst.js:137:9:137:10 | a2 | tst.js:137:14:137:14 | a | file://:0:0:0:0 | undefined |
| tst.js:137:17:137:18 | b2 | tst.js:137:22:137:22 | b | file://:0:0:0:0 | 0 |
| tst.js:137:17:137:18 | b2 | tst.js:137:22:137:22 | b | file://:0:0:0:0 | "" |
| tst.js:137:17:137:18 | b2 | tst.js:137:22:137:22 | b | file://:0:0:0:0 | false |
| tst.js:137:17:137:18 | b2 | tst.js:137:22:137:22 | b | file://:0:0:0:0 | null |
| tst.js:137:17:137:18 | b2 | tst.js:137:22:137:22 | b | file://:0:0:0:0 | undefined |
| tst.js:140:9:140:10 | a3 | tst.js:140:14:140:14 | a | file://:0:0:0:0 | 0 |
| tst.js:140:9:140:10 | a3 | tst.js:140:14:140:14 | a | file://:0:0:0:0 | "" |
| tst.js:140:9:140:10 | a3 | tst.js:140:14:140:14 | a | file://:0:0:0:0 | false |
| tst.js:140:9:140:10 | a3 | tst.js:140:14:140:14 | a | file://:0:0:0:0 | null |
| tst.js:140:9:140:10 | a3 | tst.js:140:14:140:14 | a | file://:0:0:0:0 | undefined |
| tst.js:140:17:140:18 | b3 | tst.js:140:22:140:22 | b | file://:0:0:0:0 | 0 |
| tst.js:140:17:140:18 | b3 | tst.js:140:22:140:22 | b | file://:0:0:0:0 | "" |
| tst.js:140:17:140:18 | b3 | tst.js:140:22:140:22 | b | file://:0:0:0:0 | false |
| tst.js:140:17:140:18 | b3 | tst.js:140:22:140:22 | b | file://:0:0:0:0 | null |
| tst.js:140:17:140:18 | b3 | tst.js:140:22:140:22 | b | file://:0:0:0:0 | undefined |
| tst.js:145:7:145:8 | v1 | tst.js:145:12:145:16 | value | file://:0:0:0:0 | indefinite value (call) |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | indefinite function or class (call) |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | indefinite object (call) |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | non-zero value |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | null |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | numeric string |
| tst.js:147:9:147:10 | v2 | tst.js:147:14:147:18 | value | file://:0:0:0:0 | undefined |
| tst.js:154:9:154:10 | x1 | tst.js:154:14:154:14 | x | file://:0:0:0:0 | "" |
| tst.js:154:9:154:10 | x1 | tst.js:154:14:154:14 | x | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:154:9:154:10 | x1 | tst.js:154:14:154:14 | x | file://:0:0:0:0 | numeric string |
| tst.js:157:9:157:10 | y1 | tst.js:157:14:157:14 | y | file://:0:0:0:0 | "" |
| tst.js:157:9:157:10 | y1 | tst.js:157:14:157:14 | y | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:157:9:157:10 | y1 | tst.js:157:14:157:14 | y | file://:0:0:0:0 | numeric string |
| tst.js:160:9:160:10 | z1 | tst.js:160:14:160:14 | z | file://:0:0:0:0 | indefinite value (heap) |
| tst.js:165:7:165:8 | x1 | tst.js:165:12:165:20 | undefined | file://:0:0:0:0 | undefined |
| tst.js:166:7:166:8 | x2 | tst.js:166:12:166:27 | arguments.callee | tst.js:164:1:172:1 | function tst5 |
| tst.js:167:7:167:8 | x3 | tst.js:167:12:167:19 | o.callee | file://:0:0:0:0 | indefinite value (call) |
| tst.js:167:7:167:8 | x3 | tst.js:167:12:167:19 | o.callee | file://:0:0:0:0 | indefinite value (heap) |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | 0 |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | "" |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | false |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | indefinite function or class (call) |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | indefinite object (call) |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | non-zero value |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | null |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | numeric string |
| tst.js:169:9:169:10 | x4 | tst.js:169:14:169:14 | o | file://:0:0:0:0 | true |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | 0 |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | "" |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | false |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | indefinite function or class (call) |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | indefinite object (call) |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | non-empty, non-numeric string |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | non-zero value |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | null |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | numeric string |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | true |
| tst.js:171:7:171:8 | x5 | tst.js:171:12:171:12 | o | file://:0:0:0:0 | undefined |
| tst.js:176:9:176:14 | await1 | tst.js:176:18:176:18 | v | file://:0:0:0:0 | undefined |
| tst.js:179:13:179:18 | await2 | tst.js:179:22:179:22 | v | file://:0:0:0:0 | indefinite value (await) |
| tst.js:182:9:182:14 | await3 | tst.js:182:18:182:18 | v | file://:0:0:0:0 | indefinite value (await) |
| tst.js:182:9:182:14 | await3 | tst.js:182:18:182:18 | v | file://:0:0:0:0 | undefined |
| tst.js:185:5:185:21 | [someOtherGlobal] | tst.js:185:25:185:26 | [] | file://:0:0:0:0 | object |
| tst.js:186:5:186:6 | x1 | tst.js:186:10:186:24 | someOtherGlobal | file://:0:0:0:0 | indefinite value (global) |
| tst.js:186:5:186:6 | x1 | tst.js:186:10:186:24 | someOtherGlobal | file://:0:0:0:0 | indefinite value (heap) |
| tst.mjs:3:5:3:7 | req | tst.mjs:3:11:3:17 | require | file://:0:0:0:0 | indefinite value (global) |
| with.js:2:7:2:7 | x | with.js:2:11:2:12 | 42 | file://:0:0:0:0 | non-zero value |
| with.js:2:15:2:15 | y | with.js:2:19:2:22 | null | file://:0:0:0:0 | null |
| with.js:4:9:4:10 | r1 | with.js:4:14:4:14 | x | file://:0:0:0:0 | indefinite value (eval) |
| with.js:4:9:4:10 | r1 | with.js:4:14:4:14 | x | file://:0:0:0:0 | non-zero value |
| with.js:5:9:5:10 | r2 | with.js:5:14:5:14 | y | file://:0:0:0:0 | indefinite value (eval) |
| with.js:5:9:5:10 | r2 | with.js:5:14:5:14 | y | file://:0:0:0:0 | null |
| with.js:7:11:7:11 | y | with.js:7:15:7:18 | "hi" | file://:0:0:0:0 | non-empty, non-numeric string |
| with.js:9:13:9:14 | r3 | with.js:9:18:9:18 | x | file://:0:0:0:0 | indefinite value (eval) |
| with.js:9:13:9:14 | r3 | with.js:9:18:9:18 | x | file://:0:0:0:0 | non-zero value |
| with.js:10:13:10:14 | r4 | with.js:10:18:10:18 | y | file://:0:0:0:0 | non-empty, non-numeric string |
| with.js:13:9:13:9 | z | with.js:13:13:13:16 | true | file://:0:0:0:0 | true |
| with.js:14:9:14:10 | r5 | with.js:14:14:14:14 | z | file://:0:0:0:0 | indefinite value (eval) |
| with.js:14:9:14:10 | r5 | with.js:14:14:14:14 | z | file://:0:0:0:0 | true |
| with.js:16:7:16:8 | r6 | with.js:16:12:16:12 | x | file://:0:0:0:0 | non-zero value |

View File

@@ -1,5 +0,0 @@
import javascript
from VariableDeclarator vd, DataFlow::AnalyzedNode init
where init = vd.getInit().analyze()
select vd.getBindingPattern(), init, init.getAValue()

View File

@@ -1,96 +0,0 @@
| ChatListScreen.js:3:1:5:1 | instance of function foo | ChatListScreen.js:3:1:5:1 | instance of function foo |
| a.js:3:8:5:1 | instance of function setX | a.js:3:8:5:1 | instance of function setX |
| a.js:15:1:17:1 | instance of function bump | a.js:15:1:17:1 | instance of function bump |
| amd2.js:1:8:3:1 | instance of anonymous function | amd2.js:1:8:3:1 | instance of anonymous function |
| amd3.js:1:24:4:1 | instance of anonymous function | amd3.js:1:24:4:1 | instance of anonymous function |
| amd4.js:1:28:3:1 | instance of anonymous function | amd4.js:1:28:3:1 | instance of anonymous function |
| amd5.js:1:21:3:1 | instance of anonymous function | amd5.js:1:21:3:1 | instance of anonymous function |
| amd.js:1:31:6:1 | instance of anonymous function | amd.js:1:31:6:1 | instance of anonymous function |
| arguments.js:1:2:3:1 | instance of anonymous function | arguments.js:1:2:3:1 | instance of anonymous function |
| arguments.js:5:2:8:1 | instance of anonymous function | arguments.js:5:2:8:1 | instance of anonymous function |
| arguments.js:10:2:14:1 | instance of anonymous function | arguments.js:10:2:14:1 | instance of anonymous function |
| arguments.js:16:2:19:1 | instance of anonymous function | arguments.js:16:2:19:1 | instance of anonymous function |
| arguments.js:22:2:28:1 | instance of anonymous function | arguments.js:22:2:28:1 | instance of anonymous function |
| arguments.js:30:2:33:1 | instance of anonymous function | arguments.js:30:2:33:1 | instance of anonymous function |
| c.js:3:1:5:1 | instance of function f | c.js:3:1:5:1 | instance of function f |
| destructuring.js:1:1:4:1 | instance of function f | destructuring.js:1:1:4:1 | instance of function f |
| es2015.js:8:1:16:1 | instance of class Sub | es2015.js:1:11:6:1 | instance of class Sup |
| es2015.js:18:1:20:1 | instance of function f | es2015.js:18:1:20:1 | instance of function f |
| es2015.js:22:2:24:1 | instance of anonymous function | es2015.js:22:2:24:1 | instance of anonymous function |
| es2015.js:31:2:35:1 | instance of anonymous function | es2015.js:31:2:35:1 | instance of anonymous function |
| es2015.js:38:2:42:1 | instance of anonymous function | es2015.js:38:2:42:1 | instance of anonymous function |
| es2015.js:44:2:47:1 | instance of anonymous function | es2015.js:44:2:47:1 | instance of anonymous function |
| esLib.js:3:8:3:24 | instance of function foo | esLib.js:3:8:3:24 | instance of function foo |
| f.js:1:13:1:25 | instance of anonymous function | f.js:1:13:1:25 | instance of anonymous function |
| fundecls.js:1:2:10:1 | instance of anonymous function | fundecls.js:1:2:10:1 | instance of anonymous function |
| fundecls.js:4:3:4:17 | instance of function f | fundecls.js:4:3:4:17 | instance of function f |
| fundecls.js:8:5:8:19 | instance of function g | fundecls.js:8:5:8:19 | instance of function g |
| globals.html:7:8:10:7 | instance of anonymous function | globals.html:7:8:10:7 | instance of anonymous function |
| globals.html:16:8:19:7 | instance of anonymous function | globals.html:16:8:19:7 | instance of anonymous function |
| globals.html:22:7:22:21 | instance of function x | globals.html:22:7:22:21 | instance of function x |
| globals.html:26:23:26:69 | instance of anonymous function | globals.html:26:23:26:69 | instance of anonymous function |
| h.js:1:8:1:22 | instance of function f | h.js:1:8:1:22 | instance of function f |
| implicit-returns.js:3:1:12:1 | instance of function endWithLoop | implicit-returns.js:3:1:12:1 | instance of function endWithLoop |
| implicit-returns.js:14:1:16:1 | instance of function useLoop | implicit-returns.js:14:1:16:1 | instance of function useLoop |
| implicit-returns.js:18:1:22:1 | instance of function endWithShortIf | implicit-returns.js:18:1:22:1 | instance of function endWithShortIf |
| implicit-returns.js:24:1:26:1 | instance of function useShortIf | implicit-returns.js:24:1:26:1 | instance of function useShortIf |
| instances.js:1:1:4:1 | instance of function A | instances.js:1:1:4:1 | instance of function A |
| instances.js:3:14:3:26 | instance of anonymous function | instances.js:3:14:3:26 | instance of anonymous function |
| instances.js:6:19:6:31 | instance of anonymous function | instances.js:6:19:6:31 | instance of anonymous function |
| instances.js:13:1:13:18 | instance of function SubA | instances.js:1:1:4:1 | instance of function A |
| instances.js:13:1:13:18 | instance of function SubA | instances.js:13:1:13:18 | instance of function SubA |
| n.js:1:1:1:15 | instance of function f | n.js:1:1:1:15 | instance of function f |
| n.js:2:1:2:15 | instance of function g | n.js:2:1:2:15 | instance of function g |
| nestedImport.js:9:1:12:1 | instance of function tst | nestedImport.js:9:1:12:1 | instance of function tst |
| nodeJsLib.js:1:18:1:43 | instance of function nodeJsModule | nodeJsLib.js:1:18:1:43 | instance of function nodeJsModule |
| nodeJsLib.js:3:15:3:37 | instance of function nodeJsFoo | nodeJsLib.js:3:15:3:37 | instance of function nodeJsFoo |
| nullish-coalescing-op.ts:1:1:3:1 | instance of function test | nullish-coalescing-op.ts:1:1:3:1 | instance of function test |
| objlit.js:2:9:2:21 | instance of anonymous function | objlit.js:2:9:2:21 | instance of anonymous function |
| objlit.js:4:8:4:20 | instance of method baz | objlit.js:4:8:4:20 | instance of method baz |
| objlit.js:10:2:12:1 | instance of anonymous function | objlit.js:10:2:12:1 | instance of anonymous function |
| objlit.js:11:11:11:23 | instance of anonymous function | objlit.js:11:11:11:23 | instance of anonymous function |
| objlit.js:23:2:48:1 | instance of anonymous function | objlit.js:23:2:48:1 | instance of anonymous function |
| objlit.js:41:10:41:22 | instance of anonymous function | objlit.js:41:10:41:22 | instance of anonymous function |
| objlit.js:43:12:45:3 | object literal | file://:0:0:0:0 | null |
| objlit.js:43:12:45:3 | object literal | objlit.js:33:12:40:3 | object literal |
| refinements.js:1:1:8:1 | instance of function f1 | refinements.js:1:1:8:1 | instance of function f1 |
| refinements.js:10:1:24:1 | instance of function f2 | refinements.js:10:1:24:1 | instance of function f2 |
| refinements.js:26:1:32:1 | instance of function f3 | refinements.js:26:1:32:1 | instance of function f3 |
| refinements.js:34:1:40:1 | instance of function f4 | refinements.js:34:1:40:1 | instance of function f4 |
| refinements.js:35:20:35:31 | instance of anonymous function | refinements.js:35:20:35:31 | instance of anonymous function |
| refinements.js:42:1:56:1 | instance of function f5 | refinements.js:42:1:56:1 | instance of function f5 |
| refinements.js:44:3:48:3 | instance of function inner | refinements.js:44:3:48:3 | instance of function inner |
| refinements.js:58:1:62:1 | instance of function f6 | refinements.js:58:1:62:1 | instance of function f6 |
| ts2.ts:1:10:1:22 | instance of anonymous function | ts2.ts:1:10:1:22 | instance of anonymous function |
| tsTest.ts:8:1:10:1 | instance of function setX | tsTest.ts:8:1:10:1 | instance of function setX |
| tst2.js:3:2:5:1 | instance of anonymous function | tst2.js:3:2:5:1 | instance of anonymous function |
| tst.js:1:1:39:1 | instance of function tst | tst.js:1:1:39:1 | instance of function tst |
| tst.js:15:12:15:23 | instance of function xd | tst.js:15:12:15:23 | instance of function xd |
| tst.js:42:1:44:1 | instance of function nonstrict | tst.js:42:1:44:1 | instance of function nonstrict |
| tst.js:46:1:49:1 | instance of function strict | tst.js:46:1:49:1 | instance of function strict |
| tst.js:51:1:57:1 | instance of function capturedFn | tst.js:51:1:57:1 | instance of function capturedFn |
| tst.js:52:3:52:24 | instance of function captured | tst.js:52:3:52:24 | instance of function captured |
| tst.js:53:3:55:3 | instance of function capturing | tst.js:53:3:55:3 | instance of function capturing |
| tst.js:59:2:62:1 | instance of anonymous function | tst.js:59:2:62:1 | instance of anonymous function |
| tst.js:64:2:66:1 | instance of anonymous function | tst.js:64:2:66:1 | instance of anonymous function |
| tst.js:68:2:70:1 | instance of anonymous function | tst.js:68:2:70:1 | instance of anonymous function |
| tst.js:72:2:76:1 | instance of function s | tst.js:72:2:76:1 | instance of function s |
| tst.js:78:2:82:1 | instance of anonymous function | tst.js:78:2:82:1 | instance of anonymous function |
| tst.js:84:2:87:1 | instance of anonymous function | tst.js:84:2:87:1 | instance of anonymous function |
| tst.js:89:2:92:1 | instance of anonymous function | tst.js:89:2:92:1 | instance of anonymous function |
| tst.js:94:2:104:1 | instance of anonymous function | tst.js:94:2:104:1 | instance of anonymous function |
| tst.js:95:3:97:3 | instance of function inner | tst.js:95:3:97:3 | instance of function inner |
| tst.js:106:2:109:1 | instance of anonymous function | tst.js:106:2:109:1 | instance of anonymous function |
| tst.js:111:1:113:1 | instance of function tst | tst.js:111:1:113:1 | instance of function tst |
| tst.js:115:2:132:1 | instance of anonymous function | tst.js:115:2:132:1 | instance of anonymous function |
| tst.js:116:12:118:3 | instance of anonymous function | tst.js:116:12:118:3 | instance of anonymous function |
| tst.js:119:12:121:3 | instance of anonymous function | tst.js:119:12:121:3 | instance of anonymous function |
| tst.js:122:12:124:3 | instance of anonymous function | tst.js:122:12:124:3 | instance of anonymous function |
| tst.js:125:12:125:24 | instance of anonymous function | tst.js:125:12:125:24 | instance of anonymous function |
| tst.js:126:12:130:3 | instance of anonymous function | tst.js:126:12:130:3 | instance of anonymous function |
| tst.js:131:12:131:37 | instance of anonymous function | tst.js:131:12:131:37 | instance of anonymous function |
| tst.js:134:1:142:1 | instance of function tst2 | tst.js:134:1:142:1 | instance of function tst2 |
| tst.js:144:1:149:1 | instance of function tst3 | tst.js:144:1:149:1 | instance of function tst3 |
| tst.js:151:1:162:1 | instance of function tst4 | tst.js:151:1:162:1 | instance of function tst4 |
| tst.js:164:1:172:1 | instance of function tst5 | tst.js:164:1:172:1 | instance of function tst5 |
| with.js:1:1:17:1 | instance of function f | with.js:1:1:17:1 | instance of function f |

View File

@@ -1,4 +0,0 @@
import javascript
from AbstractValue av
select av, av.getAPrototype()

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,29 @@
import javascript
query predicate abseval(
VariableDeclarator vd, DataFlow::AnalyzedNode init, BindingPattern var, AbstractValue val
) {
init = vd.getInit().analyze() and
var = vd.getBindingPattern() and
val = init.getAValue()
}
query predicate abstractValues(AbstractValue val) { any() }
query predicate getAPrototype(AbstractValue av, DefiniteAbstractValue proto) {
av.getAPrototype() = proto
}
private import semmle.javascript.dataflow.Refinements
query predicate refinement_eval(Refinement ref, RefinementContext ctxt, RefinementValue val) {
ref.eval(ctxt) = val
}
query predicate types(
VariableDeclarator vd, DataFlow::AnalyzedNode init, BindingPattern var, string types
) {
init = vd.getInit().analyze() and
var = vd.getBindingPattern() and
types = init.ppTypes()
}

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