}
}
Jump jumpEnd = null;
if (jumpDefault == null) {
push(new Pop(0));
storeInstruction(); // pop
jumpEnd = new Jump();
push(jumpEnd);
storeInstruction(); // jump
}
for (Iterator<slot> iter = jumpsStatements.iterator(); iter.hasNext();) {
currentslot = iter.next();
for (Iterator<ConditionalJump> iterator = currentslot.jumps.iterator(); iterator.hasNext();) {
ConditionalJump condJump = iterator.next();
condJump.setOffset((fCounter - fInstructions.indexOf(condJump)) - 1);
}
if (currentslot.stmts != null) {
push(new Pop(0));
storeInstruction(); // pop
for (Iterator<Statement> iterator = currentslot.stmts.iterator(); iterator.hasNext();) {
iterator.next().accept(this);
}
}
}
// default case
if (jumpDefault != null) {
jumpDefault.setOffset((fCounter - fInstructions.indexOf(jumpDefault)) - 1);
push(new Pop(0));
storeInstruction(); // pop
for (Iterator<Statement> iterator = statementsDefault.iterator(); iterator.hasNext();) {
iterator.next().accept(this);
}
} else if(jumpEnd != null){