use of org.jetbrains.plugins.ruby.motion.bridgesupport.Function in project intellij-plugins by JetBrains.
the class MotionClassSymbol method getChildren.
@NotNull
@Override
public Children getChildren() {
return new ChildrenImpl() {
@Override
public boolean processChildren(SymbolPsiProcessor processor, final PsiElement invocationPoint) {
final MotionClassSymbol parent = MotionClassSymbol.this;
for (Class clazz : myClasses) {
for (Function function : clazz.getFunctions()) {
for (RTypedSyntheticSymbol functionSymbol : MotionSymbolUtil.createSelectorSymbols(myModule, parent, function)) {
if (!processor.process(functionSymbol)) {
return false;
}
}
}
for (Class subClass : clazz.getSubClasses()) {
final MotionClassSymbol symbol = new MotionClassSymbol(myModule, Collections.singletonList(subClass));
if (!processor.process(symbol)) {
return false;
}
}
}
final Symbol superClass = getSuperClassSymbol(invocationPoint);
if (superClass != null) {
final Children children = superClass.getChildren();
if (!children.processChildren(processor, invocationPoint)) {
return false;
}
}
return true;
}
};
}
Aggregations