]> Nishi Git Mirror - gwion.git/commitdiff
:art: Cleaning
authorJérémie Astor <fennecdjay@gmail.com>
Tue, 15 Dec 2020 00:24:28 +0000 (01:24 +0100)
committerJérémie Astor <fennecdjay@gmail.com>
Tue, 15 Dec 2020 00:24:28 +0000 (01:24 +0100)
src/lib/array.c
src/lib/opfunc.c
src/parse/check.c

index 461e9c38c231515a4e48a443467519a9f2497dae..fb87738be46e93ccb630dd97bd168e2ae508f332 100644 (file)
@@ -159,7 +159,6 @@ static OP_CHECK(opck_array_at) {
       ERR_N(exp_self(bin)->pos, _("array depths do not match."))
   }
   if(bin->rhs->exp_type == ae_exp_decl) {
-    SET_FLAG(bin->rhs->d.exp_decl.td, late);// ???
     if(bin->rhs->d.exp_decl.list->self->array &&
           bin->rhs->d.exp_decl.list->self->array->exp)
       ERR_N(exp_self(bin)->pos, _("do not provide array for 'xxx @=> declaration'."))
index 3050f9cbf2b8aa49f1d36f10d8a7c9205e32065b..baa1cde5342a45696dd316910811ab46fe0d71f0 100644 (file)
@@ -83,7 +83,6 @@ ANN static inline Type check_new_td(const Env env, Type_Decl *td) {
 
 OP_CHECK(opck_new) {
   const Exp_Unary* unary = (Exp_Unary*)data;
-  SET_FLAG(unary->td, late);
   DECL_ON(const Type, t, = check_new_td(env, unary->td))
   if(isa(t, env->gwion->type[et_object]) < 0)
     ERR_N(exp_self(unary)->pos, _("can't use 'new' on non-object types...\n"))
@@ -91,7 +90,6 @@ OP_CHECK(opck_new) {
     ERR_N(td_pos(unary->td), _("can't use 'new' on ref type '%s'\n"), t->name)
   if(GET_FLAG(t, abstract))
     ERR_N(td_pos(unary->td), _("can't use 'new' on abstract type '%s'\n"), t->name)
-  UNSET_FLAG(unary->td, late);
   if(unary->td->array)
     CHECK_BN(check_subscripts(env, unary->td->array, 1))
   return t;
@@ -100,6 +98,6 @@ OP_CHECK(opck_new) {
 OP_EMIT(opem_new) {
   const Exp_Unary* unary = (Exp_Unary*)data;
   CHECK_BO(emit_instantiate_object(emit, exp_self(unary)->info->type,
-    unary->td->array, GET_FLAG(unary->td, late)))
+    unary->td->array, 0))
   return emit_gc(emit, -SZ_INT);
 }
index f8edca49f918ac808fada8897cdbce3e5a89d854..9ffa89f5a3a9c87197a77234ee9f99ddb94ad472 100644 (file)
@@ -173,7 +173,6 @@ ANN Type check_exp_decl(const Env env, const Exp_Decl* decl) {
   if(!decl->td->xid)
     return no_xid(env, decl);
   if(decl->td->xid == insert_symbol("auto")) { // should be better
-    SET_FLAG(decl->td, late);
     CHECK_BO(scan1_exp(env, exp_self(decl)))
     CHECK_BO(scan2_exp(env, exp_self(decl)))
   }