1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
=== tests/cases/conformance/classes/members/privateNames/privateNameNestedMethodAccess.ts ===
class C {
>C : C
#foo = 42;
>#foo : number
>42 : 42
#bar() { new C().#baz; }
>#bar : () => void
>new C().#baz : number
>new C() : C
>C : typeof C
get #baz() { return 42; }
>#baz : number
>42 : 42
m() {
>m : () => typeof D
return class D {
>class D { #bar() {} constructor() { new C().#foo; new C().#bar; // Error new C().#baz; new D().#bar; } n(x: any) { x.#foo; x.#bar; x.#unknown; // Error } } : typeof D
>D : typeof D
#bar() {}
>#bar : () => void
constructor() {
new C().#foo;
>new C().#foo : number
>new C() : C
>C : typeof C
new C().#bar; // Error
>new C().#bar : any
>new C() : C
>C : typeof C
new C().#baz;
>new C().#baz : number
>new C() : C
>C : typeof C
new D().#bar;
>new D().#bar : () => void
>new D() : D
>D : typeof D
}
n(x: any) {
>n : (x: any) => void
>x : any
x.#foo;
>x.#foo : any
>x : any
x.#bar;
>x.#bar : any
>x : any
x.#unknown; // Error
>x.#unknown : any
>x : any
}
}
}
}
|