]> Nishi Git Mirror - gwion.git/commitdiff
:fire: more convenience macros
authorfennecdjay <fennecdjay@gmail.com>
Wed, 31 Jan 2024 02:54:35 +0000 (03:54 +0100)
committerfennecdjay <fennecdjay@gmail.com>
Wed, 31 Jan 2024 02:54:35 +0000 (03:54 +0100)
ast
src/import/import_item.c
src/lib/closure.c
src/lib/sift.c
src/parse/check.c
src/parse/partial.c

diff --git a/ast b/ast
index 1c3afd609f38c79cdfa58346c8dbc6112bedcca4..0fc5575bcf9215b59c7b4723c7efd55615217c02 160000 (submodule)
--- a/ast
+++ b/ast
@@ -1 +1 @@
-Subproject commit 1c3afd609f38c79cdfa58346c8dbc6112bedcca4
+Subproject commit 0fc5575bcf9215b59c7b4723c7efd55615217c02
index 54233ea458683d465bb44aa34978a3119acf7053..4dc49f17c79145a9c214dd34c18e9547c10d51bc 100644 (file)
@@ -19,14 +19,8 @@ ANN m_int gwi_item_ini(const Gwi gwi, const restrict m_str type,
 
 ANN static m_int gwi_item_tmpl(const Gwi gwi) {
   Stmt_List slist = new_mp_vector(gwi->gwion->mp, Stmt, 1);
-  mp_vector_set(slist, Stmt, 0,  ((Stmt) {
-      .stmt_type = ae_stmt_exp,
-      .d = { .stmt_exp = { .val = gwi->ck->exp } },
-      .loc = gwi->loc
-    }));
+  mp_vector_set(slist, Stmt, 0, MK_STMT_EXP(gwi->loc, gwi->ck->exp));
   Section section = MK_SECTION(stmt, stmt_list, slist);
-//  const Ast       body    = new_ast(mp, section, NULL);
-//  gwi_body(gwi, body);
   gwi_body(gwi, &section);
   mp_free2(gwi->gwion->mp, sizeof(ImportCK), gwi->ck);
   gwi->ck = NULL;
index 24c47d31ee7217f1b56ee897c0bcba879e4bdfa6..45b39c578cef357535e96261f4164d5c7e03690c 100644 (file)
@@ -609,8 +609,7 @@ static OP_CHECK(opck_op_impl) {
   Exp*  bin = new_exp_binary(env->gwion->mp, lhs, impl->e->d.prim.d.var,
                                  rhs, impl->e->loc);
   Stmt_List code = new_mp_vector(env->gwion->mp, Stmt, 1);
-  mp_vector_set(code, Stmt, 0, MK_STMT(ae_stmt_return, impl->e->loc,
-    .stmt_exp = { .val = bin }));
+  mp_vector_set(code, Stmt, 0, MK_STMT_RETURN(impl->e->loc, bin));
   const Func_Def  def  = new_func_def(env->gwion->mp, base, code);
   def->base->tag.sym   = impl->e->d.prim.d.var;
 // use envset
index 1234873aa5629bb95fdee6d81288748e14829440..5d7a7c1fac01b07314a9cee6623e29f00754cdef 100644 (file)
@@ -42,14 +42,13 @@ static OP_CHECK(opck_ctrl) {
   func->d.exp_binary.lhs = call;
   func->d.exp_binary.op = chuck;
   CHECK_BN(traverse_exp(env, func));
-  Stmt one = { .d = { .stmt_exp = { .val = func }}, .stmt_type = ae_stmt_exp, .loc = func->loc };
+  Stmt one = MK_STMT_EXP(func->loc, func);
 
   Exp* samp = new_prim_id(mp, insert_symbol(env->gwion->st, "samp"), func->loc);
   Exp* _now = new_prim_id(mp, insert_symbol(env->gwion->st, "now"), func->loc);
   Exp* time = new_exp_binary(mp, samp, chuck, _now, func->loc);
   CHECK_BN(traverse_exp(env, time));
-  Stmt two = { .d = { .stmt_exp = { .val = time }}, .stmt_type = ae_stmt_exp, .loc = func->loc };
-
+  Stmt two = MK_STMT_EXP(func->loc, time);
   free_exp(mp, bin->lhs);
   free_exp(mp, bin->rhs);
   Stmt_List slist = new_mp_vector(mp, Stmt, 2);
index decbd493604afd88285e90dc82c59660949112ca..ff04cdf0c10803fc566180a110862455a4ea37e0 100644 (file)
@@ -1307,10 +1307,7 @@ ANN m_bool check_type_def(const Env env, const Type_Def tdef) {
     // casting while defining it*
     Exp* ret_id = new_prim_id(env->gwion->mp, insert_symbol("self"), when->loc);
     ret_id->d.prim.value = new_value(env, tdef->type, "self", tdef->tag.loc);
-    Stmt ret = {
-      .stmt_type = ae_stmt_return, .d = { .stmt_exp = { .val = ret_id }},
-      .loc = when->loc
-    };
+    Stmt ret = MK_STMT_RETURN(when->loc, ret_id);
     mp_vector_set(fdef->d.code, Stmt, 1, ret);
     ret_id->type = tdef->type;
   }
index 7967900b62cadb908bdd39937da8d98e299398e9..eca38c039fe9ce42b531758e452a6cbf91856023 100644 (file)
@@ -169,8 +169,7 @@ ANN static Stmt_List partial_code(const Env env, Arg_List args, Exp* efun, Exp*
   Exp* arg = partial_call(env, args, earg);
   Exp* exp = new_exp_call(env->gwion->mp, efun, arg, efun->loc);
   Stmt_List code = new_mp_vector(env->gwion->mp, Stmt, 1);
-  mp_vector_set(code, Stmt, 0, MK_STMT(ae_stmt_return, efun->loc,
-    .stmt_exp = { .val = exp }));
+  mp_vector_set(code, Stmt, 0, MK_STMT_RETURN(efun->loc, exp));
   return code;
 }