@Override public Path transform(P_ZeroOrMoreN path, Path subPath) { Path result = path.getSubPath() == subPath ? path : new P_ZeroOrMoreN(subPath) ; return result; }
@Override public int hashCode() { return hashZeroOrMoreN ^ getSubPath().hashCode() ; }
public static Path pathZeroOrMoreN(Path path) { return new P_ZeroOrMoreN(path) ; } public static Path pathOneOrMoreN(Path path) { return new P_OneOrMoreN(path) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrMoreN) ) return false ; P_ZeroOrMoreN other = (P_ZeroOrMoreN)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public Path make(ItemList list) { BuilderLib.checkLength(2, 2, list, "path ZeroOrMoreN: wanted 1 argument") ; Path path = build(list, 1) ; return new P_ZeroOrMoreN(path) ; } } ;
@Override public void visit(P_ZeroOrMoreN path) { Path newSubPath = apply(path.getSubPath()); result = path.getSubPath() == newSubPath ? path : new P_ZeroOrMoreN(newSubPath) ; }
@Override public void visit(P_ZeroOrMoreN path) { writePath(Tags.tagPathZeroOrMoreN, path.getSubPath()) ; }
@Override public Path transform(P_ZeroOrMoreN path, Path subPath) { Path result = new P_ZeroOrMoreN(new P_Inverse(subPath)); return result; }
@Override public void visit(P_ZeroOrMoreN path) { result = new P_ZeroOrMoreN(new P_Inverse(path.getSubPath())); }
@Override public void visit(P_ZeroOrMoreN path) { engine.doZeroOrMoreN(path.getSubPath(), node, output) ; }
@Override public void visit(P_ZeroOrMoreN path) { path.getSubPath().visit(this); push(new P_ZeroOrMoreN(pop())); }
@Override public void visit(P_ZeroOrMoreN path) { printPathMod("{*}", path.getSubPath()) ; }
@Override public void visit(P_ZeroOrMoreN path) { path.getSubPath().visit(this); push(new P_ZeroOrMoreN(pop())); }
@Override public void visit(P_ZeroOrMoreN path) { before(path); if (path.getSubPath() != null) { path.getSubPath().visit(this); } proc.visit(path); after(path); }