From 7a3de819bfb93fb27ef7ea8305d2df069866c380 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 22 Sep 2022 02:59:17 +0300 Subject: [PATCH] fix(49993): skip the quick fix for an expression with an enum type (#50625) --- src/services/codefixes/fixAddMissingMember.ts | 2 +- tests/cases/fourslash/codeFixAddMissingEnumMember13.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/codeFixAddMissingEnumMember13.ts diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 6e175092d0d4a..2542a0732342b 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -257,7 +257,7 @@ namespace ts.codefix { } const enumDeclaration = find(symbol.declarations, isEnumDeclaration); - if (enumDeclaration && !isPrivateIdentifier(token) && !isSourceFileFromLibrary(program, enumDeclaration.getSourceFile())) { + if (enumDeclaration && !(leftExpressionType.flags & TypeFlags.EnumLike) && !isPrivateIdentifier(token) && !isSourceFileFromLibrary(program, enumDeclaration.getSourceFile())) { return { kind: InfoKind.Enum, token, parentDeclaration: enumDeclaration }; } diff --git a/tests/cases/fourslash/codeFixAddMissingEnumMember13.ts b/tests/cases/fourslash/codeFixAddMissingEnumMember13.ts new file mode 100644 index 0000000000000..b3e47efaff526 --- /dev/null +++ b/tests/cases/fourslash/codeFixAddMissingEnumMember13.ts @@ -0,0 +1,7 @@ +/// + +////enum E { A, B } +////declare var a: E; +////a.C; + +verify.not.codeFixAvailable("fixMissingMember");