redef fun accept_transform_visitor(v)
do
var mtype = self.mtype.as(MClassType)
- var meth = v.get_method(self, "init", mtype.mclass)
-
- replace_with(v.builder.make_new(mtype, meth, [n_expr, n_expr2]))
+ replace_with(v.builder.make_new(mtype, init_callsite.mproperty, [n_expr, n_expr2]))
end
end
redef fun accept_transform_visitor(v)
do
var mtype = self.mtype.as(MClassType)
- var meth = v.get_method(self, "without_last", mtype.mclass)
-
- replace_with(v.builder.make_new(mtype, meth, [n_expr, n_expr2]))
+ replace_with(v.builder.make_new(mtype, init_callsite.mproperty, [n_expr, n_expr2]))
end
end
do
var variable = self.variable.as(not null)
- var nread = v.builder.make_var_read(variable)
+ var nread = v.builder.make_var_read(variable, read_type.as(not null))
+
var nnewvalue = v.builder.make_call(nread, reassign_callsite.mproperty, [n_value])
var nwrite = v.builder.make_var_assign(variable, nnewvalue)