@Override public int hashCode() { return hashOneOrMoreN ^ getSubPath().hashCode() ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_OneOrMoreN) ) return false ; P_OneOrMoreN other = (P_OneOrMoreN)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public Path transform(P_OneOrMoreN path, Path subPath) { Path result = path.getSubPath() == subPath ? path : new P_OneOrMoreN(subPath) ; return result; }
@Override public void visit(P_OneOrMoreN path) { writePath(Tags.tagPathOneOrMoreN, path.getSubPath()) ; }
@Override public void visit(P_OneOrMoreN path) { engine.doOneOrMoreN(path.getSubPath(), node, output) ; }
@Override public void visit(P_OneOrMoreN path) { printPathMod("{+}", path.getSubPath()) ; }
@Override public void visit(P_OneOrMoreN path) { Path newSubPath = apply(path.getSubPath()); result = path.getSubPath() == newSubPath ? path : new P_OneOrMoreN(newSubPath) ; }
@Override public void visit(P_OneOrMoreN path) { before(path); if (path.getSubPath() != null) { path.getSubPath().visit(this); } proc.visit(path); after(path); }
@Override public void visit(P_OneOrMoreN path) { result = new P_OneOrMoreN(new P_Inverse(path.getSubPath())); }
@Override public void visit(P_OneOrMoreN path) { path.getSubPath().visit(this); push(new P_OneOrMoreN(pop())); } }
@Override public void visit(P_OneOrMoreN path) { path.getSubPath().visit(this); push(new P_OneOrMoreN(pop())); } }