slcom/slangc/model/statements/UnrecognisedStatement.sauce

33 lines
1.0 KiB
Plaintext

package slangc.model.statements;
import slangc.api.BytecodeInstructionWriter;
import slangc.api.Reporter;
import slangc.model.StatementModel;
import slangc.model.StatementOwner;
import slangc.parser.ErrorType;
import slangc.parser.Node;
public class UnrecognisedStatement extends StatementModel {
public UnrecognisedStatement(StatementOwner owner, Node source) {
super(owner, source);
//throw new Error("Unrecognised statement type " + sourceFile.getNodeType() + " (Internal error/TODO)");
source.annotate(ErrorType.INTERNAL_ERROR, "Unrecognised statement type " + source.getNodeType() + " (Internal error/TODO)");
}
@Override
public void dump(Reporter reporter, String indent, String incr) {
reporter.note("DUMP", indent + "> TODO: Unrecognised statement (" + getSource().getNodeType() + ")");
}
@Override
public int resolveExpressions() {
return 0;
}
@Override
public void innerGenerate(BytecodeInstructionWriter w) {
w.genError("TODO: innerGenerate for " + Type.of(this));
}
}