TypeScript/tests/baselines/reference/constEnumPropertyAccess1.types
2015-04-16 23:29:35 -07:00

89 lines
1.2 KiB
Plaintext

=== tests/cases/conformance/constEnums/constEnumPropertyAccess1.ts ===
// constant enum declarations are completely erased in the emitted JavaScript code.
// it is an error to reference a constant enum object in any other context
// than a property access that selects one of the enum's members
const enum G {
>G : G
A = 1,
>A : G
>1 : number
B = 2,
>B : G
>2 : number
C = A + B,
>C : G
>A + B : number
>A : G
>B : G
D = A * 2
>D : G
>A * 2 : number
>A : G
>2 : number
}
var o: {
>o : { [idx: number]: boolean; }
[idx: number]: boolean
>idx : number
} = {
>{ 1: true } : { [x: number]: boolean; 1: boolean; }
1: true
>true : boolean
};
var a = G.A;
>a : G
>G.A : G
>G : typeof G
>A : G
var a1 = G["A"];
>a1 : G
>G["A"] : G
>G : typeof G
>"A" : string
var g = o[G.A];
>g : boolean
>o[G.A] : boolean
>o : { [idx: number]: boolean; }
>G.A : G
>G : typeof G
>A : G
class C {
>C : C
[G.A]() { }
>G.A : G
>G : typeof G
>A : G
get [G.B]() {
>G.B : G
>G : typeof G
>B : G
return true;
>true : boolean
}
set [G.B](x: number) { }
>G.B : G
>G : typeof G
>B : G
>x : number
}