]> Nishi Git Mirror - gwion.git/commitdiff
:art: clean prim_def
authorfennecdjay <fennecdjay@gmail.com>
Mon, 17 Oct 2022 17:53:42 +0000 (19:53 +0200)
committerfennecdjay <fennecdjay@gmail.com>
Mon, 17 Oct 2022 17:53:42 +0000 (19:53 +0200)
include/traverse.h
src/import/import_prim.c

index 176dc24cf011c83cbba747565cda5da1f9bd22fb..1e9fdb45f6c72cb246206a3c258b050a0b47a2b4 100644 (file)
@@ -49,4 +49,5 @@ ANN m_bool scan2_class_def(const Env, const Class_Def);
 ANN m_bool check_class_def(const Env, const Class_Def);
 
 ANN Type check_exp_call1(const Env env, Exp_Call *const exp);
+ANN m_bool scan0_prim_def(const Env env, const Prim_Def pdef);
 #endif
index 4a984f0aca26463c0044e5499443ee1766c6c15b..4afdbd231a2c2df8b678f7c63ee232bc5ee0c0ee 100644 (file)
@@ -12,6 +12,7 @@
 #include "gwi.h"
 #include "array.h"
 #include "gack.h"
+#include "traverse.h"
 
 static GACK(gack_prim) {
   for(m_uint i = 0; i < t->actual_size; i++) {
@@ -213,16 +214,10 @@ ANN Type mk_primitive(const Env env, const m_str name, const m_uint size) {
   return t;
 }
 
-// actually we should make a Prim_Def
-// and either execute and free it already
-// or add it to the current ast
-
-ANN m_bool scan0_prim_def(const Env env, const Prim_Def pdef);
-
-//ANN Type gwi_primitive(const Gwi gwi, const m_str name, const m_uint size, const ae_flag flag) {
 ANN m_bool gwi_primitive(const Gwi gwi, const m_str name, const m_uint size, const ae_flag flag) {
   const Env env = gwi->gwion->env;
   const Prim_Def pdef = new_prim_def(gwi->gwion->mp, insert_symbol(gwi->gwion->st, name), size, gwi->loc, flag);
+  if(gwi->gwion->data->cdoc)lint_prim_def(gwi->lint, pdef);
   if(!env->class_def || !tflag(env->class_def, tflag_tmpl)) {
     const m_bool ret = scan0_prim_def(gwi->gwion->env, pdef);
     free_prim_def(gwi->gwion->mp, pdef);