TypeScript/tests/baselines/reference/superAccess2.symbols
Wenlu Wang dc237b317e
Change static fields emits (#43114)
* use emit into iife

* Update emit

* Revert un-related changes

* Allow super in static context

* Allow this and super in static property declaration

* Add more tests

* Avoid errors

* Accept baseline

* Accept baseline

* Add decorated classes test

* Add errors

* Avoid this in emitter

* make lint happy

* Add class expression tests

* Add computed name test

* Avoid super if target below es6

* Adjust function boundary

* Add internal

* Fix minor CR issues

* accept baseline

* Update behavior

* Avoid spaces

* Make lint happy

* Avoid function boundary utils

* Update baseline

* Avoid errors

* Accept baseline

* Accept baseline

* Accept baseline

* Accept baseline

* Use substitutions

* Full coverage for super, this, merge static and private context

* Fix use-before-def in static fields

Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
2021-06-25 15:49:27 -07:00

63 lines
1.9 KiB
Plaintext

=== tests/cases/compiler/superAccess2.ts ===
class P {
>P : Symbol(P, Decl(superAccess2.ts, 0, 0))
x() { }
>x : Symbol(P.x, Decl(superAccess2.ts, 0, 9))
static y() { }
>y : Symbol(P.y, Decl(superAccess2.ts, 1, 11))
}
class Q extends P {
>Q : Symbol(Q, Decl(superAccess2.ts, 3, 1))
>P : Symbol(P, Decl(superAccess2.ts, 0, 0))
xx = super;
>xx : Symbol(Q.xx, Decl(superAccess2.ts, 5, 19))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
static yy = super; // error for static initializer accessing super
>yy : Symbol(Q.yy, Decl(superAccess2.ts, 6, 15))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
// Super is not allowed in constructor args
constructor(public z = super, zz = super, zzz = () => super) {
>z : Symbol(Q.z, Decl(superAccess2.ts, 10, 16))
>zz : Symbol(zz, Decl(superAccess2.ts, 10, 33))
>zzz : Symbol(zzz, Decl(superAccess2.ts, 10, 45))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
super();
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
}
foo(zz = super) {
>foo : Symbol(Q.foo, Decl(superAccess2.ts, 12, 5))
>zz : Symbol(zz, Decl(superAccess2.ts, 14, 8))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
super.x();
>super.x : Symbol(P.x, Decl(superAccess2.ts, 0, 9))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
>x : Symbol(P.x, Decl(superAccess2.ts, 0, 9))
super.y(); // error
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
}
static bar(zz = super) {
>bar : Symbol(Q.bar, Decl(superAccess2.ts, 17, 5))
>zz : Symbol(zz, Decl(superAccess2.ts, 19, 15))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
super.x(); // error
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
super.y();
>super.y : Symbol(P.y, Decl(superAccess2.ts, 1, 11))
>super : Symbol(P, Decl(superAccess2.ts, 0, 0))
>y : Symbol(P.y, Decl(superAccess2.ts, 1, 11))
}
}