Merge pull request #29030 from alisabzevari/28977-enum-initializer-err-msg

28977 Fix const enum initializer error message
This commit is contained in:
Daniel Rosenwasser
2018-12-17 15:12:34 -08:00
committed by GitHub
4 changed files with 12 additions and 12 deletions

View File

@@ -26903,7 +26903,7 @@ namespace ts {
return 0;
}
else if (isConstEnum) {
error(initializer, Diagnostics.In_const_enum_declarations_member_initializer_must_be_constant_expression);
error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values);
}
else if (member.parent.flags & NodeFlags.Ambient) {
error(initializer, Diagnostics.In_ambient_enum_declarations_member_initializer_must_be_constant_expression);

View File

@@ -1696,7 +1696,7 @@
"category": "Error",
"code": 2473
},
"In 'const' enum declarations member initializer must be constant expression.": {
"const enum member initializers can only contain literal values and other computed enum values.": {
"category": "Error",
"code": 2474
},

View File

@@ -1,7 +1,7 @@
tests/cases/conformance/constEnums/constEnum2.ts(10,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
tests/cases/conformance/constEnums/constEnum2.ts(11,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
tests/cases/conformance/constEnums/constEnum2.ts(10,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
tests/cases/conformance/constEnums/constEnum2.ts(11,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
tests/cases/conformance/constEnums/constEnum2.ts(12,5): error TS1005: ',' expected.
tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
==== tests/cases/conformance/constEnums/constEnum2.ts (4 errors) ====
@@ -16,13 +16,13 @@ tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: In 'const'
d = 10,
e = 199 * Math.floor(Math.random() * 1000),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
f = d - (100 * Math.floor(Math.random() % 8))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
g = CONST,
~
!!! error TS1005: ',' expected.
~~~~~
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
}

View File

@@ -1,8 +1,8 @@
tests/cases/compiler/constEnumErrors.ts(1,12): error TS2567: Enum declarations can only merge with namespace or other enum declarations.
tests/cases/compiler/constEnumErrors.ts(5,8): error TS2567: Enum declarations can only merge with namespace or other enum declarations.
tests/cases/compiler/constEnumErrors.ts(12,9): error TS2651: A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.
tests/cases/compiler/constEnumErrors.ts(14,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
tests/cases/compiler/constEnumErrors.ts(15,10): error TS2474: In 'const' enum declarations member initializer must be constant expression.
tests/cases/compiler/constEnumErrors.ts(14,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
tests/cases/compiler/constEnumErrors.ts(15,10): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
tests/cases/compiler/constEnumErrors.ts(22,13): error TS2476: A const enum member can only be accessed using a string literal.
tests/cases/compiler/constEnumErrors.ts(24,13): error TS2476: A const enum member can only be accessed using a string literal.
tests/cases/compiler/constEnumErrors.ts(26,9): error TS2475: 'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.
@@ -35,10 +35,10 @@ tests/cases/compiler/constEnumErrors.ts(42,9): error TS2478: 'const' enum member
// forward reference to the element of the same enum
Y = E1.Z,
~~~~
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
Y1 = E1["Z"]
~~~~~~~
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
}
const enum E2 {