[vala] codegen: Fix definition of property getter for SimpleType structs
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] codegen: Fix definition of property getter for SimpleType structs
- Date: Tue, 30 Aug 2011 08:21:04 +0000 (UTC)
commit 7e20e794095269ccef3aa8186a5dff7d686b80bc
Author: Luca Bruno <lucabru src gnome org>
Date: Fri Jun 24 01:11:51 2011 -0400
codegen: Fix definition of property getter for SimpleType structs
Based on patch by Nathan Summers.
Partially fixes bug 657346.
codegen/valaccodebasemodule.vala | 4 ++--
codegen/valaccodememberaccessmodule.vala | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 3e5c125..c9d1417 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -1362,7 +1362,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
var this_type = get_data_type_for_symbol (t);
generate_type_declaration (this_type, decl_space);
var cselfparam = new CCodeParameter ("self", get_ccode_name (this_type));
- if (t is Struct) {
+ if (t is Struct && !((Struct) t).is_simple_type ()) {
cselfparam.type_name += "*";
}
@@ -1450,7 +1450,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
var this_type = get_data_type_for_symbol (t);
var cselfparam = new CCodeParameter ("self", get_ccode_name (this_type));
- if (t is Struct) {
+ if (t is Struct && !((Struct) t).is_simple_type ()) {
cselfparam.type_name += "*";
}
CCodeParameter cvalueparam;
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala
index 2978ce8..349a96e 100644
--- a/codegen/valaccodememberaccessmodule.vala
+++ b/codegen/valaccodememberaccessmodule.vala
@@ -209,7 +209,7 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
var ccall = new CCodeFunctionCall (new CCodeIdentifier (getter_cname));
if (prop.binding == MemberBinding.INSTANCE) {
- if (prop.parent_symbol is Struct) {
+ if (prop.parent_symbol is Struct && !((Struct) prop.parent_symbol).is_simple_type ()) {
// we need to pass struct instance by reference
var instance = expr.inner.target_value;
if (!get_lvalue (instance)) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]