Skip to content

Commit b132474

Browse files
Andaristmagic-akari
andcommitted
Port "fix(checker): report error when using bigint as enum key"
Co-authored-by: magic-akari <[email protected]>
1 parent e729a0a commit b132474

File tree

3 files changed

+12
-14
lines changed

3 files changed

+12
-14
lines changed

internal/checker/checker.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23066,6 +23066,8 @@ func (c *Checker) computeEnumMemberValues(node *ast.Node) {
2306623066
func (c *Checker) computeEnumMemberValue(member *ast.Node, autoValue jsnum.Number, previous *ast.Node) evaluator.Result {
2306723067
if ast.IsComputedNonLiteralName(member.Name()) {
2306823068
c.error(member.Name(), diagnostics.Computed_property_names_are_not_allowed_in_enums)
23069+
} else if ast.IsBigIntLiteral(member.Name()) {
23070+
c.error(member.Name(), diagnostics.An_enum_member_cannot_have_a_numeric_name)
2306923071
} else {
2307023072
text := ast.GetTextOfPropertyName(member.Name())
2307123073
if isNumericLiteralName(text) && !isInfinityOrNaNString(text) {
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithBigint.ts(2,3): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithBigint.ts (1 errors) ====
5+
enum E {
6+
0n = 0,
7+
~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+

testdata/baselines/reference/submodule/compiler/enumWithBigint.errors.txt.diff

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)