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
|
=== tests/cases/conformance/enums/enumErrors.ts ===
// Enum named with PredefinedTypes
enum any { }
>any : Symbol(any, Decl(enumErrors.ts, 0, 0))
enum number { }
>number : Symbol(number, Decl(enumErrors.ts, 1, 12))
enum string { }
>string : Symbol(string, Decl(enumErrors.ts, 2, 15))
enum boolean { }
>boolean : Symbol(boolean, Decl(enumErrors.ts, 3, 15))
// Enum with computed member initializer of type Number
enum E5 {
>E5 : Symbol(E5, Decl(enumErrors.ts, 4, 16))
C = new Number(30)
>C : Symbol(E5.C, Decl(enumErrors.ts, 7, 9))
>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
}
enum E9 {
>E9 : Symbol(E9, Decl(enumErrors.ts, 9, 1))
A,
>A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
B = A
>B : Symbol(E9.B, Decl(enumErrors.ts, 12, 6))
>A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
}
//Enum with computed member intializer of different enum type
// Bug 707850: This should be allowed
enum E10 {
>E10 : Symbol(E10, Decl(enumErrors.ts, 14, 1))
A = E9.A,
>A : Symbol(E10.A, Decl(enumErrors.ts, 18, 10))
>E9.A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
>E9 : Symbol(E9, Decl(enumErrors.ts, 9, 1))
>A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
B = E9.B
>B : Symbol(E10.B, Decl(enumErrors.ts, 19, 13))
>E9.B : Symbol(E9.B, Decl(enumErrors.ts, 12, 6))
>E9 : Symbol(E9, Decl(enumErrors.ts, 9, 1))
>B : Symbol(E9.B, Decl(enumErrors.ts, 12, 6))
}
// Enum with computed member intializer of other types
enum E11 {
>E11 : Symbol(E11, Decl(enumErrors.ts, 21, 1))
A = true,
>A : Symbol(E11.A, Decl(enumErrors.ts, 24, 10))
B = new Date(),
>B : Symbol(E11.B, Decl(enumErrors.ts, 25, 13))
>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --))
C = window,
>C : Symbol(E11.C, Decl(enumErrors.ts, 26, 19))
>window : Symbol(window, Decl(lib.dom.d.ts, --, --))
D = {},
>D : Symbol(E11.D, Decl(enumErrors.ts, 27, 15))
E = (() => 'foo')(),
>E : Symbol(E11.E, Decl(enumErrors.ts, 28, 11))
}
// Enum with string valued member and computed member initializers
enum E12 {
>E12 : Symbol(E12, Decl(enumErrors.ts, 30, 1))
A = '',
>A : Symbol(E12.A, Decl(enumErrors.ts, 33, 10))
B = new Date(),
>B : Symbol(E12.B, Decl(enumErrors.ts, 34, 11))
>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --))
C = window,
>C : Symbol(E12.C, Decl(enumErrors.ts, 35, 19))
>window : Symbol(window, Decl(lib.dom.d.ts, --, --))
D = {},
>D : Symbol(E12.D, Decl(enumErrors.ts, 36, 15))
E = 1 + 1,
>E : Symbol(E12.E, Decl(enumErrors.ts, 37, 11))
F = (() => 'foo')(),
>F : Symbol(E12.F, Decl(enumErrors.ts, 38, 14))
}
// Enum with incorrect syntax
enum E13 {
>E13 : Symbol(E13, Decl(enumErrors.ts, 40, 1))
postComma,
>postComma : Symbol(E13.postComma, Decl(enumErrors.ts, 43, 10))
postValueComma = 1,
>postValueComma : Symbol(E13.postValueComma, Decl(enumErrors.ts, 44, 14))
postSemicolon;
>postSemicolon : Symbol(E13.postSemicolon, Decl(enumErrors.ts, 45, 23))
postColonValueComma: 2,
>postColonValueComma : Symbol(E13.postColonValueComma, Decl(enumErrors.ts, 47, 18))
>2 : Symbol(E13[2], Decl(enumErrors.ts, 48, 24))
postColonValueSemicolon: 3;
>postColonValueSemicolon : Symbol(E13.postColonValueSemicolon, Decl(enumErrors.ts, 48, 27))
>3 : Symbol(E13[3], Decl(enumErrors.ts, 49, 28))
};
enum E14 { a, b: any "hello" += 1, c, d}
>E14 : Symbol(E14, Decl(enumErrors.ts, 50, 2))
>a : Symbol(E14.a, Decl(enumErrors.ts, 52, 10))
>b : Symbol(E14.b, Decl(enumErrors.ts, 52, 13))
>any : Symbol(E14.any, Decl(enumErrors.ts, 52, 16))
>"hello" : Symbol(E14["hello"], Decl(enumErrors.ts, 52, 20))
>1 : Symbol(E14[1], Decl(enumErrors.ts, 52, 31))
>c : Symbol(E14.c, Decl(enumErrors.ts, 52, 34))
>d : Symbol(E14.d, Decl(enumErrors.ts, 52, 37))
|