Ruby runtime = graph.getRuntime();
Context context = runtime.getContext();
Node varNode = block.getVarNode();
boolean noargblock = false;
MultipleAsgnNode masgn = null;
int preCount = 0;
boolean isRest = false;
Node rest = null;
ListNode pre = null;
Vertex vertex = graph.createFreeVertex();
if (varNode == null || varNode instanceof ZeroArgNode) {
noargblock = true;
} else if (varNode instanceof MultipleAsgnNode) {
masgn = (MultipleAsgnNode) varNode;
preCount = masgn.getPreCount();
isRest = masgn.getRest() != null;
rest = masgn.getRest();
pre = masgn.getPre();
}
if (args != null && !args.isEmpty()) {
for (IRubyObject value : args) {
pushLoopFrame(context, block.getFrame(), returnVertex, vertex);