Lichen

Change of templates/progops.c

900:c7eaa76e5b0f
templates/progops.c temporary-object-experiment
     1.1 --- a/templates/progops.c	Mon Feb 04 18:53:56 2019 +0100
     1.2 +++ b/templates/progops.c	Mon May 20 13:12:25 2019 +0200
     1.3 @@ -32,7 +32,8 @@
     1.4  {
     1.5      obj->table = table;
     1.6      obj->pos = __INSTANCEPOS;
     1.7 -    __store_via_object(obj, __class__, __ATTRVALUE(cls));
     1.8 +    obj->temporary = 0;
     1.9 +    __store_member(obj, __class__, __ATTRVALUE(cls));
    1.10  }
    1.11  
    1.12  __attr __new(const __table * table, __ref cls, size_t size, int immutable)
    1.13 @@ -81,7 +82,7 @@
    1.14  
    1.15      /* Store a reference to the data in the object's __data__ attribute. */
    1.16  
    1.17 -    __store_via_object(__VALUE(self), __data__, (__attr) {.seqvalue=data});
    1.18 +    __store_member(__VALUE(self), __data__, (__attr) {.seqvalue=data});
    1.19      __newdata_sequence(number, data, args);
    1.20      return self;
    1.21  }
    1.22 @@ -97,7 +98,7 @@
    1.23  
    1.24      /* Store a reference to the data in the object's __data__ attribute. */
    1.25  
    1.26 -    __store_via_object(__VALUE(self), __data__, (__attr) {.seqvalue=data});
    1.27 +    __store_member(__VALUE(self), __data__, (__attr) {.seqvalue=data});
    1.28      __newdata_sequence(number, data, args);
    1.29      return self;
    1.30  }