override public void break_statement(break_statement ast, int indent) { if (id != null) { WriteLine("goto {0}_end;", indent, id); } else { base.break_statement(ast, indent); } }
override public void break_statement(break_statement ast, SymbolTable bindings) { for (AST s = ast; s != null; s = s.parent) { if (s is finally_clause) { msg.Error(ast.begin, "invalid 'break' statement: 'break' cannot exit a finally block"); return; } if (s is switch_statement || s is typeswitch_statement || s is for_statement || s is foreach_statement || s is do_statement || s is while_statement) { ast.stmt = (statement)s; return; } } msg.Error(ast.begin, "invalid 'break' statement"); }
virtual public void break_statement(break_statement ast, int indent) { // WriteLine("break;", indent); }
virtual public void break_statement(break_statement ast, int indent) { Write("break", indent); Semicolon(indent); }
public virtual void break_statement(break_statement ast) { ast.exitstry = exitstry(ast, ast.stmt); }