Skip to content

Commit f2806cd

Browse files
Merge pull request #29030 from alisabzevari/28977-enum-initializer-err-msg
28977 Fix const enum initializer error message
2 parents d2885ea + 1a5ecbb commit f2806cd

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26903,7 +26903,7 @@ namespace ts {
2690326903
return 0;
2690426904
}
2690526905
else if (isConstEnum) {
26906-
error(initializer, Diagnostics.In_const_enum_declarations_member_initializer_must_be_constant_expression);
26906+
error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values);
2690726907
}
2690826908
else if (member.parent.flags & NodeFlags.Ambient) {
2690926909
error(initializer, Diagnostics.In_ambient_enum_declarations_member_initializer_must_be_constant_expression);

src/compiler/diagnosticMessages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1696,7 +1696,7 @@
16961696
"category": "Error",
16971697
"code": 2473
16981698
},
1699-
"In 'const' enum declarations member initializer must be constant expression.": {
1699+
"const enum member initializers can only contain literal values and other computed enum values.": {
17001700
"category": "Error",
17011701
"code": 2474
17021702
},

tests/baselines/reference/constEnum2.errors.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
tests/cases/conformance/constEnums/constEnum2.ts(10,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
2-
tests/cases/conformance/constEnums/constEnum2.ts(11,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
1+
tests/cases/conformance/constEnums/constEnum2.ts(10,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
2+
tests/cases/conformance/constEnums/constEnum2.ts(11,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
33
tests/cases/conformance/constEnums/constEnum2.ts(12,5): error TS1005: ',' expected.
4-
tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
4+
tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
55

66

77
==== tests/cases/conformance/constEnums/constEnum2.ts (4 errors) ====
@@ -16,13 +16,13 @@ tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: In 'const'
1616
d = 10,
1717
e = 199 * Math.floor(Math.random() * 1000),
1818
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19-
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
19+
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
2020
f = d - (100 * Math.floor(Math.random() % 8))
2121
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22-
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
22+
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
2323
g = CONST,
2424
~
2525
!!! error TS1005: ',' expected.
2626
~~~~~
27-
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
27+
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
2828
}

tests/baselines/reference/constEnumErrors.errors.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
tests/cases/compiler/constEnumErrors.ts(1,12): error TS2567: Enum declarations can only merge with namespace or other enum declarations.
22
tests/cases/compiler/constEnumErrors.ts(5,8): error TS2567: Enum declarations can only merge with namespace or other enum declarations.
33
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.
4-
tests/cases/compiler/constEnumErrors.ts(14,9): error TS2474: In 'const' enum declarations member initializer must be constant expression.
5-
tests/cases/compiler/constEnumErrors.ts(15,10): error TS2474: In 'const' enum declarations member initializer must be constant expression.
4+
tests/cases/compiler/constEnumErrors.ts(14,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
5+
tests/cases/compiler/constEnumErrors.ts(15,10): error TS2474: const enum member initializers can only contain literal values and other computed enum values.
66
tests/cases/compiler/constEnumErrors.ts(22,13): error TS2476: A const enum member can only be accessed using a string literal.
77
tests/cases/compiler/constEnumErrors.ts(24,13): error TS2476: A const enum member can only be accessed using a string literal.
88
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
3535
// forward reference to the element of the same enum
3636
Y = E1.Z,
3737
~~~~
38-
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
38+
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
3939
Y1 = E1["Z"]
4040
~~~~~~~
41-
!!! error TS2474: In 'const' enum declarations member initializer must be constant expression.
41+
!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values.
4242
}
4343

4444
const enum E2 {

0 commit comments

Comments
 (0)