From 7e565a9b1683b8b9f555f33d378445c5b5033a92 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Thu, 14 Nov 2024 08:20:51 +0100 Subject: [PATCH] do not include method level annotations in injection point metadata for bean methods --- .../ide/vscode/boot/java/utils/ASTUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/ASTUtils.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/ASTUtils.java index 5f1847153..eb35dd1aa 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/ASTUtils.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/ASTUtils.java @@ -11,7 +11,6 @@ package org.springframework.ide.vscode.boot.java.utils; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashMap; import java.util.List; @@ -485,7 +484,13 @@ public class ASTUtils { Location location = new Location(doc.getUri(), range); List allAnnotations = new ArrayList<>(); - allAnnotations.addAll(annotationsOnMethod); + + // add method level annotations to each injection point only for autowired setter injection + // (not for bean methods) + if (checkForAnnotation) { + allAnnotations.addAll(annotationsOnMethod); + } + allAnnotations.addAll(getAnnotations(variable)); AnnotationMetadata[] annotations = getAnnotationsMetadata(allAnnotations, doc);