Variable rv = m.getNewTemporaryVariable();
if (node instanceof ArrayNode) {
for (int i = 0; i < ((ArrayNode) node).size(); i++) {
Node iterNode = ((ArrayNode) node).get(i);
Operand def = buildGetDefinition(iterNode, m);
m.addInstr(new BEQInstr(def, Nil.NIL, failLabel));
}
} else {
Operand def = buildGetDefinition(node, m);
m.addInstr(new BEQInstr(def, Nil.NIL, failLabel));
}
m.addInstr(new CopyInstr(rv, new StringLiteral(type)));
m.addInstr(new JumpInstr(doneLabel));
m.addInstr(new LABEL_Instr(failLabel));
m.addInstr(new CopyInstr(rv, Nil.NIL));