Skip to content

Commit 23ad220

Browse files
committed
GH-1458: ignore org.springframework.lang annotations when creating default symbols
Fixed GH-1458
1 parent 0bcbf06 commit 23ad220

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,9 @@ private WorkspaceSymbol provideDefaultSymbol(Annotation node, final SpringIndexe
786786
ITypeBinding type = node.resolveTypeBinding();
787787
if (type != null) {
788788
String qualifiedName = type.getQualifiedName();
789-
if (qualifiedName != null && qualifiedName.startsWith("org.springframework") || isJakartaAnnotationWithDefaultSymbol(qualifiedName)) {
789+
if (qualifiedName != null
790+
&& ((qualifiedName.startsWith("org.springframework") && !qualifiedName.startsWith("org.springframework.lang"))
791+
|| isJakartaAnnotationWithDefaultSymbol(qualifiedName))) {
790792
TextDocument doc = DocumentUtils.getTempTextDocument(context.getDocURI(), context.getDocRef(), context.getContent());
791793
return DefaultSymbolProvider.provideDefaultSymbol(node, doc);
792794
}

headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/utils/test/SpringIndexerTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ void testScanningAllAnnotationsSimpleProjectUpfront() throws Exception {
9494
assertTrue(containsSymbol(allSymbols, "@/classlevel/mapping-subpackage", docUri, 7, 1, 7, 38));
9595

9696
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
97-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
97+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
9898
}
9999

100100
@Test
@@ -153,7 +153,7 @@ void testScanningAllAnnotationsMultiModuleProjectUpfront() throws Exception {
153153

154154

155155
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
156-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
156+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
157157
}
158158

159159
@Test
@@ -190,7 +190,7 @@ void testUpdateChangedDocument() throws Exception {
190190
assertTrue(containsSymbol(allSymbols, "@/classlevel/mapping-subpackage", docUri, 7, 1, 7, 38));
191191

192192
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
193-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
193+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
194194
}
195195

196196
@Test
@@ -251,7 +251,7 @@ void testNewDocumentCreated() throws Exception {
251251
assertTrue(containsSymbol(allSymbols, "@/classlevel/mapping-subpackage", docUri, 7, 1, 7, 38));
252252

253253
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
254-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
254+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
255255

256256
assertTrue(containsSymbol(allSymbols, "@/created-mapping1", createdDocURI, 6, 1, 6, 36));
257257
assertTrue(containsSymbol(allSymbols, "@/created-mapping2", createdDocURI, 11, 1, 11, 36));
@@ -286,7 +286,7 @@ void testRemoveSymbolsFromDeletedDocument() throws Exception {
286286
assertTrue(containsSymbol(allSymbols, "@/classlevel/mapping-subpackage", docUri, 7, 1, 7, 38));
287287

288288
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
289-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
289+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
290290
}
291291

292292
@Test
@@ -322,7 +322,7 @@ void testRemoveSymbolsFromDeletedFolder() throws Exception {
322322
assertFalse(containsSymbol(allSymbols, "@/classlevel/mapping-subpackage", docUri, 7, 1, 7, 38));
323323

324324
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
325-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
325+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
326326
}
327327

328328
@Test
@@ -358,7 +358,7 @@ void testAddSymbolsFromCreatedFolder() throws Exception {
358358
assertTrue(containsSymbol(allSymbols, "@/classlevel/mapping-subpackage", docUri, 7, 1, 7, 38));
359359

360360
docUri = directory.toPath().resolve("src/main/java/org/test/ClassWithDefaultSymbol.java").toUri().toString();
361-
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 4, 0, 4, 13));
361+
assertTrue(containsSymbol(allSymbols, "@Configurable", docUri, 5, 0, 5, 13));
362362
}
363363

364364
@Test
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
package org.test;
22

33
import org.springframework.beans.factory.annotation.Configurable;
4+
import org.springframework.lang.NonNull;
45

56
@Configurable
67
public class ClassWithDefaultSymbol {
8+
9+
@NonNull
10+
public String foo() {
11+
return "foo";
12+
}
713
}

0 commit comments

Comments
 (0)