java/groovy completion: suggest non-imported classes after new (IDEA-164468)

This commit is contained in:
peter
2016-12-02 14:32:31 +01:00
parent 54b8baaf47
commit 23cdae45fb
4 changed files with 26 additions and 3 deletions
@@ -76,12 +76,17 @@ public class JavaNoVariantsDelegator extends CompletionContributor {
parameters.getInvocationCount() <= 1 &&
JavaCompletionContributor.mayStartClassName(result) &&
JavaCompletionContributor.isClassNamePossible(parameters) &&
!JavaSmartCompletionContributor.AFTER_NEW.accepts(parameters.getPosition())) {
!areNonImportedInheritorsAlreadySuggested(parameters)) {
suggestNonImportedClasses(parameters, JavaCompletionSorting.addJavaSorting(parameters, result.withPrefixMatcher(tracker.betterMatcher)), session);
}
}
}
private static boolean areNonImportedInheritorsAlreadySuggested(@NotNull CompletionParameters parameters) {
return JavaSmartCompletionContributor.AFTER_NEW.accepts(parameters.getPosition()) &&
JavaSmartCompletionContributor.getExpectedTypes(parameters).length > 0;
}
private static boolean suggestAllAnnotations(CompletionParameters parameters) {
return psiElement().withParents(PsiJavaCodeReferenceElement.class, PsiAnnotation.class).accepts(parameters.getPosition());
}