[vala/emit-let: 2/2] codegen: Drop MemberAccess creation in struct destroy function
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/emit-let: 2/2] codegen: Drop MemberAccess creation in struct destroy function
- Date: Wed, 16 Mar 2011 10:46:23 +0000 (UTC)
commit c9f86b27edc8ed5187c9203cebef8401f578c6df
Author: Luca Bruno <lucabru src gnome org>
Date: Wed Mar 16 11:35:16 2011 +0100
codegen: Drop MemberAccess creation in struct destroy function
codegen/valaccodebasemodule.vala | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index ee82e49..956fd79 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -5732,21 +5732,20 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
function.modifiers = CCodeModifiers.STATIC;
function.add_parameter (new CCodeParameter ("self", st.get_cname () + "*"));
+ push_context (new EmitContext ());
push_function (function);
+ var this_value = load_this_parameter (st);
foreach (Field f in st.get_fields ()) {
if (f.binding == MemberBinding.INSTANCE) {
if (requires_destroy (f.variable_type)) {
- var this_access = new MemberAccess.simple ("this");
- this_access.value_type = get_data_type_for_symbol ((TypeSymbol) f.parent_symbol);
- set_cvalue (this_access, new CCodeIdentifier ("(*self)"));
-
- ccode.add_expression (destroy_field (f, this_access.target_value));
+ ccode.add_expression (destroy_field (f, this_value));
}
}
}
pop_function ();
+ pop_context ();
cfile.add_function_declaration (function);
cfile.add_function (function);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]