]> Nishi Git Mirror - gwion.git/commitdiff
:art: Improve check_non_res_value
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Mon, 13 Apr 2020 21:02:00 +0000 (23:02 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Mon, 13 Apr 2020 21:02:00 +0000 (23:02 +0200)
src/parse/check.c

index a2567d35aab136b0e0e3f901e25d2bbc5b19b569..a15ad008342d8ab9b8c044716b702c763f634676 100644 (file)
@@ -245,10 +245,10 @@ ANN static Value check_non_res_value(const Env env, const Symbol *data) {
   const Symbol var = *data;
   const Value value = nspc_lookup_value1(env->curr, var);
   if(env->class_def) {
-    const Value v = value ? value : find_value(env->class_def, var);
+    if(value && value->from->owner_class)
+      CHECK_BO(not_from_owner_class(env, env->class_def, value, prim_pos(data)))
+    const Value v = value ?: find_value(env->class_def, var);
     if(v) {
-      if(v->from->owner_class)
-        CHECK_BO(not_from_owner_class(env, env->class_def, v, prim_pos(data)))
       if(env->func && GET_FLAG(env->func->def, static) && GET_FLAG(v, member))
         ERR_O(prim_pos(data),
               _("non-static member '%s' used from static function."), s_name(var))