]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libvaladoc/ctyperesolver: Resolve unbrowsable nodes
authorFlorian Brosch <flo.brosch@gmail.com>
Tue, 21 Sep 2010 22:49:23 +0000 (00:49 +0200)
committerFlorian Brosch <flo.brosch@gmail.com>
Tue, 21 Sep 2010 22:49:23 +0000 (00:49 +0200)
src/libvaladoc/api/node.vala
src/libvaladoc/ctyperesolver.vala

index 90aedfba43f3775da0f8e052f5a9506961a31f7e..d044895bd23f6ec32d4481992e2f6014d9d3e8ef 100644 (file)
@@ -176,27 +176,27 @@ public abstract class Valadoc.Api.Node : Item, Browsable, Documentation, Compara
                return children;
        }
 
-       public void accept_children_by_type (NodeType type, Visitor visitor) {
+       public void accept_children_by_type (NodeType type, Visitor visitor, bool filtered = true) {
                Gee.List<Node> all_children = per_type_children.get (type);
                if (all_children != null) {
                        foreach (Node node in all_children) {
-                               if (node.do_document) {
+                               if (node.do_document || !filtered) {
                                        node.accept (visitor);
                                }
                        }
                }
        }
 
-       public void accept_children (NodeType[] types, Visitor visitor) {
+       public void accept_children (NodeType[] types, Visitor visitor, bool filtered = true) {
                foreach (NodeType type in types) {
-                       accept_children_by_type (type, visitor);
+                       accept_children_by_type (type, visitor, filtered);
                }
        }
 
-       public void accept_all_children (Visitor visitor) {
+       public void accept_all_children (Visitor visitor, bool filtered = true) {
                foreach (Gee.List<Node> children in per_type_children.values) {
                        foreach (Node node in children) {
-                               if (node.do_document) {
+                               if (node.do_document || !filtered) {
                                        node.accept (visitor);
                                }
                        }
index b9641bfd8dfc6b9d79a6b17d5cb7ed0f1c01d056..6a90167f3d45daa47432eec15f7367d79c46f345 100644 (file)
@@ -64,26 +64,26 @@ public class Valadoc.CTypeResolver : Visitor {
        }
 
        public override void visit_package (Package item) {
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_namespace (Namespace item) {
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_interface (Interface item) {
                register_symbol (item.get_cname (), item);
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_class (Class item) {
                register_symbol (item.get_cname (), item);
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_struct (Struct item) {
                register_symbol (item.get_cname (), item);
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_property (Property item) {
@@ -125,7 +125,7 @@ public class Valadoc.CTypeResolver : Visitor {
 
        public override void visit_error_domain (ErrorDomain item) {
                register_symbol (item.get_cname (), item);
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_error_code (ErrorCode item) {
@@ -134,7 +134,7 @@ public class Valadoc.CTypeResolver : Visitor {
 
        public override void visit_enum (Api.Enum item) {
                register_symbol (item.get_cname (), item);
-               item.accept_all_children (this);
+               item.accept_all_children (this, false);
        }
 
        public override void visit_enum_value (Api.EnumValue item) {