abstract_compiler: prefers implementing expr than stmt in assignments
authorJean Privat <jean@pryen.org>
Fri, 17 Oct 2014 02:57:07 +0000 (22:57 -0400)
committerJean Privat <jean@pryen.org>
Fri, 17 Oct 2014 02:57:07 +0000 (22:57 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/compiler/abstract_compiler.nit

index 6175356..3a29331 100644 (file)
@@ -2439,12 +2439,6 @@ redef class AVarExpr
 end
 
 redef class AVarAssignExpr
-       redef fun stmt(v)
-       do
-               var variable = self.variable.as(not null)
-               var i = v.expr(self.n_value, variable.declared_type)
-               v.assign(v.variable(variable), i)
-       end
        redef fun expr(v)
        do
                var variable = self.variable.as(not null)
@@ -2942,12 +2936,13 @@ redef class AAttrExpr
 end
 
 redef class AAttrAssignExpr
-       redef fun stmt(v)
+       redef fun expr(v)
        do
                var recv = v.expr(self.n_expr, null)
                var i = v.expr(self.n_value, null)
                var mproperty = self.mproperty.as(not null)
                v.write_attribute(mproperty, recv, i)
+               return i
        end
 end