diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/AbstractScoreableProposal.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/AbstractScoreableProposal.java index fc884c23a..3f68d461f 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/AbstractScoreableProposal.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/AbstractScoreableProposal.java @@ -54,14 +54,16 @@ public abstract class AbstractScoreableProposal implements ICompletionProposalWi return p1.getLabel().compareTo(p2.getLabel()); } }; + public abstract double getBaseScore(); + public final double getScore() { return getBaseScore() - deemphasizedBy; } @Override public AbstractScoreableProposal deemphasize(double howmuch) { - Assert.isLegal(howmuch>=0.0); - deemphasizedBy+= howmuch*DEEMP_VALUE; + Assert.isLegal(howmuch >= 0.0); + deemphasizedBy += howmuch * DEEMP_VALUE; return this; } public boolean isDeemphasized() { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/beans/BeanCompletionProvider.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/beans/BeanCompletionProvider.java index 3de5776ce..365d47975 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/beans/BeanCompletionProvider.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/beans/BeanCompletionProvider.java @@ -35,6 +35,7 @@ import org.springframework.ide.vscode.boot.java.Annotations; import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchies; import org.springframework.ide.vscode.boot.java.handlers.CompletionProvider; import org.springframework.ide.vscode.boot.java.rewrite.RewriteRefactorings; +import org.springframework.ide.vscode.boot.java.utils.ASTUtils; import org.springframework.ide.vscode.commons.java.IJavaProject; import org.springframework.ide.vscode.commons.languageserver.completion.ICompletionProposal; import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder; @@ -93,7 +94,7 @@ public class BeanCompletionProvider implements CompletionProvider { } IJavaProject project = optionalProject.get(); - TypeDeclaration topLevelClass = findParentClass(node); + TypeDeclaration topLevelClass = ASTUtils.findDeclaringType(node); if (topLevelClass == null) { return; } @@ -136,17 +137,6 @@ public class BeanCompletionProvider implements CompletionProvider { } } - private static TypeDeclaration findParentClass(ASTNode node) { - ASTNode current = node; - while (current != null) { - if (current instanceof TypeDeclaration) { - return (TypeDeclaration) current; - } - current = current.getParent(); - } - return null; - } - private static String getFullyQualifiedName(TypeDeclaration typeDecl) { ITypeBinding binding = typeDecl.resolveBinding(); if (binding != null) {