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
|
=== tests/cases/compiler/forwardRefInEnum.ts ===
enum E1 {
>E1 : Symbol(E1, Decl(forwardRefInEnum.ts, 0, 0), Decl(forwardRefInEnum.ts, 8, 1))
// illegal case
// forward reference to the element of the same enum
X = Y,
>X : Symbol(E1.X, Decl(forwardRefInEnum.ts, 0, 9))
>Y : Symbol(E1.Y, Decl(forwardRefInEnum.ts, 4, 17))
X1 = E1["Y"],
>X1 : Symbol(E1.X1, Decl(forwardRefInEnum.ts, 3, 10))
>E1 : Symbol(E1, Decl(forwardRefInEnum.ts, 0, 0), Decl(forwardRefInEnum.ts, 8, 1))
>"Y" : Symbol(E1.Y, Decl(forwardRefInEnum.ts, 4, 17))
// forward reference to the element of the same enum
Y = E1.Z,
>Y : Symbol(E1.Y, Decl(forwardRefInEnum.ts, 4, 17))
>E1.Z : Symbol(E1.Z, Decl(forwardRefInEnum.ts, 10, 9))
>E1 : Symbol(E1, Decl(forwardRefInEnum.ts, 0, 0), Decl(forwardRefInEnum.ts, 8, 1))
>Z : Symbol(E1.Z, Decl(forwardRefInEnum.ts, 10, 9))
Y1 = E1["Z"]
>Y1 : Symbol(E1.Y1, Decl(forwardRefInEnum.ts, 6, 13))
>E1 : Symbol(E1, Decl(forwardRefInEnum.ts, 0, 0), Decl(forwardRefInEnum.ts, 8, 1))
>"Z" : Symbol(E1.Z, Decl(forwardRefInEnum.ts, 10, 9))
}
enum E1 {
>E1 : Symbol(E1, Decl(forwardRefInEnum.ts, 0, 0), Decl(forwardRefInEnum.ts, 8, 1))
Z = 4
>Z : Symbol(E1.Z, Decl(forwardRefInEnum.ts, 10, 9))
}
|