Skip to content

Commit e6bfffa

Browse files
committed
update basic-block on ExceptionalFunctionReturnNode and FunctionReturnNode
1 parent 840f30f commit e6bfffa

File tree

2 files changed

+38
-38
lines changed

2 files changed

+38
-38
lines changed

javascript/ql/src/semmle/javascript/dataflow/DataFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ module DataFlow {
912912
function.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
913913
}
914914

915-
override BasicBlock getBasicBlock() { result = function.(ExprOrStmt).getBasicBlock() }
915+
override BasicBlock getBasicBlock() { result = function.getExit().getBasicBlock() }
916916

917917
/**
918918
* Gets the function corresponding to this exceptional return node.
@@ -938,7 +938,7 @@ module DataFlow {
938938
function.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
939939
}
940940

941-
override BasicBlock getBasicBlock() { result = function.(ExprOrStmt).getBasicBlock() }
941+
override BasicBlock getBasicBlock() { result = function.getExit().getBasicBlock() }
942942

943943
/**
944944
* Gets the function corresponding to this return node.

javascript/ql/test/library-tests/DataFlow/basicBlock.expected

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
| arguments.js:1:1:12:4 | (functi ... );\\n})() | arguments.js:1:1:1:0 | entry node of <toplevel> |
44
| arguments.js:1:1:12:4 | exceptional return of (functi ... );\\n})() | arguments.js:1:1:1:0 | entry node of <toplevel> |
55
| arguments.js:1:2:1:1 | this | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
6-
| arguments.js:1:2:12:1 | exceptional return of anonymous function | arguments.js:1:1:1:0 | entry node of <toplevel> |
6+
| arguments.js:1:2:12:1 | exceptional return of anonymous function | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
77
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:1:0 | entry node of <toplevel> |
8-
| arguments.js:1:2:12:1 | return of anonymous function | arguments.js:1:1:1:0 | entry node of <toplevel> |
8+
| arguments.js:1:2:12:1 | return of anonymous function | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
99
| arguments.js:2:5:2:4 | this | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
1010
| arguments.js:2:5:2:5 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
11-
| arguments.js:2:5:10:5 | exceptional return of function f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
11+
| arguments.js:2:5:10:5 | exceptional return of function f | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
1212
| arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
13-
| arguments.js:2:5:10:5 | return of function f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
13+
| arguments.js:2:5:10:5 | return of function f | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
1414
| arguments.js:2:14:2:14 | f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
1515
| arguments.js:2:14:2:14 | f | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
1616
| arguments.js:2:16:2:16 | x | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
@@ -54,9 +54,9 @@
5454
| arguments.js:11:13:11:13 | 3 | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
5555
| eval.js:1:1:1:0 | this | eval.js:1:1:1:0 | entry node of <toplevel> |
5656
| eval.js:1:1:1:0 | this | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
57-
| eval.js:1:1:5:1 | exceptional return of function k | eval.js:1:1:1:0 | entry node of <toplevel> |
57+
| eval.js:1:1:5:1 | exceptional return of function k | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
5858
| eval.js:1:1:5:1 | functio ... eval`\\n} | eval.js:1:1:1:0 | entry node of <toplevel> |
59-
| eval.js:1:1:5:1 | return of function k | eval.js:1:1:1:0 | entry node of <toplevel> |
59+
| eval.js:1:1:5:1 | return of function k | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
6060
| eval.js:1:10:1:10 | k | eval.js:1:1:1:0 | entry node of <toplevel> |
6161
| eval.js:2:7:2:7 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
6262
| eval.js:2:7:2:12 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
@@ -73,17 +73,17 @@
7373
| sources.js:1:5:1:12 | (x => x) | sources.js:1:1:1:0 | entry node of <toplevel> |
7474
| sources.js:1:6:1:6 | x | sources.js:1:6:1:5 | entry node of x => x |
7575
| sources.js:1:6:1:6 | x | sources.js:1:6:1:5 | entry node of x => x |
76-
| sources.js:1:6:1:11 | exceptional return of anonymous function | sources.js:1:1:1:0 | entry node of <toplevel> |
77-
| sources.js:1:6:1:11 | return of anonymous function | sources.js:1:1:1:0 | entry node of <toplevel> |
76+
| sources.js:1:6:1:11 | exceptional return of anonymous function | sources.js:1:6:1:5 | entry node of x => x |
77+
| sources.js:1:6:1:11 | return of anonymous function | sources.js:1:6:1:5 | entry node of x => x |
7878
| sources.js:1:6:1:11 | x => x | sources.js:1:1:1:0 | entry node of <toplevel> |
7979
| sources.js:1:11:1:11 | x | sources.js:1:6:1:5 | entry node of x => x |
8080
| sources.js:3:1:5:2 | (functi ... +19;\\n}) | sources.js:1:1:1:0 | entry node of <toplevel> |
8181
| sources.js:3:1:5:6 | (functi ... \\n})(23) | sources.js:1:1:1:0 | entry node of <toplevel> |
8282
| sources.js:3:1:5:6 | exceptional return of (functi ... \\n})(23) | sources.js:1:1:1:0 | entry node of <toplevel> |
8383
| sources.js:3:2:3:1 | this | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
84-
| sources.js:3:2:5:1 | exceptional return of anonymous function | sources.js:1:1:1:0 | entry node of <toplevel> |
84+
| sources.js:3:2:5:1 | exceptional return of anonymous function | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
8585
| sources.js:3:2:5:1 | functio ... x+19;\\n} | sources.js:1:1:1:0 | entry node of <toplevel> |
86-
| sources.js:3:2:5:1 | return of anonymous function | sources.js:1:1:1:0 | entry node of <toplevel> |
86+
| sources.js:3:2:5:1 | return of anonymous function | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
8787
| sources.js:3:11:3:11 | x | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
8888
| sources.js:3:11:3:11 | x | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
8989
| sources.js:4:10:4:10 | x | sources.js:3:2:3:1 | entry node of functio ... x+19;\\n} |
@@ -92,9 +92,9 @@
9292
| sources.js:5:4:5:5 | 23 | sources.js:1:1:1:0 | entry node of <toplevel> |
9393
| sources.js:7:1:7:3 | /x/ | sources.js:1:1:1:0 | entry node of <toplevel> |
9494
| sources.js:9:1:9:0 | this | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
95-
| sources.js:9:1:12:1 | exceptional return of function foo | sources.js:1:1:1:0 | entry node of <toplevel> |
95+
| sources.js:9:1:12:1 | exceptional return of function foo | sources.js:12:2:12:1 | exit node of functio ... ey; }\\n} |
9696
| sources.js:9:1:12:1 | functio ... ey; }\\n} | sources.js:1:1:1:0 | entry node of <toplevel> |
97-
| sources.js:9:1:12:1 | return of function foo | sources.js:1:1:1:0 | entry node of <toplevel> |
97+
| sources.js:9:1:12:1 | return of function foo | sources.js:12:2:12:1 | exit node of functio ... ey; }\\n} |
9898
| sources.js:9:10:9:12 | foo | sources.js:1:1:1:0 | entry node of <toplevel> |
9999
| sources.js:9:14:9:18 | array | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
100100
| sources.js:9:14:9:18 | array | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
@@ -128,9 +128,9 @@
128128
| tst2.ts:4:3:4:3 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
129129
| tst2.ts:7:1:7:0 | A | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
130130
| tst2.ts:7:1:7:0 | this | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
131-
| tst2.ts:7:1:9:1 | exceptional return of function setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
131+
| tst2.ts:7:1:9:1 | exceptional return of function setX | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
132132
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} | tst2.ts:1:1:1:0 | entry node of <toplevel> |
133-
| tst2.ts:7:1:9:1 | return of function setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
133+
| tst2.ts:7:1:9:1 | return of function setX | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
134134
| tst2.ts:7:10:7:13 | setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
135135
| tst2.ts:7:10:7:13 | setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
136136
| tst2.ts:8:3:8:3 | A | tst2.ts:7:1:7:0 | entry node of functio ... = 23;\\n} |
@@ -156,9 +156,9 @@
156156
| tst2.ts:13:39:13:38 | constru ... rgs); } | tst2.ts:1:1:1:0 | entry node of <toplevel> |
157157
| tst2.ts:13:39:13:38 | constru ... rgs); } | tst2.ts:1:1:1:0 | entry node of <toplevel> |
158158
| tst2.ts:13:39:13:38 | constructor | tst2.ts:1:1:1:0 | entry node of <toplevel> |
159-
| tst2.ts:13:39:13:38 | exceptional return of default constructor of class StringList | tst2.ts:1:1:1:0 | entry node of <toplevel> |
159+
| 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); } |
160160
| tst2.ts:13:39:13:38 | exceptional return of super(...args) | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
161-
| tst2.ts:13:39:13:38 | return of default constructor of class StringList | tst2.ts:1:1:1:0 | entry node of <toplevel> |
161+
| tst2.ts:13:39:13:38 | return of default constructor of class StringList | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
162162
| tst2.ts:13:39:13:38 | super | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
163163
| tst2.ts:13:39:13:38 | super(...args) | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
164164
| tst2.ts:13:39:13:38 | this | tst2.ts:13:39:13:38 | entry node of (...arg ... rgs); } |
@@ -209,9 +209,9 @@
209209
| tst.js:16:1:20:9 | (functi ... ("arg") | tst.js:16:1:20:10 | (functi ... "arg"); |
210210
| tst.js:16:1:20:9 | exceptional return of (functi ... ("arg") | tst.js:16:1:20:10 | (functi ... "arg"); |
211211
| tst.js:16:2:16:1 | this | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
212-
| tst.js:16:2:20:1 | exceptional return of function f | tst.js:16:1:20:10 | (functi ... "arg"); |
212+
| tst.js:16:2:20:1 | exceptional return of function f | tst.js:20:2:20:1 | exit node of functio ... n "";\\n} |
213213
| tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
214-
| tst.js:16:2:20:1 | return of function f | tst.js:16:1:20:10 | (functi ... "arg"); |
214+
| tst.js:16:2:20:1 | return of function f | tst.js:20:2:20:1 | exit node of functio ... n "";\\n} |
215215
| tst.js:16:11:16:11 | f | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
216216
| tst.js:16:13:16:13 | a | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
217217
| tst.js:16:13:16:13 | a | tst.js:16:2:16:1 | entry node of functio ... n "";\\n} |
@@ -243,14 +243,14 @@
243243
| tst.js:28:1:30:3 | exceptional return of (() =>\\n ... les\\n)() | tst.js:16:1:20:10 | (functi ... "arg"); |
244244
| tst.js:28:2:28:1 | x | tst.js:28:2:28:1 | entry node of () =>\\n x |
245245
| tst.js:28:2:29:3 | () =>\\n x | tst.js:16:1:20:10 | (functi ... "arg"); |
246-
| tst.js:28:2:29:3 | exceptional return of anonymous function | tst.js:16:1:20:10 | (functi ... "arg"); |
247-
| tst.js:28:2:29:3 | return of anonymous function | tst.js:16:1:20:10 | (functi ... "arg"); |
246+
| tst.js:28:2:29:3 | exceptional return of anonymous function | tst.js:28:2:28:1 | entry node of () =>\\n x |
247+
| tst.js:28:2:29:3 | return of anonymous function | tst.js:28:2:28:1 | entry node of () =>\\n x |
248248
| tst.js:29:3:29:3 | x | tst.js:28:2:28:1 | entry node of () =>\\n x |
249249
| tst.js:32:1:32:0 | this | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
250250
| tst.js:32:1:32:0 | x | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
251-
| tst.js:32:1:34:1 | exceptional return of function g | tst.js:16:1:20:10 | (functi ... "arg"); |
251+
| tst.js:32:1:34:1 | exceptional return of function g | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
252252
| tst.js:32:1:34:1 | functio ... ables\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
253-
| tst.js:32:1:34:1 | return of function g | tst.js:16:1:20:10 | (functi ... "arg"); |
253+
| tst.js:32:1:34:1 | return of function g | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
254254
| tst.js:32:10:32:10 | g | tst.js:1:1:1:0 | entry node of <toplevel> |
255255
| tst.js:32:10:32:10 | g | tst.js:1:1:1:0 | entry node of <toplevel> |
256256
| tst.js:32:12:32:12 | b | tst.js:32:1:32:0 | entry node of functio ... ables\\n} |
@@ -272,8 +272,8 @@
272272
| tst.js:39:3:41:3 | m() {\\n this;\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
273273
| tst.js:39:4:39:3 | this | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
274274
| tst.js:39:4:41:3 | () {\\n this;\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
275-
| tst.js:39:4:41:3 | exceptional return of method m | tst.js:16:1:20:10 | (functi ... "arg"); |
276-
| tst.js:39:4:41:3 | return of method m | tst.js:16:1:20:10 | (functi ... "arg"); |
275+
| tst.js:39:4:41:3 | exceptional return of method m | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
276+
| tst.js:39:4:41:3 | return of method m | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
277277
| tst.js:40:5:40:8 | this | tst.js:39:4:39:3 | entry node of () {\\n this;\\n } |
278278
| tst.js:43:1:43:1 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
279279
| tst.js:43:1:43:3 | o.x | tst.js:16:1:20:10 | (functi ... "arg"); |
@@ -296,8 +296,8 @@
296296
| tst.js:50:3:53:3 | constru ... et`\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
297297
| tst.js:50:14:50:13 | this | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
298298
| tst.js:50:14:53:3 | () {\\n ... et`\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
299-
| tst.js:50:14:53:3 | exceptional return of constructor of class A | tst.js:16:1:20:10 | (functi ... "arg"); |
300-
| tst.js:50:14:53:3 | return of constructor of class A | tst.js:16:1:20:10 | (functi ... "arg"); |
299+
| 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 } |
300+
| tst.js:50:14:53:3 | return of constructor of class A | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
301301
| tst.js:51:5:51:9 | super | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
302302
| tst.js:51:5:51:13 | exceptional return of super(42) | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
303303
| tst.js:51:5:51:13 | super(42) | tst.js:50:14:50:13 | entry node of () {\\n ... et`\\n } |
@@ -321,9 +321,9 @@
321321
| tst.js:62:1:62:4 | o::g | tst.js:16:1:20:10 | (functi ... "arg"); |
322322
| tst.js:62:4:62:4 | g | tst.js:16:1:20:10 | (functi ... "arg"); |
323323
| tst.js:64:1:64:0 | this | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
324-
| tst.js:64:1:67:1 | exceptional return of function h | tst.js:16:1:20:10 | (functi ... "arg"); |
324+
| tst.js:64:1:67:1 | exceptional return of function h | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
325325
| tst.js:64:1:67:1 | functio ... lysed\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
326-
| tst.js:64:1:67:1 | return of function h | tst.js:16:1:20:10 | (functi ... "arg"); |
326+
| tst.js:64:1:67:1 | return of function h | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
327327
| tst.js:64:11:64:11 | h | tst.js:1:1:1:0 | entry node of <toplevel> |
328328
| tst.js:64:11:64:11 | h | tst.js:1:1:1:0 | entry node of <toplevel> |
329329
| tst.js:65:3:65:10 | yield 42 | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
@@ -345,8 +345,8 @@
345345
| tst.js:69:11:69:12 | 23 | tst.js:16:1:20:10 | (functi ... "arg"); |
346346
| tst.js:71:1:71:0 | this | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
347347
| tst.js:71:1:73:1 | async f ... lysed\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
348-
| tst.js:71:1:73:1 | exceptional return of function k | tst.js:16:1:20:10 | (functi ... "arg"); |
349-
| tst.js:71:1:73:1 | return of function k | tst.js:16:1:20:10 | (functi ... "arg"); |
348+
| tst.js:71:1:73:1 | exceptional return of function k | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
349+
| tst.js:71:1:73:1 | return of function k | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
350350
| tst.js:71:16:71:16 | k | tst.js:1:1:1:0 | entry node of <toplevel> |
351351
| tst.js:72:3:72:11 | await p() | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
352352
| tst.js:72:9:72:9 | p | tst.js:71:1:71:0 | entry node of async f ... lysed\\n} |
@@ -386,9 +386,9 @@
386386
| tst.js:87:1:96:2 | (functi ... r: 0\\n}) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
387387
| tst.js:87:1:96:2 | exceptional return of (functi ... r: 0\\n}) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
388388
| tst.js:87:2:87:1 | this | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
389-
| tst.js:87:2:92:1 | exceptional return of anonymous function | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
389+
| tst.js:87:2:92:1 | exceptional return of anonymous function | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
390390
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
391-
| tst.js:87:2:92:1 | return of anonymous function | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
391+
| tst.js:87:2:92:1 | return of anonymous function | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
392392
| tst.js:87:11:87:24 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
393393
| tst.js:87:11:87:24 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
394394
| tst.js:87:11:87:24 | { p: x, ...o } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
@@ -439,9 +439,9 @@
439439
| tst.js:98:1:103:17 | (functi ... 3, 0 ]) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
440440
| tst.js:98:1:103:17 | exceptional return of (functi ... 3, 0 ]) | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
441441
| tst.js:98:2:98:1 | this | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
442-
| tst.js:98:2:103:1 | exceptional return of anonymous function | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
442+
| tst.js:98:2:103:1 | exceptional return of anonymous function | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
443443
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
444-
| tst.js:98:2:103:1 | return of anonymous function | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
444+
| tst.js:98:2:103:1 | return of anonymous function | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
445445
| tst.js:98:11:98:24 | [ x, ...rest ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
446446
| tst.js:98:11:98:24 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
447447
| tst.js:98:11:98:24 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
@@ -480,9 +480,9 @@
480480
| tst.js:105:6:105:6 | y | tst.js:105:6:105:6 | y |
481481
| tst.js:107:1:113:2 | (functi ... v2c;\\n}) | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
482482
| tst.js:107:2:107:1 | this | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
483-
| tst.js:107:2:113:1 | exceptional return of anonymous function | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
483+
| tst.js:107:2:113:1 | exceptional return of anonymous function | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
484484
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
485-
| tst.js:107:2:113:1 | return of anonymous function | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
485+
| tst.js:107:2:113:1 | return of anonymous function | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
486486
| tst.js:108:6:108:32 | {v1a, v ... = o1c} | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
487487
| tst.js:108:6:108:38 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
488488
| tst.js:108:6:108:38 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |

0 commit comments

Comments
 (0)