swc/crates/swc_ecma_parser/tests/tsc/privateNamesConstructorChain-2.ts

18 lines
474 B
TypeScript
Raw Normal View History

// @target: es2015
class Parent<T> {
#foo = 3;
static #bar = 5;
accessChildProps() {
new Child<string>().#foo; // OK (`#foo` was added when `Parent`'s constructor was called on `child`)
Child.#bar; // Error: not found
}
}
class Child<T> extends Parent<T> {
#foo = "foo"; // OK (Child's #foo does not conflict, as `Parent`'s `#foo` is not accessible)
#bar = "bar"; // OK
}
new Parent<number>().accessChildProps();