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);
     }
 }
Example #2
0
 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");
 }
Example #3
0
 virtual public void break_statement(break_statement ast, int indent)
 {
     //        WriteLine("break;", indent);
 }
Example #4
0
 virtual public void break_statement(break_statement ast, int indent)
 {
     Write("break", indent);
     Semicolon(indent);
 }
Example #5
0
 public virtual void break_statement(break_statement ast)
 {
     ast.exitstry = exitstry(ast, ast.stmt);
 }