34 lines
826 B
Plaintext
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());
|
|
}
|
|
}
|
|
}
|