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);
}
}