package jetbrains.mps.smodel.search; /*Generated by MPS */ import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.annotations.NotNull; import java.util.List; import org.jetbrains.mps.util.Condition; import java.util.Collections; import jetbrains.mps.util.IterableUtil; import org.jetbrains.mps.openapi.model.SNodeUtil; public class SubnodesSearchScope extends AbstractSearchScope { private SNode myEnclosingNode; public SubnodesSearchScope(SNode enclosingNode) { myEnclosingNode = enclosingNode; } @NotNull @Override public List<SNode> getNodes(Condition<SNode> condition) { if (myEnclosingNode == null) { return Collections.emptyList(); } return IterableUtil.asList(SNodeUtil.getDescendants(myEnclosingNode, condition, false)); } }