ANN static void clean_fptr_def(Clean *a, Fptr_Def b) {
clean_func_base(a, b->base);
+ if(b->type)
+ REM_REF(b->type, a->gwion)
}
ANN static void clean_type_def(Clean *a, Type_Def b) {
SET_FLAG(fptr->base->func, builtin);
const Type t = ret > 0 ? fptr->type : NULL;
free_fptr_def(gwi->gwion->mp, fptr);
+ if(fptr->type)
+ REM_REF(fptr->type, gwi->gwion)
ck_end(gwi);
return t;
}
nspc_add_type_front(v->from->owner, sym, actual_type(env->gwion, m_func->value_ref->type));
}
free_fptr_def(env->gwion->mp, fptr);
+ if(fptr->type)
+ REM_REF(fptr->type, env->gwion)
}
}
} else {
SET_FLAG(fptr->value, func);
add_type(env, t->e->owner, t);
mk_class(env, t);
+ ADD_REF(t);
return GW_OK;
}