jumpsStatements.add(currentslot);
for (Iterator<Statement> iter = node.statements().iterator(); iter.hasNext();) {
Statement statement = iter.next();
if (statement instanceof SwitchCase) {
SwitchCase switchCase = (SwitchCase) statement;
if (switchCase.isDefault()) {
jumpDefault = new Jump();
push(jumpDefault);
storeInstruction(); // jump
statementsDefault = new ArrayList<Statement>();
} else {
if (switchCase.getExpression() instanceof StringLiteral) {
push(new SendMessage(
"equals", "(Ljava/lang/Object;)Z", 1, null, fCounter)); //$NON-NLS-1$ //$NON-NLS-2$
} else {
push(new EqualEqualOperator(Instruction.T_int,
Instruction.T_int, true, fCounter));
}
push(new Dup());
storeInstruction(); // dupe
switchCase.getExpression().accept(this);
storeInstruction(); // equal-equal
ConditionalJump condJump = new ConditionalJump(true);
push(condJump);
storeInstruction(); // conditional jump
if (currentslot.stmts != null) {