|
1 |
| - x the name `A30` is defined multiple times |
2 |
| - ,-[29:1] |
3 |
| - 26 | class A27 { constructor() { for (let i = 0; i < a.length; i++) { super(); } super(); } } |
4 |
| - 27 | class A28 extends B { constructor() { return; super(); } } |
5 |
| - 28 | class A29 extends B { constructor() { try { super(); } catch (e) { } } } |
6 |
| - 29 | class A30 extends B { constructor() { try { } catch (e) { super(); } } } |
7 |
| - : ^|^ |
8 |
| - : `-- previous definition of `A30` here |
9 |
| - 30 | class A31 extends B { constructor() { try { } catch (e) { super(); } super(); } } |
10 |
| - 31 | class A30 extends B { constructor() { try { super(); } catch (e) { } finally { super() } } } |
11 |
| - : ^|^ |
12 |
| - : `-- `A30` redefined here |
13 |
| - 32 | |
14 |
| - 33 | |
15 |
| - 34 | // valid |
16 |
| - `---- |
17 |
| - x the name `A9` is defined multiple times |
18 |
| - ,-[9:1] |
19 |
| - 6 | class A6 extends (B && 5) { constructor() { super(); } } |
20 |
| - 7 | class A7 extends (B &&= 5) { constructor() { super(); } } |
21 |
| - 8 | class A8 extends (B += C) { constructor() { super(); } } |
22 |
| - 9 | class A9 extends (B -= C) { constructor() { super(); } } |
23 |
| - : ^| |
24 |
| - : `-- previous definition of `A9` here |
25 |
| - 10 | class A10 extends (B **= C) { constructor() { super(); } } |
26 |
| - 11 | class A11 extends (B |= C) { constructor() { super(); } } |
27 |
| - 12 | class A12 extends (B &= C) { constructor() { super(); } } |
28 |
| - 13 | class A13 extends B { constructor() { } } |
29 |
| - 14 | class A14 extends B { constructor() { for (var a of b) super.foo(); } } |
30 |
| - 15 | class A15 extends B { constructor() { class C extends D { constructor() { super(); } } } } |
31 |
| - 16 | class A16 extends B { constructor() { var c = class extends D { constructor() { super(); } } } } |
32 |
| - 17 | class A17 extends B { constructor() { var c = () => super(); } } |
33 |
| - 18 | class A18 extends B { constructor() { class C extends D { constructor() { super(); } } } } |
34 |
| - 19 | class A19 extends B { constructor() { var C = class extends D { constructor() { super(); } } } } |
35 |
| - 20 | class A20 extends B { constructor() { super(); class C extends D { constructor() { } } } } |
36 |
| - 21 | class A21 extends B { constructor() { super(); var C = class extends D { constructor() { } } } } |
37 |
| - 22 | class A23 extends B { constructor() { if (a) super(); } } |
38 |
| - 23 | class A24 extends B { constructor() { x ? super() : null; } } |
39 |
| - 24 | class A25 extends B { constructor() { switch (x) { case 'a': super(); } } } |
40 |
| - 25 | class A26 { constructor() { for (let i = 0; i < a.length; i++) { super(); } } } |
41 |
| - 26 | class A27 { constructor() { for (let i = 0; i < a.length; i++) { super(); } super(); } } |
42 |
| - 27 | class A28 extends B { constructor() { return; super(); } } |
43 |
| - 28 | class A29 extends B { constructor() { try { super(); } catch (e) { } } } |
44 |
| - 29 | class A30 extends B { constructor() { try { } catch (e) { super(); } } } |
45 |
| - 30 | class A31 extends B { constructor() { try { } catch (e) { super(); } super(); } } |
46 |
| - 31 | class A30 extends B { constructor() { try { super(); } catch (e) { } finally { super() } } } |
47 |
| - 32 | |
48 |
| - 33 | |
49 |
| - 34 | // valid |
50 |
| - 35 | class V1 extends (B, C) { constructor() { super(); } } |
51 |
| - 36 | class V2 extends (class B { }) { constructor() { super(); } } |
52 |
| - 37 | class V3 { constructor() { class B extends C { constructor() { super(); } } } } |
53 |
| - 38 | class V4 extends Object { constructor() { super(); for (let i = 0; i < 0; i++); } } |
54 |
| - 39 | class V5 { } |
55 |
| - 40 | class V6 { constructor() { } } |
56 |
| - 41 | class V7 extends null { } |
57 |
| - 42 | class V8 { constructor() { } } |
58 |
| - 43 | class A9 extends B { constructor() { try { } finally { super(); } } } |
59 |
| - : ^| |
60 |
| - : `-- `A9` redefined here |
61 |
| - `---- |
62 | 1 | x Unexpected 'super()' because 'super' is not a constructor
|
63 | 2 | ,-[1:1]
|
64 | 3 | 1 | class A1 extends null { constructor() { super(); } }
|
|
381 | 320 | 31 | class A30 extends B { constructor() { try { super(); } catch (e) { } finally { super() } } }
|
382 | 321 | 32 |
|
383 | 322 | `----
|
| 323 | + x the name `A30` is defined multiple times |
| 324 | + ,-[29:1] |
| 325 | + 26 | class A27 { constructor() { for (let i = 0; i < a.length; i++) { super(); } super(); } } |
| 326 | + 27 | class A28 extends B { constructor() { return; super(); } } |
| 327 | + 28 | class A29 extends B { constructor() { try { super(); } catch (e) { } } } |
| 328 | + 29 | class A30 extends B { constructor() { try { } catch (e) { super(); } } } |
| 329 | + : ^|^ |
| 330 | + : `-- previous definition of `A30` here |
| 331 | + 30 | class A31 extends B { constructor() { try { } catch (e) { super(); } super(); } } |
| 332 | + 31 | class A30 extends B { constructor() { try { super(); } catch (e) { } finally { super() } } } |
| 333 | + : ^|^ |
| 334 | + : `-- `A30` redefined here |
| 335 | + 32 | |
| 336 | + 33 | |
| 337 | + 34 | // valid |
| 338 | + `---- |
384 | 339 | x Unexpected duplicate 'super()'
|
385 | 340 | ,-[31:1]
|
386 | 341 | 28 | class A29 extends B { constructor() { try { super(); } catch (e) { } } }
|
|
392 | 347 | 33 |
|
393 | 348 | 34 | // valid
|
394 | 349 | `----
|
| 350 | + x the name `A9` is defined multiple times |
| 351 | + ,-[9:1] |
| 352 | + 6 | class A6 extends (B && 5) { constructor() { super(); } } |
| 353 | + 7 | class A7 extends (B &&= 5) { constructor() { super(); } } |
| 354 | + 8 | class A8 extends (B += C) { constructor() { super(); } } |
| 355 | + 9 | class A9 extends (B -= C) { constructor() { super(); } } |
| 356 | + : ^| |
| 357 | + : `-- previous definition of `A9` here |
| 358 | + 10 | class A10 extends (B **= C) { constructor() { super(); } } |
| 359 | + 11 | class A11 extends (B |= C) { constructor() { super(); } } |
| 360 | + 12 | class A12 extends (B &= C) { constructor() { super(); } } |
| 361 | + 13 | class A13 extends B { constructor() { } } |
| 362 | + 14 | class A14 extends B { constructor() { for (var a of b) super.foo(); } } |
| 363 | + 15 | class A15 extends B { constructor() { class C extends D { constructor() { super(); } } } } |
| 364 | + 16 | class A16 extends B { constructor() { var c = class extends D { constructor() { super(); } } } } |
| 365 | + 17 | class A17 extends B { constructor() { var c = () => super(); } } |
| 366 | + 18 | class A18 extends B { constructor() { class C extends D { constructor() { super(); } } } } |
| 367 | + 19 | class A19 extends B { constructor() { var C = class extends D { constructor() { super(); } } } } |
| 368 | + 20 | class A20 extends B { constructor() { super(); class C extends D { constructor() { } } } } |
| 369 | + 21 | class A21 extends B { constructor() { super(); var C = class extends D { constructor() { } } } } |
| 370 | + 22 | class A23 extends B { constructor() { if (a) super(); } } |
| 371 | + 23 | class A24 extends B { constructor() { x ? super() : null; } } |
| 372 | + 24 | class A25 extends B { constructor() { switch (x) { case 'a': super(); } } } |
| 373 | + 25 | class A26 { constructor() { for (let i = 0; i < a.length; i++) { super(); } } } |
| 374 | + 26 | class A27 { constructor() { for (let i = 0; i < a.length; i++) { super(); } super(); } } |
| 375 | + 27 | class A28 extends B { constructor() { return; super(); } } |
| 376 | + 28 | class A29 extends B { constructor() { try { super(); } catch (e) { } } } |
| 377 | + 29 | class A30 extends B { constructor() { try { } catch (e) { super(); } } } |
| 378 | + 30 | class A31 extends B { constructor() { try { } catch (e) { super(); } super(); } } |
| 379 | + 31 | class A30 extends B { constructor() { try { super(); } catch (e) { } finally { super() } } } |
| 380 | + 32 | |
| 381 | + 33 | |
| 382 | + 34 | // valid |
| 383 | + 35 | class V1 extends (B, C) { constructor() { super(); } } |
| 384 | + 36 | class V2 extends (class B { }) { constructor() { super(); } } |
| 385 | + 37 | class V3 { constructor() { class B extends C { constructor() { super(); } } } } |
| 386 | + 38 | class V4 extends Object { constructor() { super(); for (let i = 0; i < 0; i++); } } |
| 387 | + 39 | class V5 { } |
| 388 | + 40 | class V6 { constructor() { } } |
| 389 | + 41 | class V7 extends null { } |
| 390 | + 42 | class V8 { constructor() { } } |
| 391 | + 43 | class A9 extends B { constructor() { try { } finally { super(); } } } |
| 392 | + : ^| |
| 393 | + : `-- `A9` redefined here |
| 394 | + `---- |
0 commit comments