File: privateNameStaticMethodClassExpression.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 (54 lines) | stat: -rw-r--r-- 1,414 bytes parent folder | download | duplicates (3)
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
=== tests/cases/conformance/classes/members/privateNames/privateNameStaticMethodClassExpression.ts ===
const C = class D {
>C : typeof D
>class D {    static #field = D.#method();    static #method() { return 42; }    static getClass() { return D; }    static getField() { return C.#field };} : typeof D
>D : typeof D

    static #field = D.#method();
>#field : number
>D.#method() : number
>D.#method : () => number
>D : typeof D

    static #method() { return 42; }
>#method : () => number
>42 : 42

    static getClass() { return D; }
>getClass : () => typeof D
>D : typeof D

    static getField() { return C.#field };
>getField : () => number
>C.#field : number
>C : typeof D
}

console.log(C.getClass().getField());
>console.log(C.getClass().getField()) : void
>console.log : (...data: any[]) => void
>console : Console
>log : (...data: any[]) => void
>C.getClass().getField() : number
>C.getClass().getField : () => number
>C.getClass() : typeof D
>C.getClass : () => typeof D
>C : typeof D
>getClass : () => typeof D
>getField : () => number

C.getClass().#method; // Error
>C.getClass().#method : any
>C.getClass() : typeof D
>C.getClass : () => typeof D
>C : typeof D
>getClass : () => typeof D

C.getClass().#field; // Error
>C.getClass().#field : any
>C.getClass() : typeof D
>C.getClass : () => typeof D
>C : typeof D
>getClass : () => typeof D