Skip to content

Commit ddeb440

Browse files
committed
GH-1330: Explain AOP annotations with copilot
1 parent 0063608 commit ddeb440

File tree

16 files changed

+563
-74
lines changed

16 files changed

+563
-74
lines changed

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/Annotations.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
*******************************************************************************/
1111
package org.springframework.ide.vscode.boot.java;
1212

13+
import java.util.Map;
14+
1315
/**
1416
* Constants containing various fully-qualified annotation names.
1517
*
@@ -85,6 +87,16 @@ public class Annotations {
8587

8688
public static final String SCHEDULED = "org.springframework.scheduling.annotation.Scheduled";
8789

90+
public static final Map<String, String> AOP_ANNOTATIONS = Map.of(
91+
"org.aspectj.lang.annotation.Pointcut", "Pointcut",
92+
"org.aspectj.lang.annotation.Before", "Before",
93+
"org.aspectj.lang.annotation.Around", "Around",
94+
"org.aspectj.lang.annotation.After", "After",
95+
"org.aspectj.lang.annotation.AfterReturning", "AfterReturning",
96+
"org.aspectj.lang.annotation.AfterThrowing", "AfterThrowing",
97+
"org.aspectj.lang.annotation.DeclareParents", "DeclareParents"
98+
);
99+
88100

89101

90102
}

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServerComponents.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingHoverProvider;
5757
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxHandlerCodeLensProvider;
5858
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxRouteHighlightProdivder;
59+
import org.springframework.ide.vscode.boot.java.spel.SpelSemanticTokens;
5960
import org.springframework.ide.vscode.boot.java.utils.CompilationUnitCache;
6061
import org.springframework.ide.vscode.boot.java.utils.SpringLiveChangeDetectionWatchdog;
6162
import org.springframework.ide.vscode.boot.java.value.ValueHoverProvider;
@@ -118,6 +119,7 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
118119
private DocumentSymbolHandler docSymbolProvider;
119120
private JdtSemanticTokensHandler semanticTokensHandler;
120121
private JdtInlayHintsHandler inlayHintsHandler;
122+
private SpelSemanticTokens spelSemanticTokens;
121123

122124
public BootJavaLanguageServerComponents(ApplicationContext appContext) {
123125
this.server = appContext.getBean(SimpleLanguageServer.class);
@@ -175,8 +177,10 @@ public BootJavaLanguageServerComponents(ApplicationContext appContext) {
175177
projectFinder,
176178
Duration.ofSeconds(5),
177179
sourceLinks);
180+
181+
spelSemanticTokens = appContext.getBean(SpelSemanticTokens.class);
178182

179-
codeLensHandler = createCodeLensEngine(springSymbolIndex, projectFinder, server);
183+
codeLensHandler = createCodeLensEngine(springSymbolIndex, projectFinder, server, spelSemanticTokens);
180184

181185
highlightsEngine = createDocumentHighlightEngine(appContext);
182186
documents.onDocumentHighlight(highlightsEngine);
@@ -312,10 +316,10 @@ protected ReferencesHandler createReferenceHandler(SimpleLanguageServer server,
312316
return new BootJavaReferencesHandler(this, cuCache, projectFinder, providers);
313317
}
314318

315-
protected BootJavaCodeLensEngine createCodeLensEngine(SpringSymbolIndex index, JavaProjectFinder projectFinder, SimpleLanguageServer server) {
319+
protected BootJavaCodeLensEngine createCodeLensEngine(SpringSymbolIndex index, JavaProjectFinder projectFinder, SimpleLanguageServer server, SpelSemanticTokens spelSemanticTokens) {
316320
Collection<CodeLensProvider> codeLensProvider = new ArrayList<>();
317321
codeLensProvider.add(new WebfluxHandlerCodeLensProvider(index));
318-
codeLensProvider.add(new QueryCodeLensProvider(projectFinder, server));
322+
codeLensProvider.add(new QueryCodeLensProvider(projectFinder, server, spelSemanticTokens));
319323

320324
return new BootJavaCodeLensEngine(this, codeLensProvider);
321325
}

0 commit comments

Comments
 (0)