File: uniqueSymbolsDeclarationsErrors.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 (140 lines) | stat: -rw-r--r-- 3,454 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
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
=== tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsDeclarationsErrors.ts ===
declare const s: unique symbol;
>s : unique symbol

interface I { readonly readonlyType: unique symbol; }
>readonlyType : unique symbol

// not allowed when emitting declarations

export const obj = {
>obj : { method1(p: typeof s): typeof s; method2(p: I["readonlyType"]): I["readonlyType"]; }
>{    method1(p: typeof s): typeof s {        return p;    },    method2(p: I["readonlyType"]): I["readonlyType"] {        return p;    }} : { method1(p: typeof s): typeof s; method2(p: I["readonlyType"]): I["readonlyType"]; }

    method1(p: typeof s): typeof s {
>method1 : (p: typeof s) => typeof s
>p : unique symbol
>s : unique symbol
>s : unique symbol

        return p;
>p : unique symbol

    },
    method2(p: I["readonlyType"]): I["readonlyType"] {
>method2 : (p: I["readonlyType"]) => I["readonlyType"]
>p : unique symbol

        return p;
>p : unique symbol
    }
};

export const classExpression = class {
>classExpression : typeof classExpression
>class {    method1(p: typeof s): typeof s {        return p;    }    method2(p: I["readonlyType"]): I["readonlyType"] {        return p;    }} : typeof classExpression

    method1(p: typeof s): typeof s {
>method1 : (p: typeof s) => typeof s
>p : unique symbol
>s : unique symbol
>s : unique symbol

        return p;
>p : unique symbol
    }
    method2(p: I["readonlyType"]): I["readonlyType"] {
>method2 : (p: I["readonlyType"]) => I["readonlyType"]
>p : unique symbol

        return p;
>p : unique symbol
    }
};

export function funcInferredReturnType(obj: { method(p: typeof s): void }) {
>funcInferredReturnType : (obj: { method(p: typeof s): void; }) => { method(p: typeof s): void; }
>obj : { method(p: typeof s): void; }
>method : (p: typeof s) => void
>p : unique symbol
>s : unique symbol

    return obj;
>obj : { method(p: unique symbol): void; }
}

export interface InterfaceWithPrivateNamedProperties {
    [s]: any;
>[s] : any
>s : unique symbol
}

export interface InterfaceWithPrivateNamedMethods {
    [s](): any;
>[s] : () => any
>s : unique symbol
}

export type TypeLiteralWithPrivateNamedProperties = {
>TypeLiteralWithPrivateNamedProperties : { [s]: any; }

    [s]: any;
>[s] : any
>s : unique symbol
}

export type TypeLiteralWithPrivateNamedMethods = {
>TypeLiteralWithPrivateNamedMethods : { [s](): any; }

    [s](): any;
>[s] : () => any
>s : unique symbol
}

export class ClassWithPrivateNamedProperties {
>ClassWithPrivateNamedProperties : ClassWithPrivateNamedProperties

    [s]: any;
>[s] : any
>s : unique symbol

    static [s]: any;
>[s] : any
>s : unique symbol
}

export class ClassWithPrivateNamedMethods {
>ClassWithPrivateNamedMethods : ClassWithPrivateNamedMethods

    [s]() {}
>[s] : () => void
>s : unique symbol

    static [s]() {}
>[s] : () => void
>s : unique symbol
}

export class ClassWithPrivateNamedAccessors {
>ClassWithPrivateNamedAccessors : ClassWithPrivateNamedAccessors

    get [s](): any { return undefined; }
>[s] : any
>s : unique symbol
>undefined : undefined

    set [s](v: any) { }
>[s] : any
>s : unique symbol
>v : any

    static get [s](): any { return undefined; }
>[s] : any
>s : unique symbol
>undefined : undefined

    static set [s](v: any) { }
>[s] : any
>s : unique symbol
>v : any
}