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 71 72
|
=== tests/cases/conformance/classes/classStaticBlock/classStaticBlock16.ts ===
let getX: (c: C) => number;
>getX : (c: C) => number
>c : C
class C {
>C : C
#x = 1
>#x : number
>1 : 1
constructor(x: number) {
>x : number
this.#x = x;
>this.#x = x : number
>this.#x : number
>this : this
>x : number
}
static {
// getX has privileged access to #x
getX = (obj: C) => obj.#x;
>getX = (obj: C) => obj.#x : (obj: C) => number
>getX : (c: C) => number
>(obj: C) => obj.#x : (obj: C) => number
>obj : C
>obj.#x : number
>obj : C
getY = (obj: D) => obj.#y;
>getY = (obj: D) => obj.#y : (obj: D) => any
>getY : (c: D) => number
>(obj: D) => obj.#y : (obj: D) => any
>obj : D
>obj.#y : any
>obj : D
}
}
let getY: (c: D) => number;
>getY : (c: D) => number
>c : D
class D {
>D : D
#y = 1
>#y : number
>1 : 1
static {
// getY has privileged access to y
getX = (obj: C) => obj.#x;
>getX = (obj: C) => obj.#x : (obj: C) => any
>getX : (c: C) => number
>(obj: C) => obj.#x : (obj: C) => any
>obj : C
>obj.#x : any
>obj : C
getY = (obj: D) => obj.#y;
>getY = (obj: D) => obj.#y : (obj: D) => number
>getY : (c: D) => number
>(obj: D) => obj.#y : (obj: D) => number
>obj : D
>obj.#y : number
>obj : D
}
}
|