Skip to content

Commit c03efe8

Browse files
committed
Skip deprecation warning when enum member already has an error
1 parent 708b4a7 commit c03efe8

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/compiler/checker.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47821,19 +47821,23 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4782147821
}
4782247822

4782347823
function computeEnumMemberValue(member: EnumMember, autoValue: number | undefined, previous: EnumMember | undefined): EvaluatorResult {
47824+
let errorReported = false;
4782447825
if (isComputedNonLiteralName(member.name)) {
47826+
errorReported = true;
4782547827
error(member.name, Diagnostics.Computed_property_names_are_not_allowed_in_enums);
4782647828
}
4782747829
else if (isBigIntLiteral(member.name)) {
47830+
errorReported = true;
4782847831
error(member.name, Diagnostics.An_enum_member_cannot_have_a_numeric_name);
4782947832
}
4783047833
else {
4783147834
const text = getTextOfPropertyName(member.name);
4783247835
if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) {
47836+
errorReported = true;
4783347837
error(member.name, Diagnostics.An_enum_member_cannot_have_a_numeric_name);
4783447838
}
4783547839
}
47836-
if (isComputedPropertyName(member.name)) {
47840+
if (!errorReported && isComputedPropertyName(member.name)) {
4783747841
// Computed property name with a literal expression (e.g., ['key'] or [`key`])
4783847842
// This is deprecated and will be disallowed in a future version
4783947843
suggestionDiagnostics.add(

0 commit comments

Comments
 (0)