const Type t = union_type(env, sym, !!udef->type_xid);
udef->value = union_value(env, t, udef->xid);
udef->value->flag |= udef->flag;
+ SET_ACCESS(udef, t);
if(env->class_def && !GET_FLAG(udef, static)) {
SET_FLAG(udef->value, member);
SET_FLAG(udef, member);
} else if(udef->type_xid) {
CHECK_BB(scan0_defined(env, udef->type_xid, udef->pos))
udef->type = union_type(env, udef->type_xid, 1);
+ SET_ACCESS(udef, udef->type);
SET_FLAG(udef->type, checked);
} else {
const Symbol sym = scan0_sym(env, "union", udef->pos);
CHECK_BB(scan0_defined(env, sym, udef->pos))
const Type t = union_type(env, sym, 1);
+ SET_ACCESS(udef, t);
udef->value = union_value(env, t, sym);
udef->value->flag |= udef->flag;
}
if(env->class_def) {
SET_FLAG(v, static);
SET_ACCESS(edef, v)
+ SET_ACCESS(edef, edef->t)
}
SET_FLAG(v, const | ae_flag_enum | ae_flag_checked);
nspc_add_value(edef->t->e->owner, list->xid, v);