-Subproject commit fe0bdff5928947b832ec50726f96979a534d08f9
+Subproject commit 94e10dede128475686da71e1f35b5a89b88073fd
ANN static m_bool emit_class_def(const Emitter emit, const Class_Def cdef) {
const Type type = cdef->base.type;
const Nspc nspc = type->nspc;
- if(tmpl_class_base(cdef->tmpl))
+ if(tmpl_list_base(cdef->tmpl))
return GW_OK;
if(cdef->base.ext && ((/*!GET_FLAG(type->e->parent, emit) &&*/
GET_FLAG(cdef->base.ext, typedef)) || cdef->base.ext->types)) {
if(gwi->templater.n) {
const ID_List types = templater_def(gwi->gwion->st, gwi);
type->e->def = new_class_def(gwi->gwion->mp, 0, insert_symbol(gwi->gwion->st, type->name), NULL, NULL, loc_cpy(gwi->gwion->mp, gwi->loc));
- type->e->def->tmpl = new_tmpl_class(gwi->gwion->mp, types, -1);
+ type->e->def->tmpl = new_tmpl_list(gwi->gwion->mp, types, -1);
type->e->def->base.type = type;
SET_FLAG(type, template);
} else
}
ANN m_bool check_class_def(const Env env, const Class_Def cdef) {
- if(tmpl_class_base(cdef->tmpl))
+ if(tmpl_list_base(cdef->tmpl))
return GW_OK;
const Type type = cdef->base.type;
if(type->e->parent == t_undefined) {
ANN m_bool scan1_class_def(const Env env, const Class_Def cdef) {
if(!cdef->base.type)
CHECK_BB(scan0_class_def(env, cdef))
- if(tmpl_class_base(cdef->tmpl))
+ if(tmpl_list_base(cdef->tmpl))
return GW_OK;
if(cdef->base.ext)
CHECK_BB(scan1_class_parent(env, cdef))
}
ANN m_bool scan2_class_def(const Env env, const Class_Def cdef) {
- if(tmpl_class_base(cdef->tmpl))
+ if(tmpl_list_base(cdef->tmpl))
return GW_OK;
if(cdef->base.ext)
CHECK_BB(scan2_class_parent(env, cdef))
SET_FLAG(a, ref);
if(a->base.type)
return a->base.type;
- a->tmpl = new_tmpl_class(env->gwion->mp, get_total_type_list(env, t), 0);
+ a->tmpl = new_tmpl_list(env->gwion->mp, get_total_type_list(env, t), 0);
a->tmpl->call = type->types;
CHECK_BO(scan0_class_def(env, a))