modelize: rely on `AAttrPropdef::mreadpropdef` to be the main property
[nit.git] / src / interpreter / naive_interpreter.nit
index 3626d33..53f2f41 100644 (file)
@@ -1245,13 +1245,13 @@ redef class AAttrPropdef
        do
                if is_lazy then return
                if has_value then
-                       var f = v.new_frame(self, mpropdef.as(not null), [recv])
+                       var f = v.new_frame(self, mreadpropdef.as(not null), [recv])
                        evaluate_expr(v, recv, f)
                        return
                end
                var mpropdef = self.mpropdef
                if mpropdef == null then return
-               var mtype = mpropdef.static_mtype.as(not null)
+               var mtype = self.mtype.as(not null)
                mtype = mtype.anchor_to(v.mainmodule, recv.mtype.as(MClassType))
                if mtype isa MNullableType then
                        v.write_attribute(self.mpropdef.mproperty, recv, v.null_instance)
@@ -1638,6 +1638,13 @@ redef class AIntExpr
        end
 end
 
+redef class AByteExpr
+       redef fun expr(v)
+       do
+               return v.byte_instance(self.value.as(not null))
+       end
+end
+
 redef class AFloatExpr
        redef fun expr(v)
        do