package jetbrains.mps.idea.java.fastFind;
/*Generated by MPS */
import org.jetbrains.mps.openapi.persistence.FindUsagesParticipant;
import com.intellij.openapi.components.ApplicationComponent;
import java.util.Collection;
import org.jetbrains.mps.openapi.model.SModel;
import java.util.Set;
import org.jetbrains.mps.openapi.model.SNode;
import org.jetbrains.mps.openapi.util.Consumer;
import org.jetbrains.mps.openapi.model.SReference;
import jetbrains.mps.idea.java.psiStubs.PsiJavaStubModelDescriptor;
import jetbrains.mps.persistence.java.library.JavaClassStubModelDescriptor;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import org.jetbrains.mps.openapi.model.SModelReference;
import jetbrains.mps.persistence.PersistenceRegistry;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
/**
* Suppressing searching in psi and class file stubs
*/
public class EmptyJavaStubsFindUsages implements FindUsagesParticipant, ApplicationComponent {
public void findUsages(Collection<SModel> models, Set<SNode> set, Consumer<SReference> consumer, Consumer<SModel> processedConsumer) {
// just skipping java psi stub models from find usages
// usages in java should be found via idea ReferenceSearch
for (SModel model : models) {
if (model instanceof PsiJavaStubModelDescriptor || model instanceof JavaClassStubModelDescriptor) {
processedConsumer.consume(model);
}
}
}
public void findInstances(Collection<SModel> collection, Set<SAbstractConcept> set, Consumer<SNode> consumer, Consumer<SModel> consumer1) {
// let's not skip this, it's not going to slow down anything
}
public void findModelUsages(Collection<SModel> collection, Set<SModelReference> set, Consumer<SModel> consumer, Consumer<SModel> consumer1) {
// let's not skip this, it's not going to slow down anything
}
public void initComponent() {
PersistenceRegistry.getInstance().addFindUsagesParticipant(this);
}
public void disposeComponent() {
PersistenceRegistry.getInstance().removeFindUsagesParticipant(this);
}
@NonNls
@NotNull
public String getComponentName() {
return "Empty PSI java stub find usages participant";
}
}