public static void completeClassName()

in src/java/org/jetbrains/plugins/clojure/psi/resolve/completion/ClojureClassNameCompletionContributor.java [19:44]


  public static void completeClassName(final CompletionParameters parameters, final CompletionResultSet result) {
    final PsiElement position = parameters.getPosition();
    final PsiElement parent = position.getParent();
    if (!(parent instanceof ClSymbol)) return;
    ClSymbol symbol = (ClSymbol) parent;
    if (symbol.getQualifierSymbol() != null) return;
    final PsiElement list = symbol.getParent();
    final boolean isInImport;
    if (list instanceof ClList) {
      isInImport = ((ClList) list).getFirstSymbol().getNameString().equals(ListDeclarations.IMPORT);
    } else {
      isInImport = false;
    }
    final PrefixMatcher prefixMatcher = result.getPrefixMatcher();
    final boolean filterByScope = parameters.getInvocationCount() <= 1;
    AllClassesGetter.processJavaClasses(parameters, prefixMatcher, filterByScope,
        new Consumer<PsiClass>() {
          public void consume(final PsiClass clazz) {
            if (!AllClassesGetter.isAcceptableInContext(position, clazz, filterByScope, true)) return;
            final ClojureLookupItem lookupItem = new ClojureLookupItem(clazz);
            lookupItem.setClassName(true);
            lookupItem.setInImport(isInImport);
            result.addElement(lookupItem);
          }
        });
  }