|
1 | 1 | === tests/cases/conformance/salsa/a.js ===
|
2 |
| -class Ex { |
3 |
| ->Ex : Symbol(Ex, Decl(a.js, 0, 0)) |
| 2 | +class B { |
| 3 | +>B : Symbol(B, Decl(a.js, 0, 0)) |
4 | 4 |
|
| 5 | + constructor () { |
| 6 | + this.n = 1 |
| 7 | +>this.n : Symbol(B.n, Decl(a.js, 1, 20)) |
| 8 | +>this : Symbol(B, Decl(a.js, 0, 0)) |
| 9 | +>n : Symbol(B.n, Decl(a.js, 1, 20)) |
| 10 | + } |
5 | 11 | foo() {
|
6 |
| ->foo : Symbol(Ex.foo, Decl(a.js, 0, 10)) |
| 12 | +>foo : Symbol(B.foo, Decl(a.js, 3, 5)) |
7 | 13 | }
|
8 | 14 | }
|
9 | 15 |
|
10 |
| -class MyClass extends Ex { |
11 |
| ->MyClass : Symbol(MyClass, Decl(a.js, 3, 1)) |
12 |
| ->Ex : Symbol(Ex, Decl(a.js, 0, 0)) |
| 16 | +class C extends B { } |
| 17 | +>C : Symbol(C, Decl(a.js, 6, 1)) |
| 18 | +>B : Symbol(B, Decl(a.js, 0, 0)) |
13 | 19 |
|
| 20 | +// this override should be fine (even if it's a little odd) |
| 21 | +C.prototype.foo = function() { |
| 22 | +>C.prototype.foo : Symbol(C.foo, Decl(a.js, 8, 21)) |
| 23 | +>C.prototype : Symbol(C.foo, Decl(a.js, 8, 21)) |
| 24 | +>C : Symbol(C, Decl(a.js, 6, 1)) |
| 25 | +>prototype : Symbol(C.prototype) |
| 26 | +>foo : Symbol(C.foo, Decl(a.js, 8, 21)) |
14 | 27 | }
|
15 | 28 |
|
16 |
| -// this override should be fine (even if it's a little odd) |
17 |
| -MyClass.prototype.foo = function() { |
18 |
| ->MyClass.prototype.foo : Symbol(MyClass.foo, Decl(a.js, 7, 1)) |
19 |
| ->MyClass.prototype : Symbol(MyClass.foo, Decl(a.js, 7, 1)) |
20 |
| ->MyClass : Symbol(MyClass, Decl(a.js, 3, 1)) |
21 |
| ->prototype : Symbol(MyClass.prototype) |
22 |
| ->foo : Symbol(MyClass.foo, Decl(a.js, 7, 1)) |
| 29 | +class D extends B { } |
| 30 | +>D : Symbol(D, Decl(a.js, 12, 1)) |
| 31 | +>B : Symbol(B, Decl(a.js, 0, 0)) |
| 32 | + |
| 33 | +D.prototype.foo = () => { |
| 34 | +>D.prototype.foo : Symbol(D.foo, Decl(a.js, 14, 21)) |
| 35 | +>D.prototype : Symbol(D.foo, Decl(a.js, 14, 21)) |
| 36 | +>D : Symbol(D, Decl(a.js, 12, 1)) |
| 37 | +>prototype : Symbol(D.prototype) |
| 38 | +>foo : Symbol(D.foo, Decl(a.js, 14, 21)) |
| 39 | + |
| 40 | + this.n = 'not checked, so no error' |
23 | 41 | }
|
24 | 42 |
|
0 commit comments