Closed
Description
Found from #41773 (comment)
// @target: esnext
class A {
#str = 'pr Str'
constructor() {
new A.B(this)
}
private static B = class {
constructor(private a: A) {
console.log(this.a.#str)
}
}
}
test: {
new A
}
Currently, this is emitted as
"use strict";
class A {
constructor() {
this.#str = 'pr Str';
new A.B(this);
}
#str;
}
A.B = class {
constructor(a) {
this.a = a;
console.log(this.a.#str);
}
};
test: {
new A;
}
However, #str
has been orphaned and this code will have errors.
CC @robpalme