CHECK_BB(env_storage(env, fdef->flag, td_pos(fdef->base->td)))
if(tmpl_base(fdef->base->tmpl))
return GW_OK;
- if(fdef->base->xid == insert_symbol("@dtor") || fdef->base->xid == insert_symbol("@gack")) {
- if(!env->class_def)
- ERR_B(td_pos(fdef->base->td), _("'%s' must be in class def!!"), s_name(fdef->base->xid))
- if(fdef->base->args)exit(3);
- } else if(GET_FLAG(fdef, op) && env->class_def)
- SET_FLAG(fdef, static);
+ if(GET_FLAG(fdef, op)) {
+ if(fdef->base->xid == insert_symbol("@dtor") || fdef->base->xid == insert_symbol("@gack")) {
+ if(!env->class_def)
+ ERR_B(td_pos(fdef->base->td), _("'%s' must be in class def!!"), s_name(fdef->base->xid))
+ if(fdef->base->args)exit(3);
+ } else if(env->class_def)
+ SET_FLAG(fdef, static);
+ }
struct Func_ fake = { .name=s_name(fdef->base->xid) }, *const former = env->func;
env->func = &fake;
++env->scope->depth;