[valadoc] Fix namespace resolution



commit 4584f113c5c3c480fcd15507ac474a16f0412aa2
Author: Didier "Ptitjes <ptitjes free fr>
Date:   Tue Oct 20 03:13:29 2009 +0200

    Fix namespace resolution

 src/doclets/htm/doclet/doclet.vala         |    2 +-
 src/doclets/htmlhelpers/doclet/doclet.vala |   42 ++++++++++++++-------------
 src/libvaladoc/api/package.vala            |    2 +-
 src/libvaladoc/api/tree.vala               |    6 ----
 4 files changed, 24 insertions(+), 28 deletions(-)
---
diff --git a/src/doclets/htm/doclet/doclet.vala b/src/doclets/htm/doclet/doclet.vala
index d6e252c..de41e1d 100755
--- a/src/doclets/htm/doclet/doclet.vala
+++ b/src/doclets/htm/doclet/doclet.vala
@@ -148,7 +148,7 @@ public class Valadoc.HtmlDoclet : Valadoc.Html.BasicDoclet {
 		writer = new MarkupWriter (file);
 		_renderer.set_writer (writer);
 		write_file_header (this.css_path, pkg_name);
-		write_navi_package (package, package);
+		write_navi_package (package);
 		write_package_content (package, package);
 		write_file_footer ();
 		file = null;
diff --git a/src/doclets/htmlhelpers/doclet/doclet.vala b/src/doclets/htmlhelpers/doclet/doclet.vala
index 097aa9d..98f29cb 100755
--- a/src/doclets/htmlhelpers/doclet/doclet.vala
+++ b/src/doclets/htmlhelpers/doclet/doclet.vala
@@ -50,8 +50,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 		if (full_name == true && element is Namespace) {
 			string tmp = element.full_name();
 			name = (tmp == null)? "Global Namespace" : tmp;
-		}
-		else {
+		} else {
 			string tmp = element.name;
 			name = (tmp == null)? "Global Namespace" : tmp;
 		}
@@ -94,7 +93,6 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 	}
 
 	protected void write_navi_top_entry (Api.Node element, Api.Node? parent) {
-		string name = (element.name == null)? "Global Namespace" : element.name;
 		string style = get_html_css_class (element);
 
 		writer.start_tag ("ul", css_navi);
@@ -144,35 +142,39 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 		}
 	}
 
-	protected void write_navi_package (Package efile, Api.Node? pos) {
+	protected void write_navi_package (Package package) {
 		Gee.ArrayList<Namespace> ns_list = new Gee.ArrayList<Namespace> ();
-		this.fetch_subnamespace_names (efile, ns_list);
-
+		this.fetch_subnamespace_names (package, ns_list);
 
 		writer.start_tag ("div", css_style_navigation);
-
-
-		if (pos == null)
-			this.write_top_elements (efile, null);
-		else if (pos == efile)
-			this.write_top_elements (efile, efile);
-		else
-			this.write_top_elements ((Api.Node)pos.parent.parent, pos);
-
+		write_top_elements (package, package);
 		writer.start_tag ("ul", css_navi);
 
-
 		Namespace globals = null;
 
 		foreach (Namespace ns in ns_list) {
-			if (ns.name == null)
+			if (ns.name == null) {
 				globals = ns;
-			else
-				this.write_navi_entry (ns, pos, css_namespace, true, true);
+			} else {
+				this.write_navi_entry (ns, package, css_namespace, true, true);
+			}
 		}
 
 		if (globals != null) {
-			write_navi_children (globals, Api.NodeType.NAMESPACE, pos);
+			write_navi_children (globals, Api.NodeType.ERROR_CODE, package);
+			write_navi_children (globals, Api.NodeType.ENUM_VALUE, package);
+			write_navi_children (globals, Api.NodeType.ENUM, package);
+			write_navi_children (globals, Api.NodeType.INTERFACE, package);
+			write_navi_children (globals, Api.NodeType.CLASS, package);
+			write_navi_children (globals, Api.NodeType.STRUCT, package);
+			write_navi_children (globals, Api.NodeType.CREATION_METHOD, package);
+			write_navi_children (globals, Api.NodeType.STATIC_METHOD, package);
+			write_navi_children (globals, Api.NodeType.CONSTANT, package);
+			write_navi_children (globals, Api.NodeType.PROPERTY, package);
+			write_navi_children (globals, Api.NodeType.DELEGATE, package);
+			write_navi_children (globals, Api.NodeType.METHOD, package);
+			write_navi_children (globals, Api.NodeType.SIGNAL, package);
+			write_navi_children (globals, Api.NodeType.FIELD, package);
 		}
 
 		writer.end_tag ("ul");
diff --git a/src/libvaladoc/api/package.vala b/src/libvaladoc/api/package.vala
index f86efab..dce75e5 100644
--- a/src/libvaladoc/api/package.vala
+++ b/src/libvaladoc/api/package.vala
@@ -126,7 +126,7 @@ public class Valadoc.Api.Package : Node {
 			ns = (Namespace) get_namespace (root, parent_namespace_symbol);
 			if (ns != null) {
 				var new_namespace = new Namespace ((Vala.Namespace) namespace_symbol, ns);
-				add_child (new_namespace);
+				ns.add_child (new_namespace);
 				return new_namespace;
 			}
 		}
diff --git a/src/libvaladoc/api/tree.vala b/src/libvaladoc/api/tree.vala
index e80829e..c545a91 100644
--- a/src/libvaladoc/api/tree.vala
+++ b/src/libvaladoc/api/tree.vala
@@ -355,12 +355,6 @@ public class Valadoc.Api.Tree {
 			return null;
 		}
 
-		if (params.size >= 2) {
-			if (params.get(1) is Vala.Namespace) {
-				params.remove_at (0);
-			}
-		}
-
 		Api.Node? node = package;
 		foreach (Vala.Symbol a_symbol in params) {
 			node = node.find_by_symbol (a_symbol);



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