// Try verifying definition, and if we get an JumpException exception, process it with the rescue block above
return protectCodeWithRescue(s, protectedCode, new Object[]{s, iVisited, undefLabel}, rescueBlock, null);
}
case ZSUPERNODE:
return buildDefinitionCheck(s, new SuperMethodBoundInstr(s.getNewTemporaryVariable(), getSelf(s)), "super");
case SUPERNODE: {
Label undefLabel = s.getNewLabel();
Variable tmpVar = s.getNewTemporaryVariable();
s.addInstr(new SuperMethodBoundInstr(tmpVar, getSelf(s)));
s.addInstr(BEQInstr.create(tmpVar, manager.getFalse(), undefLabel));
Operand superDefnVal = buildGetArgumentDefinition(((SuperNode) node).getArgsNode(), s, "super");
return buildDefnCheckIfThenPaths(s, undefLabel, superDefnVal);
}
default: {