const Value v = check_non_res_value(env, data);
if(!v || !vflag(v, vflag_valid) || (v->from->ctx && v->from->ctx->error)) {
const m_str name = s_name(*data);
- if(!isalpha(*name) && *name != '_')
+ if(!isalpha(*name) && *name != '_') /* && *name != '@' ???*/
return env->gwion->type[et_op];
gwerr_basic(_("Invalid variable"), _("not legit at this point."), NULL,
env->name, prim_pos(data), 0);
CHECK_OO(func->next);
return find_func_match_actual(env, func->next, args, implicit, specific);
} else if(!e->type) //fix bug found with Cytosol
- return NULL;
+ return NULL;
if(e1->type == env->gwion->type[et_auto] ||
(func->def->base->tmpl && is_fptr(env->gwion, func->value_ref->type) > 0)) {
const Type owner = func->value_ref->from->owner_class;
}
ANN static Func create_tmpl(const Env env, struct ResolverArgs* ra, const m_uint i) {
- const Value value = template_get_ready(env, ra->v, "template", i);
- if(!value)
- return NULL;
+ DECL_OO(const Value, value, = template_get_ready(env, ra->v, "template", i));
const Func_Def fdef = (Func_Def)cpy_func_def(env->gwion->mp, value->d.func_ref->def);
if(vflag(ra->v, vflag_builtin))
set_vflag(value, vflag_builtin);
if(v->from->owner_class && v->from->owner_class->info->cdef->base.tmpl)
(void)template_push_types(env, v->from->owner_class->info->cdef->base.tmpl);
const Func m_func = !is_fptr(env->gwion, v->type) ?
- func_match(env, &ra) :fptr_match(env, &ra);
+ func_match(env, &ra) : fptr_match(env, &ra);
if(v->from->owner_class && v->from->owner_class->info->cdef->base.tmpl)
nspc_pop_type(env->gwion->mp, env->curr);
env_pop(env, scope);