package jetbrains.mps.lang.pattern.runtime;
/*Generated by MPS */
import jetbrains.mps.util.annotation.ToRemove;
import org.jetbrains.mps.openapi.model.SNodeReference;
import org.jetbrains.mps.openapi.model.SNode;
import org.jetbrains.mps.openapi.language.SContainmentLink;
import java.util.Iterator;
/**
*
* @deprecated Has been used by generated code for pattern, now replaced with NodeMatcher runtime implementation
*/
@Deprecated
@ToRemove(version = 3.4)
public final class PatternUtil {
@Deprecated
private PatternUtil() {
}
public static boolean matchReferentWithNode(SNodeReference pointer, SNode node) {
if (pointer == null || node == null || node.getModel() == null) {
return false;
}
if (!(pointer.equals(node.getReference()))) {
return false;
}
return true;
}
public static boolean hasNChildren(SNode parent, SContainmentLink role, int num) {
Iterator<? extends SNode> it = parent.getChildren(role).iterator();
for (int i = 0; i < num; i++) {
if (!(it.hasNext())) {
return false;
}
it.next();
}
return !(it.hasNext());
}
}