From 2fa27ffdf709274a3618add024633d1db8742877 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Fri, 29 Jun 2018 19:39:19 -0700 Subject: [PATCH] Combine code-fix-all for missing class member and missing enum member --- src/compiler/diagnosticMessages.json | 4 ---- src/services/codefixes/fixAddMissingMember.ts | 2 +- tests/cases/fourslash/codeFixAddMissingMember_all.ts | 10 +++++++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index a9ba19d91d4..48073215ecd 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -4450,9 +4450,5 @@ "Add missing enum member '{0}'": { "category": "Message", "code": 95063 - }, - "Add all missing enum members": { - "category": "Message", - "code": 95064 } } diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index b63ba394b0b..d7bbeebe58a 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -15,7 +15,7 @@ namespace ts.codefix { if (info.kind === InfoKind.enum) { const { token, enumDeclaration } = info; const changes = textChanges.ChangeTracker.with(context, t => addEnumMemberDeclaration(t, context.program.getTypeChecker(), token, enumDeclaration)); - return singleElementArray(createCodeFixAction(fixName, changes, [Diagnostics.Add_missing_enum_member_0, token.text], fixId, Diagnostics.Add_all_missing_enum_members)); + return [createCodeFixAction(fixName, changes, [Diagnostics.Add_missing_enum_member_0, token.text], fixId, Diagnostics.Add_all_missing_members)]; } const { classDeclaration, classDeclarationSourceFile, inJs, makeStatic, token, call } = info; const methodCodeAction = call && getActionForMethodDeclaration(context, classDeclarationSourceFile, classDeclaration, token, call, makeStatic, inJs, context.preferences); diff --git a/tests/cases/fourslash/codeFixAddMissingMember_all.ts b/tests/cases/fourslash/codeFixAddMissingMember_all.ts index 021968a8c6a..2d51829ecfd 100644 --- a/tests/cases/fourslash/codeFixAddMissingMember_all.ts +++ b/tests/cases/fourslash/codeFixAddMissingMember_all.ts @@ -7,6 +7,9 @@ //// this.x = ""; //// } ////} +//// +////enum E {} +////E.A; verify.codeFixAll({ fixId: "addMissingMember", @@ -22,5 +25,10 @@ verify.codeFixAll({ y(): any { throw new Error("Method not implemented."); } -}`, +} + +enum E { + A +} +E.A;`, });