slcom/slangc/model/statements/ContinueStatement.sauce

34 lines
826 B
Plaintext

package slangc.model.statements;
import slangc.api.BytecodeInstructionWriter;
import slangc.api.Reporter;
import slangc.model.StatementModel;
import slangc.model.StatementOwner;
import slangc.parser.Node;
public class ContinueStatement extends StatementModel {
public ContinueStatement(StatementOwner owner, Node source) {
super(owner, source);
}
@Override
public void dump(Reporter reporter, String indent, String incr) {
reporter.note("DUMP", indent + "> Continue (no label)");
}
@Override
public int resolveExpressions() {
return 0;
}
@Override
public void innerGenerate(BytecodeInstructionWriter w) {
if (w.getContinue() == null) {
w.genError("Nowhere to continue to");
} else {
w.genJump(BytecodeInstructionWriter.JumpOp.GOTO, w.getContinue());
}
}
}