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