]> Nishi Git Mirror - gwion.git/commitdiff
:art: gwi_tmpl
authorfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 5 Nov 2019 20:23:53 +0000 (21:23 +0100)
committerfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 5 Nov 2019 20:23:53 +0000 (21:23 +0100)
include/gwi.h
include/import/special.h
src/import/fdef.c
src/import/tdef.c
src/import/udef.c

index a3630001242edf16c75ea863faa56eeca43f864d..a24e0f1abcfc3e17d6a094d816d5d9870bea486f 100644 (file)
@@ -12,5 +12,7 @@ struct Gwi_ {
 };
 
 #include "import/internals.h"
-
+static inline Tmpl* gwi_tmpl(const Gwi gwi) {
+  return new_tmpl(gwi->gwion->mp, gwi->ck->tmpl, -1);
+}
 #endif
index de28ae0a6c5d0cc37e284f353196714031bee5eb..428a3f82af510d75c38ae944e030444f4a456862 100644 (file)
@@ -13,5 +13,4 @@ ANN void gwi_set_loc(const Gwi, const m_str, const uint);
 ANN Type_Decl*    str2decl(const Gwi, const m_str);
 ANN Var_Decl      str2var(const Gwi, const m_str);
 ANN Var_Decl_List str2varlist(const Gwi, const m_str);
-
 #endif
index dd3802a0699ea6f2f67ba8d1c82ab125382b399d..94c65b961d34a83dac8be9ff3d84d8029aee836e 100644 (file)
@@ -47,7 +47,7 @@ ANEW ANN static Func_Base* gwi_func_base(const Gwi gwi, ImportCK *ck) {
   Func_Base *base = new_func_base(gwi->gwion->mp, ck->td, ck->sym, arg_list);
   ck->td = NULL;
   if(ck->tmpl) {
-    base->tmpl = new_tmpl(gwi->gwion->mp, ck->tmpl, -1);
+    base->tmpl = gwi_tmpl(gwi);
     ck->tmpl = NULL;
   }
   return base;
index 8f235f581ab43f45497ae67ccab67ede0de0a62d..29a19d98e3eadf1790a2d7665961d35543abb49e 100644 (file)
@@ -35,7 +35,7 @@ ANN Type gwi_typedef_end(const Gwi gwi, const ae_flag flag) {
   td->flag |= flag;
   const Type_Def tdef = new_type_def(gwi->gwion->mp, td, gwi->ck->sym);
   if(gwi->ck->tmpl)
-    tdef->tmpl = new_tmpl(gwi->gwion->mp, gwi->ck->tmpl, -1);
+    tdef->tmpl = gwi_tmpl(gwi);
   gwi->ck->td = NULL;
   gwi->ck->tmpl = NULL;
   const m_bool ret = traverse_type_def(gwi->gwion->env, tdef);
index baa4c3f07405992a9fdc6183c4725a76ad47be8d..7a93bdcb7c99e8331a6b151e9eb8a931f1718915 100644 (file)
@@ -78,7 +78,7 @@ ANN Type gwi_union_end(const Gwi gwi, const ae_flag flag) {
   if(gwi->ck->tmpl) {
     if(udef->xid)
       GWI_ERR_O(_("Template union type can't declare instance at declaration"));
-    udef->tmpl = new_tmpl(gwi->gwion->mp, gwi->ck->tmpl, -1);
+    udef->tmpl = gwi_tmpl(gwi);
     gwi->ck->tmpl = NULL;
   }
   const Type t = union_type(gwi, udef);