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)); } }