Skip to content

Commit 0465f1b

Browse files
committed
revert enum related changes
1 parent 48b2434 commit 0465f1b

File tree

4 files changed

+6
-39
lines changed

4 files changed

+6
-39
lines changed

src/compiler/checker.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -13203,8 +13203,6 @@ namespace ts {
1320313203
let nodeLinks = getNodeLinks(node);
1320413204

1320513205
if (!(nodeLinks.flags & NodeCheckFlags.EnumValuesComputed)) {
13206-
nodeLinks.flags |= NodeCheckFlags.EnumValuesComputed;
13207-
1320813206
let enumSymbol = getSymbolOfNode(node);
1320913207
let enumType = getDeclaredTypeOfSymbol(enumSymbol);
1321013208
let autoValue = 0; // set to undefined when enum member is non-constant
@@ -13242,6 +13240,8 @@ namespace ts {
1324213240
getNodeLinks(member).enumMemberValue = autoValue++;
1324313241
}
1324413242
}
13243+
13244+
nodeLinks.flags |= NodeCheckFlags.EnumValuesComputed;
1324513245
}
1324613246

1324713247
function computeConstantValueForEnumMemberInitializer(initializer: Expression, enumType: Type, enumIsConst: boolean, ambient: boolean): number {
@@ -13387,7 +13387,6 @@ namespace ts {
1338713387
return undefined;
1338813388
}
1338913389

13390-
computeEnumMemberValues(<EnumDeclaration>propertyDecl.parent);
1339113390
return <number>getNodeLinks(propertyDecl).enumMemberValue;
1339213391
}
1339313392
}

tests/baselines/reference/blockScopedVariablesUseBeforeDef.errors.txt

+2-14
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(2,13): error TS2448: Bl
22
tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(58,20): error TS2448: Block-scoped variable 'x' used before its declaration.
33
tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(65,20): error TS2448: Block-scoped variable 'x' used before its declaration.
44
tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(100,12): error TS2448: Block-scoped variable 'x' used before its declaration.
5-
tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(105,20): error TS2651: A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.
65

76

8-
==== tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts (5 errors) ====
7+
==== tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts (4 errors) ====
98
function foo0() {
109
let a = x;
1110
~
@@ -116,15 +115,4 @@ tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(105,20): error TS2651:
116115
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
117116
}
118117
let x
119-
}
120-
121-
const enum A { X = B.Y }
122-
~~~
123-
!!! error TS2651: A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.
124-
125-
const enum B { Y }
126-
127-
function foo15() {
128-
const enum A1 { X = B1.Y }
129-
}
130-
const enum B1 { Y }
118+
}

tests/baselines/reference/blockScopedVariablesUseBeforeDef.js

+1-12
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,7 @@ function foo14() {
101101
a: x
102102
}
103103
let x
104-
}
105-
106-
const enum A { X = B.Y }
107-
108-
const enum B { Y }
109-
110-
function foo15() {
111-
const enum A1 { X = B1.Y }
112-
}
113-
const enum B1 { Y }
104+
}
114105

115106
//// [blockScopedVariablesUseBeforeDef.js]
116107
function foo0() {
@@ -223,5 +214,3 @@ function foo14() {
223214
};
224215
var x;
225216
}
226-
function foo15() {
227-
}

tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts

+1-10
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,4 @@ function foo14() {
101101
a: x
102102
}
103103
let x
104-
}
105-
106-
const enum A { X = B.Y }
107-
108-
const enum B { Y }
109-
110-
function foo15() {
111-
const enum A1 { X = B1.Y }
112-
}
113-
const enum B1 { Y }
104+
}

0 commit comments

Comments
 (0)