]> Nishi Git Mirror - gwion.git/commitdiff
:fire: some clean
authorfennecdjay <fennecdjay@gmail.com>
Mon, 26 Feb 2024 20:11:12 +0000 (21:11 +0100)
committerfennecdjay <fennecdjay@gmail.com>
Mon, 26 Feb 2024 20:11:12 +0000 (21:11 +0100)
src/import/import_checker.c
src/import/import_internals.c
src/import/import_oper.c
src/lib/closure.c

index f288c401ef5e6005e3b7ae49e3bcdf5d7e94b4ed..c552d696243ac61a7cd66e64aa7c7b3ffd7d5161 100644 (file)
@@ -195,7 +195,7 @@ ANN static Arg_List fptr_args(const Gwion gwion, struct td_checker *tdc) {
 ANN static Type_Decl *str2td_fptr(const Gwion gwion, struct td_checker *tdc) {
   const m_str base = tdc->str;
   tdc->str++;
-  Type_Decl *const ret_td = _str2td(gwion, tdc);
+  DECL_O(Type_Decl *const, ret_td, = _str2td(gwion, tdc));
   const TmplArg_List tl = td_tmpl(gwion, tdc);
   if (tl == TMPLARG_ERROR) {
     free_type_decl(gwion->mp, ret_td);
index 786372cafa88f60efef4f9d1fd426a3cf9c8345a..e64bf591b11851311a75cf302fc32cd2cef3cb56 100644 (file)
@@ -43,15 +43,10 @@ ANN static bool run_with_doc(const Gwi gwi, bool (*f)(const Gwi)) {
 }
 
 ANN bool gwi_run(const Gwion gwion, bool (*f)(const Gwi)) {
-  const m_str name = gwion->env->name;
-  //  const Context ctx = gwion->env->context;
-  //  gwion->env->context = NULL;
   OperCK       oper = {};
   struct Gwi_  gwi  = {.gwion = gwion, .oper = &oper};
   const bool ret  = !gwion->data->cdoc ? f(&gwi) : run_with_doc(&gwi, f);
   if (!ret) gwi_reset(&gwi);
-  gwion->env->name = name;
-  //  gwion->env->context = ctx;
   return ret;
 }
 
index 22c18e392e4368ee01be20143f4d721d4ff96a7e..1f6e1afb11b5ac4bc591824cc5265f3eb7db087d 100644 (file)
 
 ANN static Type _get_type(const Gwi gwi, const m_str s) {
   if (s == (m_str)OP_ANY_TYPE) return OP_ANY_TYPE;
-  // str2type
-  Type_Decl *td = gwi_str2td(gwi, s);
-  const Type t  = known_type(gwi->gwion->env, td);
-  free_type_decl(gwi->gwion->mp, td);
-  return t;
+  return str2type(gwi->gwion, s, gwi->loc);
 }
 
 ANN2(1) static inline Type gwi_get_type(const Gwi gwi, const m_str str) {
index 497c1c2f2bf002763042d3831dbf8f351f9c4ffa..69d7b736ca00e435db2889ba3f676c1bd2618075 100644 (file)
@@ -614,8 +614,9 @@ static OP_CHECK(opck_op_impl) {
 // or better, some function with envset and traverse
   const m_uint scope   = env_push_nspc(env, opi.nspc);
   // we assume succes here
-  /*const bool ret = */ traverse_func_def(env, def);
+  const bool ret = traverse_func_def(env, def);
   env_pop(env, scope);
+  if(!ret) return NULL;
   def->base->func->value_ref->type->info->parent = env->gwion->type[et_op];
          impl->e->type         = def->base->func->value_ref->type;
   impl->e->d.prim.value = def->base->func->value_ref;