}
}
check_code_for_break(body);
- f->body->code = body;
+
+ if(f->body)
+ f->body->code = body;
+ else //interface
+ if(body)
+ syntaxerror("interface methods can't have a method body");
old_state();
}
code_t*myjmp = $$ = abc_jump($$, 0);
code_t*loopstart = $$ = abc_label($$);
$$ = code_append($$, $7);
- myjmp->branch = $$ = abc_nop($$);
+ code_t*cont = $$ = abc_nop($$);
+ myjmp->branch = cont;
$$ = code_append($$, $5.c);
$$ = abc_iftrue($$, loopstart);
code_t*out = $$ = abc_nop($$);
breakjumpsto($$, $1, out);
- continuejumpsto($$, $1, loopstart);
+ continuejumpsto($$, $1, cont);
$$ = killvars($$);
old_state();