From: Florian Brosch Date: Wed, 6 Feb 2013 23:26:12 +0000 (+0100) Subject: 0.20.x: Fix TypeParameter.base X-Git-Tag: 0.37.1~3^2~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ec73ad2cf0749f5e503787c63f160f3cea2964c;p=thirdparty%2Fvala.git 0.20.x: Fix TypeParameter.base --- diff --git a/src/driver/0.20.x/symbolresolver.vala b/src/driver/0.20.x/symbolresolver.vala index f548f735d..4adc06b1a 100644 --- a/src/driver/0.20.x/symbolresolver.vala +++ b/src/driver/0.20.x/symbolresolver.vala @@ -83,6 +83,8 @@ public class Valadoc.Drivers.SymbolResolver : Visitor { } } else if (vtyperef is Vala.DelegateType) { reference.data_type = resolve (((Vala.DelegateType) vtyperef).delegate_symbol); + } else if (vtyperef is Vala.GenericType) { + reference.data_type = resolve (((Vala.GenericType) vtyperef).type_parameter); } else if (vtyperef.data_type != null) { reference.data_type = resolve (vtyperef.data_type); } diff --git a/src/driver/0.20.x/treebuilder.vala b/src/driver/0.20.x/treebuilder.vala index cc135d444..343527a66 100644 --- a/src/driver/0.20.x/treebuilder.vala +++ b/src/driver/0.20.x/treebuilder.vala @@ -170,8 +170,8 @@ public class Valadoc.Drivers.TreeBuilder : Vala.CodeVisitor { type_ref.data_type = create_pointer ((Vala.PointerType) vtyperef, type_ref, caller); } else if (vtyperef is Vala.ArrayType) { type_ref.data_type = create_array ((Vala.ArrayType) vtyperef, type_ref, caller); - } else if (vtyperef is Vala.GenericType) { - type_ref.data_type = new TypeParameter (caller, caller.get_source_file (), ((Vala.GenericType) vtyperef).type_parameter.name, vtyperef); + //} else if (vtyperef is Vala.GenericType) { + // type_ref.data_type = new TypeParameter (caller, caller.get_source_file (), ((Vala.GenericType) vtyperef).type_parameter.name, vtyperef); } // type parameters: @@ -1206,6 +1206,7 @@ public class Valadoc.Drivers.TreeBuilder : Vala.CodeVisitor { SourceFile? file = get_source_file (element); Symbol node = new TypeParameter (parent, file, element.name, element); + symbol_map.set (element, node); parent.add_child (node); process_children (node, element);