Skip to content

Commit

Permalink
Showing 1 changed file with 7 additions and 15 deletions.
22 changes: 7 additions & 15 deletions core/src/main/java/org/jruby/ir/IRBuilder.java
Original file line number Diff line number Diff line change
@@ -639,20 +639,6 @@ public static Operand[] addArg(Operand[] args, Operand extraArg) {
return newArgs;
}

// Non-arg masgn (actually a nested masgn)
public void buildVersionSpecificAssignment(Node node, Variable v) {
switch (node.getNodeType()) {
case MULTIPLEASGNNODE: {
Variable tmp = createTemporaryVariable();
addInstr(new ToAryInstr(tmp, v));
buildMultipleAsgn19Assignment((MultipleAsgnNode)node, null, tmp);
break;
}
default:
throw new NotCompilableException("Can't build assignment node: " + node);
}
}

// This method is called to build assignments for a multiple-assignment instruction
public void buildAssignment(Node node, Variable rhsVal) {
switch (node.getNodeType()) {
@@ -689,8 +675,14 @@ public void buildAssignment(Node node, Variable rhsVal) {
}
case ZEROARGNODE:
throw new NotCompilableException("Shouldn't get here; zeroarg does not do assignment: " + node);
case MULTIPLEASGNNODE: {
Variable tmp = createTemporaryVariable();
addInstr(new ToAryInstr(tmp, rhsVal));
buildMultipleAsgn19Assignment((MultipleAsgnNode)node, null, tmp);
break;
}
default:
buildVersionSpecificAssignment(node, rhsVal);
throw new NotCompilableException("Can't build assignment node: " + node);
}
}

0 comments on commit 33e3f93

Please sign in to comment.