]> Nishi Git Mirror - gwion.git/commitdiff
:fire: remove env_footer
authorfennecdjay <fennecdjay@gmail.com>
Mon, 26 Feb 2024 17:55:36 +0000 (18:55 +0100)
committerfennecdjay <fennecdjay@gmail.com>
Mon, 26 Feb 2024 17:55:36 +0000 (18:55 +0100)
include/env/env.h
src/env/env_utils.c
src/gwion.c
src/lib/object_op.c
src/parse/check.c

index 9a3b4aebabbe224b691955c20daf8bc498d88fde..3e46f75f7e00c360df4668131a2006ca71d738c6 100644 (file)
@@ -64,7 +64,6 @@ ANN void   env_add_type(const Env, const Type, const loc_t);
 ANN Type   find_type(const Env, Type_Decl *);
 ANN void   env_err(const Env, const loc_t, const m_str fmt, ...);
 ANN void   env_warn(const Env, const loc_t, const m_str fmt, ...);
-ANN void   env_error_footer(const Env env);
 ANN Value  global_string(const Env env, const m_str str, const loc_t);
 ANN void   release_ctx(struct Env_Scope_ *a, struct Gwion_ *gwion);
 
index 48e1dcf12a91ebb6c107aa5f30060435fbcd25cd..d82ccaf6798528cccfd25c3cb67bbbdc24fd5fd1 100644 (file)
@@ -70,7 +70,6 @@ ANN bool can_define(const Env env, const Symbol s, const loc_t loc) {
   if (!v || is_class(env->gwion, v->type)) return true;
   gwerr_basic(_("already declared as variable"), NULL, NULL, env->name, loc, 0);
   declared_here(v);
-  env_error_footer(env);
   return false;
 }
 
index b6522325c11e2df73afb808c52e87d2ff7581f76..7ff6ac0a6787bf785fd853a2aa1f857a11c3704d 100644 (file)
@@ -177,21 +177,6 @@ ANN void gwion_end(const Gwion gwion) {
   mempool_end(gwion->mp);
 }
 
-ANN void env_error_footer(const Env env) {
-  bool ctor = false;
-  if (env->func && env->func->def) {
-     if(!is_ctor(env->func->def))
-      gwerr_secondary("in function", env->name, env->func->def->base->tag.loc);
-    else {
-      gwerr_secondary("in class pre constructor", env->name,
-        env->class_def->info->cdef->base.tag.loc);
-      ctor = true;
-    }
-  }
-  if (!ctor && env->class_def && tflag(env->class_def, tflag_cdef))
-    gwerr_secondary("in class", env->name, env->class_def->info->cdef->base.tag.loc);
-}
-
 ANN static void env_xxx(const Env env, const loc_t loc, const m_str fmt,
                         va_list arg) {
 #ifndef __FUZZING__
@@ -202,7 +187,6 @@ ANN static void env_xxx(const Env env, const loc_t loc, const m_str fmt,
   char c[size + 1];
   vsprintf(c, fmt, arg);
   gwerr_basic(c, NULL, NULL, env->name, loc, 0);
-  env_error_footer(env);
 #endif
 }
 
@@ -216,7 +200,6 @@ ANN static void _env_warn(const Env env, const loc_t loc, const m_str fmt,
   char c[size + 1];
   vsprintf(c, fmt, arg);
   gwerr_warn(c, NULL, NULL, env->name, loc);
-  env_error_footer(env);
 #endif
 }
 
index 25821d239151e201a32d836eb5328e775357ec01..fd271dd6a32688c0bde4c0b8f30fa2a1375ff125 100644 (file)
@@ -187,7 +187,6 @@ ANN static bool member_access(const Env env, Exp* exp, const Value value) {
     if (GET_FLAG(value, private)) {
       gwerr_basic("invalid variable access", "is private", NULL, env->name,
                   exp->loc, 0);
-      env_error_footer(env);
       defined_here(value);
       env_set_error(env, true);
       return false;
index 89188f4f96ec601655aa7000d624feffc01cf3b7..a947218b5c1897260ac6201205db845b2abcb258 100644 (file)
@@ -2271,7 +2271,6 @@ ANN static bool _check_class_def(const Env env, const Class_Def cdef) {
     ID_List list        = cdef->traits;
     if (!check_trait_requests(env, t, list, t->info->value->from)) {
       env->class_def = t;
-      env_error_footer(env);
       env_set_error(env, true);
       return false;
     }