Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 Tests breakable locations in for-of loops. | |
| 2 | |
| 3 Running test: testBreakLocations | |
| 4 | |
| 5 function testFunction() { | |
| 6 var obj = |_|{a : 1}; | |
| 7 var arr = |_|[1]; | |
| 8 var all = |_|[]; | |
| 9 for (var |_|k in |_|arr) { |_|all.|C|push(k); } | |
| 10 for (var k |_|of |_|arr) { |_|all.|C|push(k); } | |
|
dgozman
2017/05/22 23:00:36
Can we align location with for-in? Do we even need
kozy
2017/05/23 11:44:43
Done.
Reason for second position is loading arr v
| |
| 11 for (var |_|k in |_|obj) { |_|all.|C|push(k); } | |
| 12 for (let |_|k in |_|arr) { |_|all.|C|push(k); } | |
| 13 for (let k |_|of |_|arr) { |_|all.|C|push(k); } | |
| 14 for (let |_|k in |_|obj) { |_|all.|C|push(k); } | |
| 15 | |
| 16 var iterable = |_|{ | |
| 17 [Symbol.iterator]() { | |
| 18 |_|return { | |
| 19 i: 0, | |
| 20 next() { | |
| 21 |_|if (this.i < 1) { | |
| 22 |_|return { value: this.i++, done: false }; | |
| 23 } | |
| 24 |_|return { value: undefined, done: true }; | |
| 25 |R|} | |
| 26 }; | |
| 27 |R|} | |
| 28 }; | |
| 29 for (var k |_|of |_|iterable) { |_|all.|C|push(k); } | |
| 30 |_|iterable.i = 0; | |
| 31 for (let k |_|of |_|iterable) { |_|all.|C|push(k); } | |
| 32 |R|} | |
| 33 | |
| 34 | |
| 35 Running test: testStepInto | |
| 36 (anonymous) (expr.js:0:0) | |
| 37 | |
| 38 | |
| 39 testFunction (test.js:2:12) | |
| 40 (anonymous) (expr.js:0:0) | |
| 41 function testFunction() { | |
| 42 var obj = #{a : 1}; | |
| 43 var arr = [1]; | |
| 44 | |
| 45 testFunction (test.js:3:12) | |
| 46 (anonymous) (expr.js:0:0) | |
| 47 var obj = {a : 1}; | |
| 48 var arr = #[1]; | |
| 49 var all = []; | |
| 50 | |
| 51 testFunction (test.js:4:12) | |
| 52 (anonymous) (expr.js:0:0) | |
| 53 var arr = [1]; | |
| 54 var all = #[]; | |
| 55 for (var k in arr) { all.push(k); } | |
| 56 | |
| 57 testFunction (test.js:5:16) | |
| 58 (anonymous) (expr.js:0:0) | |
| 59 var all = []; | |
| 60 for (var k in #arr) { all.push(k); } | |
| 61 for (var k of arr) { all.push(k); } | |
| 62 | |
| 63 testFunction (test.js:5:11) | |
| 64 (anonymous) (expr.js:0:0) | |
| 65 var all = []; | |
| 66 for (var #k in arr) { all.push(k); } | |
| 67 for (var k of arr) { all.push(k); } | |
| 68 | |
| 69 testFunction (test.js:5:23) | |
| 70 (anonymous) (expr.js:0:0) | |
| 71 var all = []; | |
| 72 for (var k in arr) { #all.push(k); } | |
| 73 for (var k of arr) { all.push(k); } | |
| 74 | |
| 75 testFunction (test.js:5:11) | |
| 76 (anonymous) (expr.js:0:0) | |
| 77 var all = []; | |
| 78 for (var #k in arr) { all.push(k); } | |
| 79 for (var k of arr) { all.push(k); } | |
| 80 | |
| 81 testFunction (test.js:6:16) | |
| 82 (anonymous) (expr.js:0:0) | |
| 83 for (var k in arr) { all.push(k); } | |
| 84 for (var k of #arr) { all.push(k); } | |
| 85 for (var k in obj) { all.push(k); } | |
| 86 | |
| 87 testFunction (test.js:6:13) | |
| 88 (anonymous) (expr.js:0:0) | |
| 89 for (var k in arr) { all.push(k); } | |
| 90 for (var k #of arr) { all.push(k); } | |
| 91 for (var k in obj) { all.push(k); } | |
| 92 | |
| 93 testFunction (test.js:6:23) | |
| 94 (anonymous) (expr.js:0:0) | |
| 95 for (var k in arr) { all.push(k); } | |
| 96 for (var k of arr) { #all.push(k); } | |
| 97 for (var k in obj) { all.push(k); } | |
| 98 | |
| 99 testFunction (test.js:6:13) | |
| 100 (anonymous) (expr.js:0:0) | |
| 101 for (var k in arr) { all.push(k); } | |
| 102 for (var k #of arr) { all.push(k); } | |
| 103 for (var k in obj) { all.push(k); } | |
| 104 | |
| 105 testFunction (test.js:7:16) | |
| 106 (anonymous) (expr.js:0:0) | |
| 107 for (var k of arr) { all.push(k); } | |
| 108 for (var k in #obj) { all.push(k); } | |
| 109 for (let k in arr) { all.push(k); } | |
| 110 | |
| 111 testFunction (test.js:7:11) | |
| 112 (anonymous) (expr.js:0:0) | |
| 113 for (var k of arr) { all.push(k); } | |
| 114 for (var #k in obj) { all.push(k); } | |
| 115 for (let k in arr) { all.push(k); } | |
| 116 | |
| 117 testFunction (test.js:7:23) | |
| 118 (anonymous) (expr.js:0:0) | |
| 119 for (var k of arr) { all.push(k); } | |
| 120 for (var k in obj) { #all.push(k); } | |
| 121 for (let k in arr) { all.push(k); } | |
| 122 | |
| 123 testFunction (test.js:7:11) | |
| 124 (anonymous) (expr.js:0:0) | |
| 125 for (var k of arr) { all.push(k); } | |
| 126 for (var #k in obj) { all.push(k); } | |
| 127 for (let k in arr) { all.push(k); } | |
| 128 | |
| 129 testFunction (test.js:8:16) | |
| 130 (anonymous) (expr.js:0:0) | |
| 131 for (var k in obj) { all.push(k); } | |
| 132 for (let k in #arr) { all.push(k); } | |
| 133 for (let k of arr) { all.push(k); } | |
| 134 | |
| 135 testFunction (test.js:8:11) | |
| 136 (anonymous) (expr.js:0:0) | |
| 137 for (var k in obj) { all.push(k); } | |
| 138 for (let #k in arr) { all.push(k); } | |
| 139 for (let k of arr) { all.push(k); } | |
| 140 | |
| 141 testFunction (test.js:8:23) | |
| 142 (anonymous) (expr.js:0:0) | |
| 143 for (var k in obj) { all.push(k); } | |
| 144 for (let k in arr) { #all.push(k); } | |
| 145 for (let k of arr) { all.push(k); } | |
| 146 | |
| 147 testFunction (test.js:8:11) | |
| 148 (anonymous) (expr.js:0:0) | |
| 149 for (var k in obj) { all.push(k); } | |
| 150 for (let #k in arr) { all.push(k); } | |
| 151 for (let k of arr) { all.push(k); } | |
| 152 | |
| 153 testFunction (test.js:9:16) | |
| 154 (anonymous) (expr.js:0:0) | |
| 155 for (let k in arr) { all.push(k); } | |
| 156 for (let k of #arr) { all.push(k); } | |
| 157 for (let k in obj) { all.push(k); } | |
| 158 | |
| 159 testFunction (test.js:9:13) | |
| 160 (anonymous) (expr.js:0:0) | |
| 161 for (let k in arr) { all.push(k); } | |
| 162 for (let k #of arr) { all.push(k); } | |
| 163 for (let k in obj) { all.push(k); } | |
| 164 | |
| 165 testFunction (test.js:9:23) | |
| 166 (anonymous) (expr.js:0:0) | |
| 167 for (let k in arr) { all.push(k); } | |
| 168 for (let k of arr) { #all.push(k); } | |
| 169 for (let k in obj) { all.push(k); } | |
| 170 | |
| 171 testFunction (test.js:9:13) | |
| 172 (anonymous) (expr.js:0:0) | |
| 173 for (let k in arr) { all.push(k); } | |
| 174 for (let k #of arr) { all.push(k); } | |
| 175 for (let k in obj) { all.push(k); } | |
| 176 | |
| 177 testFunction (test.js:10:16) | |
| 178 (anonymous) (expr.js:0:0) | |
| 179 for (let k of arr) { all.push(k); } | |
| 180 for (let k in #obj) { all.push(k); } | |
| 181 | |
| 182 | |
| 183 testFunction (test.js:10:11) | |
| 184 (anonymous) (expr.js:0:0) | |
| 185 for (let k of arr) { all.push(k); } | |
| 186 for (let #k in obj) { all.push(k); } | |
| 187 | |
| 188 | |
| 189 testFunction (test.js:10:23) | |
| 190 (anonymous) (expr.js:0:0) | |
| 191 for (let k of arr) { all.push(k); } | |
| 192 for (let k in obj) { #all.push(k); } | |
| 193 | |
| 194 | |
| 195 testFunction (test.js:10:11) | |
| 196 (anonymous) (expr.js:0:0) | |
| 197 for (let k of arr) { all.push(k); } | |
| 198 for (let #k in obj) { all.push(k); } | |
| 199 | |
| 200 | |
| 201 testFunction (test.js:12:17) | |
| 202 (anonymous) (expr.js:0:0) | |
| 203 | |
| 204 var iterable = #{ | |
| 205 [Symbol.iterator]() { | |
| 206 | |
| 207 testFunction (test.js:25:16) | |
| 208 (anonymous) (expr.js:0:0) | |
| 209 }; | |
| 210 for (var k of #iterable) { all.push(k); } | |
| 211 iterable.i = 0; | |
| 212 | |
| 213 [Symbol.iterator] (test.js:14:6) | |
| 214 testFunction (test.js:25:16) | |
| 215 (anonymous) (expr.js:0:0) | |
| 216 [Symbol.iterator]() { | |
| 217 #return { | |
| 218 i: 0, | |
| 219 | |
| 220 [Symbol.iterator] (test.js:23:4) | |
| 221 testFunction (test.js:25:16) | |
| 222 (anonymous) (expr.js:0:0) | |
| 223 }; | |
| 224 #} | |
| 225 }; | |
| 226 | |
| 227 testFunction (test.js:25:13) | |
| 228 (anonymous) (expr.js:0:0) | |
| 229 }; | |
| 230 for (var k #of iterable) { all.push(k); } | |
| 231 iterable.i = 0; | |
| 232 | |
| 233 next (test.js:17:10) | |
| 234 testFunction (test.js:25:13) | |
| 235 (anonymous) (expr.js:0:0) | |
| 236 next() { | |
| 237 #if (this.i < 1) { | |
| 238 return { value: this.i++, done: false }; | |
| 239 | |
| 240 next (test.js:18:12) | |
| 241 testFunction (test.js:25:13) | |
| 242 (anonymous) (expr.js:0:0) | |
| 243 if (this.i < 1) { | |
| 244 #return { value: this.i++, done: false }; | |
| 245 } | |
| 246 | |
| 247 next (test.js:21:8) | |
| 248 testFunction (test.js:25:13) | |
| 249 (anonymous) (expr.js:0:0) | |
| 250 return { value: undefined, done: true }; | |
| 251 #} | |
| 252 }; | |
| 253 | |
| 254 testFunction (test.js:25:28) | |
| 255 (anonymous) (expr.js:0:0) | |
| 256 }; | |
| 257 for (var k of iterable) { #all.push(k); } | |
| 258 iterable.i = 0; | |
| 259 | |
| 260 testFunction (test.js:25:13) | |
| 261 (anonymous) (expr.js:0:0) | |
| 262 }; | |
| 263 for (var k #of iterable) { all.push(k); } | |
| 264 iterable.i = 0; | |
| 265 | |
| 266 next (test.js:17:10) | |
| 267 testFunction (test.js:25:13) | |
| 268 (anonymous) (expr.js:0:0) | |
| 269 next() { | |
| 270 #if (this.i < 1) { | |
| 271 return { value: this.i++, done: false }; | |
| 272 | |
| 273 next (test.js:20:10) | |
| 274 testFunction (test.js:25:13) | |
| 275 (anonymous) (expr.js:0:0) | |
| 276 } | |
| 277 #return { value: undefined, done: true }; | |
| 278 } | |
| 279 | |
| 280 next (test.js:21:8) | |
| 281 testFunction (test.js:25:13) | |
| 282 (anonymous) (expr.js:0:0) | |
| 283 return { value: undefined, done: true }; | |
| 284 #} | |
| 285 }; | |
| 286 | |
| 287 testFunction (test.js:26:2) | |
| 288 (anonymous) (expr.js:0:0) | |
| 289 for (var k of iterable) { all.push(k); } | |
| 290 #iterable.i = 0; | |
| 291 for (let k of iterable) { all.push(k); } | |
| 292 | |
| 293 testFunction (test.js:27:16) | |
| 294 (anonymous) (expr.js:0:0) | |
| 295 iterable.i = 0; | |
| 296 for (let k of #iterable) { all.push(k); } | |
| 297 } | |
| 298 | |
| 299 [Symbol.iterator] (test.js:14:6) | |
| 300 testFunction (test.js:27:16) | |
| 301 (anonymous) (expr.js:0:0) | |
| 302 [Symbol.iterator]() { | |
| 303 #return { | |
| 304 i: 0, | |
| 305 | |
| 306 [Symbol.iterator] (test.js:23:4) | |
| 307 testFunction (test.js:27:16) | |
| 308 (anonymous) (expr.js:0:0) | |
| 309 }; | |
| 310 #} | |
| 311 }; | |
| 312 | |
| 313 testFunction (test.js:27:13) | |
| 314 (anonymous) (expr.js:0:0) | |
| 315 iterable.i = 0; | |
| 316 for (let k #of iterable) { all.push(k); } | |
| 317 } | |
| 318 | |
| 319 next (test.js:17:10) | |
| 320 testFunction (test.js:27:13) | |
| 321 (anonymous) (expr.js:0:0) | |
| 322 next() { | |
| 323 #if (this.i < 1) { | |
| 324 return { value: this.i++, done: false }; | |
| 325 | |
| 326 next (test.js:18:12) | |
| 327 testFunction (test.js:27:13) | |
| 328 (anonymous) (expr.js:0:0) | |
| 329 if (this.i < 1) { | |
| 330 #return { value: this.i++, done: false }; | |
| 331 } | |
| 332 | |
| 333 next (test.js:21:8) | |
| 334 testFunction (test.js:27:13) | |
| 335 (anonymous) (expr.js:0:0) | |
| 336 return { value: undefined, done: true }; | |
| 337 #} | |
| 338 }; | |
| 339 | |
| 340 testFunction (test.js:27:28) | |
| 341 (anonymous) (expr.js:0:0) | |
| 342 iterable.i = 0; | |
| 343 for (let k of iterable) { #all.push(k); } | |
| 344 } | |
| 345 | |
| 346 testFunction (test.js:27:13) | |
| 347 (anonymous) (expr.js:0:0) | |
| 348 iterable.i = 0; | |
| 349 for (let k #of iterable) { all.push(k); } | |
| 350 } | |
| 351 | |
| 352 next (test.js:17:10) | |
| 353 testFunction (test.js:27:13) | |
| 354 (anonymous) (expr.js:0:0) | |
| 355 next() { | |
| 356 #if (this.i < 1) { | |
| 357 return { value: this.i++, done: false }; | |
| 358 | |
| 359 next (test.js:20:10) | |
| 360 testFunction (test.js:27:13) | |
| 361 (anonymous) (expr.js:0:0) | |
| 362 } | |
| 363 #return { value: undefined, done: true }; | |
| 364 } | |
| 365 | |
| 366 next (test.js:21:8) | |
| 367 testFunction (test.js:27:13) | |
| 368 (anonymous) (expr.js:0:0) | |
| 369 return { value: undefined, done: true }; | |
| 370 #} | |
| 371 }; | |
| 372 | |
| 373 testFunction (test.js:28:0) | |
| 374 (anonymous) (expr.js:0:0) | |
| 375 for (let k of iterable) { all.push(k); } | |
| 376 #} | |
| 377 | |
| 378 (anonymous) (expr.js:0:34) | |
| 379 | |
| 380 | |
| 381 | |
| 382 Running test: testStepIntoAfterBreakpoint | |
| 383 testFunction (test.js:25:13) | |
| 384 (anonymous) (expr.js:0:0) | |
| 385 }; | |
| 386 for (var k #of iterable) { all.push(k); } | |
| 387 iterable.i = 0; | |
| 388 | |
| 389 next (test.js:17:10) | |
| 390 testFunction (test.js:25:13) | |
| 391 (anonymous) (expr.js:0:0) | |
| 392 next() { | |
| 393 #if (this.i < 1) { | |
| 394 return { value: this.i++, done: false }; | |
| 395 | |
| OLD | NEW |