]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Drop MemberAccess creation for disposing of 'this' in block data
authorLuca Bruno <lucabru@src.gnome.org>
Wed, 16 Mar 2011 12:02:05 +0000 (13:02 +0100)
committerLuca Bruno <lucabru@src.gnome.org>
Tue, 5 Apr 2011 21:02:37 +0000 (23:02 +0200)
codegen/valaccodebasemodule.vala

index aab8d65b9ff4ce6377ecb52e4344417a0cf09e3b..9d9c3f9e7e69a49943242ee844263327d8b3052b 100644 (file)
@@ -1854,9 +1854,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        } else {
                                if (in_constructor || (current_method != null && current_method.binding == MemberBinding.INSTANCE) ||
                                           (current_property_accessor != null && current_property_accessor.prop.binding == MemberBinding.INSTANCE)) {
-                                       var ma = new MemberAccess.simple ("this");
-                                       ma.symbol_reference = current_class;
-                                       ccode.add_expression (get_unref_expression (new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data%d_".printf (block_id)), "self"), new ObjectType (current_class), ma));
+                                       var this_value = new GLibValue (new ObjectType (current_class), new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data%d_".printf (block_id)), "self"));
+                                       ccode.add_expression (destroy_value (this_value));
                                }
                        }