const m_bool global = GET_FLAG(decl->td, global);
const m_uint scope = !global ? emit->env->scope->depth : emit_push_global(emit);
do {
-puts(s_name(list->self->xid));
const uint r = (uint)(GET_FLAG(list->self->value, ref) + ref);
// if(!GET_FLAG(list->self->value, used))
// continue;
if(is_special(member->t_base) > 0)
return emit_exp_dot_special(emit, member);
const Value value = find_value(actual_type(member->t_base), member->xid);
- if(isa(member->t_base, t_class) < 0 && (GET_FLAG(value, member) ||
+ if(isa(member->t_base, t_class) < 0 && (GET_FLAG(value, member) ||
(isa(exp_self(member)->type, t_function) > 0 && isa(exp_self(member)->type, t_fptr) < 0))
) {
CHECK_BB(emit_exp(emit, member->base, 0))
if(traverse_dot_tmpl(emit, dt) < 0)
continue;
}
+ if(GET_FLAG(f->def, static))
+ shred->reg -= SZ_INT;
*(VM_Code*)shred->reg = f->code;
shred->reg += SZ_INT;
return;
dt->def = def; //
dt->owner = t; //
if(traverse_dot_tmpl(emit, dt) > 0) {
+ if(GET_FLAG(f->def, static))
+ shred->reg -= SZ_INT;
*(VM_Code*)shred->reg = def->base->func->code;
shred->reg += SZ_INT;
return;