Merge pull request #15843 from DickvdBrink/issue-15828

Allow const enum to be used before declaration
This commit is contained in:
Nathan Shively-Sanders
2017-05-15 09:06:08 -07:00
committed by GitHub
2 changed files with 2 additions and 5 deletions

View File

@@ -1280,7 +1280,7 @@ namespace ts {
else if (result.flags & SymbolFlags.Class) {
error(errorLocation, Diagnostics.Class_0_used_before_its_declaration, declarationNameToString(getNameOfDeclaration(declaration)));
}
else if (result.flags & SymbolFlags.Enum) {
else if (result.flags & SymbolFlags.RegularEnum) {
error(errorLocation, Diagnostics.Enum_0_used_before_its_declaration, declarationNameToString(getNameOfDeclaration(declaration)));
}
}

View File

@@ -1,14 +1,11 @@
tests/cases/compiler/enumUsedBeforeDeclaration.ts(1,18): error TS2450: Enum 'Color' used before its declaration.
tests/cases/compiler/enumUsedBeforeDeclaration.ts(2,24): error TS2450: Enum 'ConstColor' used before its declaration.
==== tests/cases/compiler/enumUsedBeforeDeclaration.ts (2 errors) ====
==== tests/cases/compiler/enumUsedBeforeDeclaration.ts (1 errors) ====
const v: Color = Color.Green;
~~~~~
!!! error TS2450: Enum 'Color' used before its declaration.
const v2: ConstColor = ConstColor.Green;
~~~~~~~~~~
!!! error TS2450: Enum 'ConstColor' used before its declaration.
enum Color { Red, Green, Blue }
const enum ConstColor { Red, Green, Blue }