final PsiElement fst = listLike.getFirstNonLeafElement();
if (fst instanceof ClSymbol) {
PsiElement next = fst.getNextSibling();
while (next != null) {
if (next instanceof ClSymbol) {
ClSymbol clazzSym = (ClSymbol) next;
if (!checkRequireQualifier(processor, place, child, ((ClSymbol) fst).getNameString() + "." + clazzSym.getNameString())) {
return false;
}
} else if (next instanceof ClVector) {
ClVector vector = (ClVector) next;
final ClSymbol[] symbols = vector.getAllSymbols();
if (symbols.length > 0) {
final ClSymbol symbol = symbols[0];
if (isSpecialVector((ClVector) next, ClojureKeywords.AS) &&
!processVectorAliasSymbols(processor, vector, symbol)) return false;
if (!checkRequireQualifier(processor, place, child,
((ClSymbol) fst).getNameString() + "." + symbol.getNameString())) {
return false;
}
}
}
next = next.getNextSibling();