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
}
|