package jetbrains.mps.baseLanguage.search; /*Generated by MPS */ import jetbrains.mps.components.CoreComponent; import jetbrains.mps.project.Project; import java.util.List; import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.mps.openapi.module.SearchScope; import java.util.ArrayList; public class ClassifierSuccessors implements CoreComponent { private static ClassifierSuccessors INSTANCE; private ClassifierSuccessors.Finder myFastFinder; public ClassifierSuccessors() { } @Override public void dispose() { INSTANCE = null; } @Override public void init() { INSTANCE = this; } public boolean isIndexReady(Project project) { return (myFastFinder != null ? myFastFinder.isIndexReady(project) : false); } public List<SNode> getDerivedClassifiers(SNode classifier, SearchScope scope) { return (myFastFinder != null ? myFastFinder.getDerivedClassifiers(classifier, scope) : new ArrayList<SNode>()); } public void setFinder(ClassifierSuccessors.Finder finder) { myFastFinder = finder; } public static ClassifierSuccessors getInstance() { return INSTANCE; } public interface Finder { List<SNode> getDerivedClassifiers(SNode classifier, SearchScope scope); boolean isIndexReady(Project project); } }