Skip to content

Commit 67ff3b0

Browse files
committed
Allow "remove abstract" quickfix for BodyForAbstractMethod
When using Javac, the BodyForAbstractMethod problem is well reported. Other problems can be missing. However, BodyForAbstractMethod seems like a good enough case per so to enable the "remove abstract" quick fix. This fixes AbstractMethodQuickFixTest.testAbstractMethodInConcreteClass when running with Javac.
1 parent 920a4bc commit 67ff3b0

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/text/correction/ModifierCorrectionSubProcessor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,6 @@
6868
import org.eclipse.jdt.internal.corext.fix.UnimplementedCodeFixCore.MakeTypeAbstractOperation;
6969
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
7070
import org.eclipse.jdt.internal.corext.util.JdtFlags;
71-
import org.eclipse.jdt.ui.text.java.IInvocationContext;
72-
import org.eclipse.jdt.ui.text.java.IProblemLocation;
7371
import org.eclipse.jdt.internal.ui.text.correction.IProposalRelevance;
7472
import org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposalCore;
7573
import org.eclipse.jdt.internal.ui.text.correction.proposals.ModifierChangeCorrectionProposalCore;
@@ -79,6 +77,8 @@
7977
import org.eclipse.jdt.ls.core.internal.corrections.ProposalKindWrapper;
8078
import org.eclipse.jdt.ls.core.internal.corrections.proposals.UnresolvedElementsSubProcessor;
8179
import org.eclipse.jdt.ls.core.internal.handlers.CodeActionHandler;
80+
import org.eclipse.jdt.ui.text.java.IInvocationContext;
81+
import org.eclipse.jdt.ui.text.java.IProblemLocation;
8282
import org.eclipse.jdt.ui.text.java.correction.ASTRewriteCorrectionProposalCore;
8383
import org.eclipse.jface.text.BadLocationException;
8484
import org.eclipse.jface.text.IDocument;
@@ -541,7 +541,7 @@ public static void addAbstractMethodProposals(IInvocationContext context, IProbl
541541
boolean hasNoBody = decl.getBody() == null;
542542

543543
int id = problem.getProblemId();
544-
if (id == IProblem.AbstractMethodInAbstractClass || id == IProblem.EnumAbstractMethodMustBeImplemented || id == IProblem.AbstractMethodInEnum || parentIsAbstractClass) {
544+
if (id == IProblem.AbstractMethodInAbstractClass || id == IProblem.EnumAbstractMethodMustBeImplemented || id == IProblem.AbstractMethodInEnum || id == IProblem.BodyForAbstractMethod || parentIsAbstractClass) {
545545
AST ast = astRoot.getAST();
546546
ASTRewrite rewrite = ASTRewrite.create(ast);
547547

@@ -981,10 +981,10 @@ public static void addSealedMissingModifierProposal(IInvocationContext context,
981981
if (!(selectedNode instanceof SimpleName)) {
982982
return;
983983
}
984-
if (!(((SimpleName) selectedNode).getParent() instanceof TypeDeclaration)) {
984+
if (!(selectedNode.getParent() instanceof TypeDeclaration)) {
985985
return;
986986
}
987-
TypeDeclaration typeDecl = (TypeDeclaration) ((SimpleName) selectedNode).getParent();
987+
TypeDeclaration typeDecl = (TypeDeclaration) selectedNode.getParent();
988988
boolean isInterface = typeDecl.isInterface();
989989

990990
ICompilationUnit cu = context.getCompilationUnit();

0 commit comments

Comments
 (0)