|
33 | 33 | import org.eclipse.jdt.core.compiler.IProblem;
|
34 | 34 | import org.eclipse.jdt.core.dom.AST;
|
35 | 35 | import org.eclipse.jdt.core.dom.ASTNode;
|
| 36 | +import org.eclipse.jdt.core.dom.Annotation; |
36 | 37 | import org.eclipse.jdt.core.dom.Block;
|
37 | 38 | import org.eclipse.jdt.core.dom.BodyDeclaration;
|
38 | 39 | import org.eclipse.jdt.core.dom.CastExpression;
|
|
91 | 92 | import org.eclipse.jdt.internal.corext.fix.CleanUpConstants;
|
92 | 93 | import org.eclipse.jdt.internal.corext.fix.CodeStyleFixCore;
|
93 | 94 | import org.eclipse.jdt.internal.corext.fix.IProposableFix;
|
94 |
| -import org.eclipse.jdt.internal.corext.fix.MissingAnnotationAttributesFixCore; |
95 | 95 | import org.eclipse.jdt.internal.corext.fix.SealedClassFixCore;
|
96 | 96 | import org.eclipse.jdt.internal.corext.fix.UnimplementedCodeFixCore;
|
97 | 97 | import org.eclipse.jdt.internal.corext.fix.UnusedCodeFixCore;
|
|
102 | 102 | import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
|
103 | 103 | import org.eclipse.jdt.internal.ui.fix.CodeStyleCleanUpCore;
|
104 | 104 | import org.eclipse.jdt.internal.ui.fix.UnnecessaryCodeCleanUpCore;
|
105 |
| -import org.eclipse.jdt.ui.text.java.IInvocationContext; |
106 |
| -import org.eclipse.jdt.ui.text.java.IProblemLocation; |
107 | 105 | import org.eclipse.jdt.internal.ui.text.correction.proposals.ChangeMethodSignatureProposalCore;
|
108 | 106 | import org.eclipse.jdt.internal.ui.text.correction.proposals.ChangeMethodSignatureProposalCore.ChangeDescription;
|
109 | 107 | import org.eclipse.jdt.internal.ui.text.correction.proposals.ChangeMethodSignatureProposalCore.InsertDescription;
|
110 | 108 | import org.eclipse.jdt.internal.ui.text.correction.proposals.ChangeMethodSignatureProposalCore.RemoveDescription;
|
111 | 109 | import org.eclipse.jdt.internal.ui.text.correction.proposals.ConstructorFromSuperclassProposalCore;
|
112 | 110 | import org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposalCore;
|
113 | 111 | import org.eclipse.jdt.internal.ui.text.correction.proposals.LinkedCorrectionProposalCore;
|
| 112 | +import org.eclipse.jdt.internal.ui.text.correction.proposals.MissingAnnotationAttributesProposalCore; |
114 | 113 | import org.eclipse.jdt.internal.ui.text.correction.proposals.RefactoringCorrectionProposalCore;
|
115 | 114 | import org.eclipse.jdt.internal.ui.util.ASTHelper;
|
116 | 115 | import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin;
|
|
121 | 120 | import org.eclipse.jdt.ls.core.internal.handlers.CodeActionHandler;
|
122 | 121 | import org.eclipse.jdt.ls.core.internal.text.correction.ModifierCorrectionSubProcessor;
|
123 | 122 | import org.eclipse.jdt.ls.core.internal.text.correction.QuickAssistProcessor;
|
| 123 | +import org.eclipse.jdt.ui.text.java.IInvocationContext; |
| 124 | +import org.eclipse.jdt.ui.text.java.IProblemLocation; |
124 | 125 | import org.eclipse.jdt.ui.text.java.correction.ASTRewriteCorrectionProposalCore;
|
125 | 126 | import org.eclipse.lsp4j.CodeActionKind;
|
126 | 127 |
|
@@ -1105,17 +1106,10 @@ public static void addSealedAsDirectSuperTypeProposal(IInvocationContext context
|
1105 | 1106 | }
|
1106 | 1107 |
|
1107 | 1108 | public static void addValueForAnnotationProposals(IInvocationContext context, IProblemLocation problem, Collection<ProposalKindWrapper> proposals) {
|
1108 |
| - MissingAnnotationAttributesFixCore fix = MissingAnnotationAttributesFixCore.addMissingAnnotationAttributesProposal(context.getASTRoot(), problem); |
1109 |
| - if (fix != null) { |
1110 |
| - String label = fix.getDisplayString(); |
1111 |
| - CompilationUnitChange change; |
1112 |
| - try { |
1113 |
| - change = fix.createChange(null); |
1114 |
| - CUCorrectionProposalCore proposal = new CUCorrectionProposalCore(label, context.getCompilationUnit(), change, IProposalRelevance.ADD_MISSING_ANNOTATION_ATTRIBUTES); |
1115 |
| - proposals.add(CodeActionHandler.wrap(proposal, CodeActionKind.QuickFix)); |
1116 |
| - } catch (CoreException e) { |
1117 |
| - // do nothing |
1118 |
| - } |
| 1109 | + ASTNode selectedNode = problem.getCoveringNode(context.getASTRoot()); |
| 1110 | + if ((selectedNode instanceof Annotation annotation)) { |
| 1111 | + MissingAnnotationAttributesProposalCore proposal = new MissingAnnotationAttributesProposalCore(context.getCompilationUnit(), annotation, IProposalRelevance.ADD_MISSING_ANNOTATION_ATTRIBUTES); |
| 1112 | + proposals.add(CodeActionHandler.wrap(proposal, CodeActionKind.QuickFix)); |
1119 | 1113 | }
|
1120 | 1114 | }
|
1121 | 1115 |
|
|
0 commit comments