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