[vala] Fix use of generics in base expressions inside constructors
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] Fix use of generics in base expressions inside constructors
- Date: Thu, 27 Aug 2009 08:36:38 +0000 (UTC)
commit d234cb597bcd1e0e8232b15d0099c6479ca3ae11
Author: Didier 'Ptitjes <ptitjes free fr>
Date: Wed Aug 26 12:26:12 2009 +0200
Fix use of generics in base expressions inside constructors
Fixes bug 593137.
codegen/valaccodebasemodule.vala | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index a31b0c7..22f80af 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -1876,7 +1876,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
private CCodeExpression get_type_id_expression (DataType type, bool is_chainup = false) {
if (type is GenericType) {
string var_name = "%s_type".printf (type.type_parameter.name.down ());
- if (is_in_generic_type (type) && !is_chainup) {
+ if (is_in_generic_type (type) && !is_chainup && !in_creation_method) {
return new CCodeMemberAccess.pointer (new CCodeMemberAccess.pointer (new CCodeIdentifier ("self"), "priv"), var_name);
} else {
return new CCodeIdentifier (var_name);
@@ -1926,7 +1926,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
return new CCodeIdentifier (dup_function);
} else if (type.type_parameter != null) {
string func_name = "%s_dup_func".printf (type.type_parameter.name.down ());
- if (is_in_generic_type (type) && !is_chainup) {
+ if (is_in_generic_type (type) && !is_chainup && !in_creation_method) {
return new CCodeMemberAccess.pointer (new CCodeMemberAccess.pointer (new CCodeIdentifier ("self"), "priv"), func_name);
} else {
return new CCodeIdentifier (func_name);
@@ -2093,7 +2093,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
return new CCodeIdentifier (unref_function);
} else if (type.type_parameter != null && current_type_symbol is Class) {
string func_name = "%s_destroy_func".printf (type.type_parameter.name.down ());
- if (is_in_generic_type (type) && !is_chainup) {
+ if (is_in_generic_type (type) && !is_chainup && !in_creation_method) {
return new CCodeMemberAccess.pointer (new CCodeMemberAccess.pointer (new CCodeIdentifier ("self"), "priv"), func_name);
} else {
return new CCodeIdentifier (func_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]