From: Luca Bruno Date: Sun, 6 Mar 2011 17:21:48 +0000 (+0100) Subject: codegen: Drop MemberAccess creation for field finalization X-Git-Tag: 0.11.7~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ad5bdfd731cccfdbdc4e89d284bbc7d071972bd;p=thirdparty%2Fvala.git codegen: Drop MemberAccess creation for field finalization --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 3cffed3e4..5a22f4455 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -995,19 +995,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { if (requires_destroy (f.variable_type) && instance_finalize_context != null) { push_context (instance_finalize_context); - - var this_access = new MemberAccess.simple ("this"); - this_access.value_type = get_data_type_for_symbol ((TypeSymbol) f.parent_symbol); - - var field_st = f.parent_symbol as Struct; - if (field_st != null && !field_st.is_simple_type ()) { - set_cvalue (this_access, new CCodeIdentifier ("(*self)")); - } else { - set_cvalue (this_access, new CCodeIdentifier ("self")); - } - - ccode.add_expression (destroy_field (f, this_access.target_value)); - + ccode.add_expression (destroy_field (f, load_this_parameter ((TypeSymbol) f.parent_symbol))); pop_context (); } } else if (f.binding == MemberBinding.CLASS) {