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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
=== tests/cases/conformance/classes/members/privateNames/privateNameStaticFieldDestructuredBinding.ts ===
class A {
>A : A
static #field = 1;
>#field : number
>1 : 1
otherClass = A;
>otherClass : typeof A
>A : typeof A
testObject() {
>testObject : () => { x: number; y: number; }
return { x: 10, y: 6 };
>{ x: 10, y: 6 } : { x: number; y: number; }
>x : number
>10 : 10
>y : number
>6 : 6
}
testArray() {
>testArray : () => number[]
return [10, 11];
>[10, 11] : number[]
>10 : 10
>11 : 11
}
constructor() {
let y: number;
>y : number
({ x: A.#field, y } = this.testObject());
>({ x: A.#field, y } = this.testObject()) : { x: number; y: number; }
>{ x: A.#field, y } = this.testObject() : { x: number; y: number; }
>{ x: A.#field, y } : { x: number; y: number; }
>x : number
>A.#field : number
>A : typeof A
>y : number
>this.testObject() : { x: number; y: number; }
>this.testObject : () => { x: number; y: number; }
>this : this
>testObject : () => { x: number; y: number; }
([A.#field, y] = this.testArray());
>([A.#field, y] = this.testArray()) : number[]
>[A.#field, y] = this.testArray() : number[]
>[A.#field, y] : [number, number]
>A.#field : number
>A : typeof A
>y : number
>this.testArray() : number[]
>this.testArray : () => number[]
>this : this
>testArray : () => number[]
({ a: A.#field, b: [A.#field] } = { a: 1, b: [2] });
>({ a: A.#field, b: [A.#field] } = { a: 1, b: [2] }) : { a: number; b: [number]; }
>{ a: A.#field, b: [A.#field] } = { a: 1, b: [2] } : { a: number; b: [number]; }
>{ a: A.#field, b: [A.#field] } : { a: number; b: [number]; }
>a : number
>A.#field : number
>A : typeof A
>b : [number]
>[A.#field] : [number]
>A.#field : number
>A : typeof A
>{ a: 1, b: [2] } : { a: number; b: [number]; }
>a : number
>1 : 1
>b : [number]
>[2] : [number]
>2 : 2
[A.#field, [A.#field]] = [1, [2]];
>[A.#field, [A.#field]] = [1, [2]] : [number, [number]]
>[A.#field, [A.#field]] : [number, [number]]
>A.#field : number
>A : typeof A
>[A.#field] : [number]
>A.#field : number
>A : typeof A
>[1, [2]] : [number, [number]]
>1 : 1
>[2] : [number]
>2 : 2
({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] });
>({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; a?: number; }
>{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; a?: number; }
>{ a: A.#field = 1, b: [A.#field = 1] } : { a?: number; b: [number]; }
>a : number
>A.#field = 1 : 1
>A.#field : number
>A : typeof A
>1 : 1
>b : [number]
>[A.#field = 1] : [number]
>A.#field = 1 : 1
>A.#field : number
>A : typeof A
>1 : 1
>{ b: [] } : { b: []; a?: number; }
>b : []
>[] : []
[A.#field = 2] = [];
>[A.#field = 2] = [] : []
>[A.#field = 2] : [number]
>A.#field = 2 : 2
>A.#field : number
>A : typeof A
>2 : 2
>[] : []
[this.otherClass.#field = 2] = [];
>[this.otherClass.#field = 2] = [] : []
>[this.otherClass.#field = 2] : [number]
>this.otherClass.#field = 2 : 2
>this.otherClass.#field : number
>this.otherClass : typeof A
>this : this
>otherClass : typeof A
>2 : 2
>[] : []
}
static test(_a: typeof A) {
>test : (_a: typeof A) => void
>_a : typeof A
>A : typeof A
[_a.#field] = [2];
>[_a.#field] = [2] : [number]
>[_a.#field] : [number]
>_a.#field : number
>_a : typeof A
>[2] : [number]
>2 : 2
}
}
|