nitunit: keeps track of the source directory of the tested module.
[nit.git] / src / transform.nit
index af19ef6..bf4b992 100644 (file)
@@ -128,6 +128,13 @@ redef class AOrExpr
        end
 end
 
+redef class AImpliesExpr
+       redef fun accept_transform_visitor(v)
+       do
+               # TODO
+       end
+end
+
 redef class AAndExpr
        # `x and y` is replaced with `if x then y else x`
        redef fun accept_transform_visitor(v)
@@ -218,9 +225,7 @@ redef class ACrangeExpr
        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
 
@@ -229,9 +234,7 @@ redef class AOrangeExpr
        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
 
@@ -282,7 +285,8 @@ redef class AVarReassignExpr
        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)