package jetbrains.mps.lang.structure.findUsages; /*Generated by MPS */ import jetbrains.mps.ide.findusages.findalgorithm.finders.GeneratedFinder; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.mps.openapi.module.SearchScope; import java.util.List; import org.jetbrains.mps.openapi.util.ProgressMonitor; import jetbrains.mps.smodel.adapter.MetaAdapterByDeclaration; import java.util.Set; import org.jetbrains.mps.openapi.module.FindUsagesFacade; import java.util.Collections; import jetbrains.mps.internal.collections.runtime.ListSequence; import org.jetbrains.annotations.Nullable; import org.jetbrains.mps.openapi.model.SNodeReference; public class ExactConceptInstances_Finder extends GeneratedFinder { public ExactConceptInstances_Finder() { } @Override public String getDescription() { return "Exact Concept Instances"; } @Override public String getLongDescription() { return "only instances of the specified concept, not including instances of it's subconcepts"; } @Override public SAbstractConcept getSConcept() { return MetaAdapterFactory.getConcept(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, "jetbrains.mps.lang.structure.structure.ConceptDeclaration"); } @Override protected void doFind(SNode node, SearchScope scope, List<SNode> _results, ProgressMonitor monitor) { try { SAbstractConcept concept = MetaAdapterByDeclaration.getConcept(node); Set<SNode> nodes = FindUsagesFacade.getInstance().findInstances(scope, Collections.singleton(concept), true, monitor); for (SNode resNode : nodes) { ListSequence.fromList(_results).addElement(((SNode) resNode)); } } finally { monitor.done(); } } @Override public String getNodeCategory(SNode node) { return "Concept Instances"; } @Nullable @Override public SNodeReference getDeclarationNode() { return buildNodePointer(FindUsagesDescriptor.DECLARING_MODEL, "1211301915928"); } }