[vala] dova: Fix nested generics



commit 2b0838cad45ba8873a6ecf61c7a51c017085a543
Author: Jürg Billeter <j bitron ch>
Date:   Fri Jul 9 16:35:35 2010 +0200

    dova: Fix nested generics

 codegen/valadovabasemodule.vala |   12 +-----------
 1 files changed, 1 insertions(+), 11 deletions(-)
---
diff --git a/codegen/valadovabasemodule.vala b/codegen/valadovabasemodule.vala
index 5961d6e..49a7759 100644
--- a/codegen/valadovabasemodule.vala
+++ b/codegen/valadovabasemodule.vala
@@ -1763,17 +1763,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
 
 	public void add_generic_type_arguments (CCodeFunctionCall ccall, List<DataType> type_args, CodeNode expr, bool is_chainup = false) {
 		foreach (var type_arg in type_args) {
-			if (type_arg is GenericType) {
-				var generic_type = (GenericType) type_arg;
-				string var_name = "%s_type".printf (generic_type.type_parameter.name.down ());
-				if (is_in_generic_type (type_arg) && !is_chainup) {
-					ccall.add_argument (new CCodeMemberAccess.pointer (get_type_private_from_type ((ObjectTypeSymbol) generic_type.type_parameter.parent_symbol, new CCodeMemberAccess.pointer (new CCodeIdentifier ("this"), "type")), var_name));
-				} else {
-					ccall.add_argument (new CCodeIdentifier (var_name));
-				}
-			} else {
-				ccall.add_argument (new CCodeFunctionCall (new CCodeIdentifier ("%s_type_get".printf (type_arg.data_type.get_lower_case_cname ()))));
-			}
+			ccall.add_argument (get_type_id_expression (type_arg, is_chainup));
 		}
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]