in src/java/org/jetbrains/plugins/clojure/psi/impl/ImportOwner.java [424:458]
private static boolean processReferQualifiedNames(PsiScopeProcessor processor, PsiElement place, ClListLike child,
ClListLike listLike) {
final PsiElement fst = listLike.getFirstNonLeafElement();
if (fst instanceof ClSymbol) {
PsiElement next = fst.getNextSibling();
boolean isSimple = true;
while (next != null) {
if (next instanceof ClSymbol) {
isSimple = false;
ClSymbol clazzSym = (ClSymbol) next;
if (!checkReferQualifier(processor, place, child, ((ClSymbol) fst).getNameString() + "." + clazzSym.getNameString(), new ReferFilter())) {
return false;
}
} else if (next instanceof ClVector) {
isSimple = false;
ClVector vector = (ClVector) next;
final ClSymbol[] symbols = vector.getAllSymbols();
if (symbols.length > 0) {
final ClSymbol symbol = symbols[0];
ReferFilter filter = collectReferFilter(vector, symbol);
if (!checkReferQualifier(processor, place, child,
((ClSymbol) fst).getNameString() + "." + symbol.getNameString(), filter)) {
return false;
}
}
}
if (isSimple && listLike instanceof ClVector) {
if (!checkReferQualifier(processor, place, child, ((ClSymbol) fst).getNameString(), new ReferFilter())) return false;
}
next = next.getNextSibling();
}
}
return true;
}