File: privateNameStaticFieldDestructuredBinding%28target%3Des2015%29.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (144 lines) | stat: -rw-r--r-- 3,486 bytes parent folder | download | duplicates (9)
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
    }
}