[valadoc] Api: remove SymbolAccessibility



commit b4aebc5ec8fc0f46eccbb6ca0e66b2aa6d3fc538
Author: Florian Brosch <flo brosch gmail com>
Date:   Wed Oct 28 20:02:59 2009 +0100

    Api: remove SymbolAccessibility
    Api: Fix null-pointer bug in EnumValue-signatures
    Api: Fix EnumValue and ErrorCode accessibility
    html-doclet: add EnumValue and ErrorCode to documentation
    html: List EnumValues and ErrorCodes the same way as other symbols

 src/doclets/htm/doclet.vala                 |    2 +
 src/libvaladoc/Makefile.am                  |    1 -
 src/libvaladoc/api/enumvalue.vala           |   38 +++++++++++++++++++++++---
 src/libvaladoc/api/errorcode.vala           |   24 +++++++++++++++++
 src/libvaladoc/api/symbol.vala              |   10 +++---
 src/libvaladoc/api/symbolaccessibility.vala |   35 ------------------------
 src/libvaladoc/html/basicdoclet.vala        |   29 +++-----------------
 7 files changed, 69 insertions(+), 70 deletions(-)
---
diff --git a/src/doclets/htm/doclet.vala b/src/doclets/htm/doclet.vala
index 4c4bc40..14cbf90 100755
--- a/src/doclets/htm/doclet.vala
+++ b/src/doclets/htm/doclet.vala
@@ -227,9 +227,11 @@ public class Valadoc.HtmlDoclet : Valadoc.Html.BasicDoclet {
 	}
 
 	public override void visit_error_code (ErrorCode item) {
+		process_node (item);
 	}
 
 	public override void visit_enum_value (Api.EnumValue item) {
+		process_node (item);
 	}
 
 	public override void visit_delegate (Delegate item) {
diff --git a/src/libvaladoc/Makefile.am b/src/libvaladoc/Makefile.am
index ca685a5..0e61768 100644
--- a/src/libvaladoc/Makefile.am
+++ b/src/libvaladoc/Makefile.am
@@ -60,7 +60,6 @@ libvaladoc_la_VALASOURCES = \
 	api/signaturebuilder.vala \
 	api/struct.vala \
 	api/symbol.vala \
-	api/symbolaccessibility.vala \
 	api/tree.vala \
 	api/typeparameter.vala \
 	api/typereference.vala \
diff --git a/src/libvaladoc/api/enumvalue.vala b/src/libvaladoc/api/enumvalue.vala
index 8cce511..57113b8 100644
--- a/src/libvaladoc/api/enumvalue.vala
+++ b/src/libvaladoc/api/enumvalue.vala
@@ -28,6 +28,30 @@ public class Valadoc.Api.EnumValue: Symbol {
 		base (symbol, parent);
 	}
 
+	public override bool is_public {
+		get {
+			return ((Enum)parent).is_public;
+		}
+	}
+
+	public override bool is_protected {
+		get {
+			return ((Enum)parent).is_protected;
+		}
+	}
+
+	public override bool is_internal {
+		get {
+			return ((Enum)parent).is_internal;
+		}
+	}
+
+	public override bool is_private {
+		get {
+			return ((Enum)parent).is_private;
+		}
+	}
+
 	protected override void process_comments (Settings settings, DocumentationParser parser) {
 		var source_comment = ((Vala.EnumValue) symbol).comment;
 		if (source_comment != null) {
@@ -48,11 +72,15 @@ public class Valadoc.Api.EnumValue: Symbol {
 	}
 
 	protected override Inline build_signature () {
-		return new SignatureBuilder ()
-			.append_symbol (this)
-			.append ("=")
-			.append (((Vala.EnumValue) symbol).value.to_string ())
-			.get ();
+		var builder = new SignatureBuilder ()
+				.append_symbol (this);
+
+		if (((Vala.EnumValue) symbol).value != null) {
+			builder.append ("=")
+				.append (((Vala.EnumValue) symbol).value.to_string ());
+		}
+
+		return builder.get ();
 	}
 }
 
diff --git a/src/libvaladoc/api/errorcode.vala b/src/libvaladoc/api/errorcode.vala
index dab600f..f6a4a79 100644
--- a/src/libvaladoc/api/errorcode.vala
+++ b/src/libvaladoc/api/errorcode.vala
@@ -28,6 +28,30 @@ public class Valadoc.Api.ErrorCode : TypeSymbol {
 		base (symbol, parent);
 	}
 
+	public override bool is_public {
+		get {
+			return ((ErrorDomain)parent).is_public;
+		}
+	}
+
+	public override bool is_protected {
+		get {
+			return ((ErrorDomain)parent).is_protected;
+		}
+	}
+
+	public override bool is_internal {
+		get {
+			return ((ErrorDomain)parent).is_internal;
+		}
+	}
+
+	public override bool is_private {
+		get {
+			return ((ErrorDomain)parent).is_private;
+		}
+	}
+
 	public string get_cname () {
 		return ((Vala.ErrorCode) symbol).get_cname ();
 	}
diff --git a/src/libvaladoc/api/symbol.vala b/src/libvaladoc/api/symbol.vala
index dbd1830..6ca4d76 100644
--- a/src/libvaladoc/api/symbol.vala
+++ b/src/libvaladoc/api/symbol.vala
@@ -22,7 +22,7 @@
 
 using Gee;
 
-public abstract class Valadoc.Api.Symbol : Node, SymbolAccessibility {
+public abstract class Valadoc.Api.Symbol : Node {
 
 	protected Vala.Symbol symbol { private set; get; }
 
@@ -65,25 +65,25 @@ public abstract class Valadoc.Api.Symbol : Node, SymbolAccessibility {
 		return true;
 	}
 
-	public bool is_public {
+	public virtual bool is_public {
 		get {
 			return symbol.access == Vala.SymbolAccessibility.PUBLIC;
 		}
 	}
 
-	public bool is_protected {
+	public virtual bool is_protected {
 		get {
 			return symbol.access == Vala.SymbolAccessibility.PROTECTED;
 		}
 	}
 
-	public bool is_internal {
+	public virtual bool is_internal {
 		get {
 			return symbol.access == Vala.SymbolAccessibility.INTERNAL;
 		}
 	}
 
-	public bool is_private {
+	public virtual bool is_private {
 		get {
 			return symbol.access == Vala.SymbolAccessibility.PRIVATE;
 		}
diff --git a/src/libvaladoc/html/basicdoclet.vala b/src/libvaladoc/html/basicdoclet.vala
index a523cb8..3553e35 100755
--- a/src/libvaladoc/html/basicdoclet.vala
+++ b/src/libvaladoc/html/basicdoclet.vala
@@ -299,7 +299,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 		       || node is Class
 		       || node is Struct
 		       || node is Enum
-		       || node is ErrorDomain;
+		       || node is Api.EnumValue
+		       || node is ErrorDomain
+		       || node is ErrorCode;
 	}
 
 	public void write_navi_packages_inline (Api.Tree tree) {
@@ -376,8 +378,8 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 				Api.NodeType.CONSTANT
 			})) {
 			writer.start_tag ("h2", {"class", css_title}).text ("Content:").end_tag ("h2");
-			write_children_table (node, Api.NodeType.ERROR_CODE, "Error codes");
-			write_children_table (node, Api.NodeType.ENUM_VALUE, "Enum values");
+			write_children (node, Api.NodeType.ERROR_CODE, "Error codes", node);
+			write_children (node, Api.NodeType.ENUM_VALUE, "Enum values", node);
 			write_children (node, Api.NodeType.CLASS, "Classes", node);
 			write_children (node, Api.NodeType.STRUCT, "Structs", node);
 			write_children (node, Api.NodeType.ENUM, "Enums", node);
@@ -488,27 +490,6 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 		}
 	}
 
-	private void write_children_table (Api.Node node, Api.NodeType type, string type_string) {
-		Gee.Collection<Api.Node> children = node.get_children_by_type (Api.NodeType.ENUM_VALUE);
-		if (children.size > 0) {
-			writer.start_tag ("h3", {"class", css_title}).text (type_string).text (":").end_tag ("h3");
-			writer.start_tag ("table", {"class", get_html_css_class (node)});
-			foreach (Api.Node child in children) {
-				writer.start_tag ("tr");
-				writer.start_tag ("td", {"class", get_html_css_class (child), "id", child.name});
-				writer.text (child.name);
-				writer.end_tag ("td");
-
-				writer.start_tag ("td");
-				this.write_documentation (child, node);
-				writer.end_tag ("td");
-
-				writer.end_tag ("tr");
-			}
-			writer.end_tag ("table");
-		}
-	}
-
 	protected void write_image_block (Api.Node element) {
 		if (!(element is Class || element is Interface || element is Struct)) {
 			return;



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