]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Emit left-handed side of assignment when it's a field or parameter access
authorLuca Bruno <lucabru@src.gnome.org>
Wed, 15 Jun 2011 10:27:23 +0000 (12:27 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 6 Jul 2011 20:32:26 +0000 (22:32 +0200)
vala/valaassignment.vala

index 342dbb43a67c5e9dab39e1e3adf6007149004a35..c7af099aff831312b9a26af9f671170f034fafdb 100644 (file)
@@ -504,14 +504,14 @@ public class Vala.Assignment : Expression {
                                return;
                        }
 
-                       if (field != null) {
+                       if (instance && ma.inner != null && property != null) {
+                               ma.inner.emit (codegen);
+                       } else {
                                // always process full lvalue
                                // current codegen depends on it
                                // should be removed when moving codegen from
-                               // visit_assignment to emit_store_field
+                               // visit_assignment to emit_store_field/local/param
                                ma.emit (codegen);
-                       } else if (instance && ma.inner != null) {
-                               ma.inner.emit (codegen);
                        }
                } else if (ea != null) {
                        // always process full lvalue