/** Walk through flows */ public void visitSimpleChunks(@Nonnull SimpleChunkVisitor visitor, @Nonnull ChunkFinder finder) { FlowNode prev; if (this.currentParallelStart != null) { FlowNode last = findLastRunningNode(currentParallelHeads()); if (last != null) { visitor.parallelEnd(this.currentParallelStartNode, last, this); } } while(hasNext()) { prev = (myCurrent != myNext) ? myCurrent : null; FlowNode f = next(); fireVisitChunkCallbacks(myNext, myCurrent, prev, visitor, finder, this); fireVisitParallelCallbacks(myNext, myCurrent, prev, visitor, finder, this); } }
FlowNode n = scanner.getCurrentParallelStartNode(); if (n != null) { visitor.parallelEnd(n, current, scanner); } else if (current instanceof BlockEndNode){ visitor.parallelEnd(((BlockEndNode) current).getStartNode(), current, scanner);