[valadoc] driver: 0.14: Add throws declaration to signatures



commit 05ce7aa0c12a8478ccb34579c8c3d8319af8b877
Author: Florian Brosch <flo brosch gmail com>
Date:   Thu Nov 3 02:49:51 2011 +0100

    driver: 0.14: Add throws declaration to signatures

 src/driver/0.14.x/symbolresolver.vala |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/src/driver/0.14.x/symbolresolver.vala b/src/driver/0.14.x/symbolresolver.vala
index ad47b3b..bd3163f 100644
--- a/src/driver/0.14.x/symbolresolver.vala
+++ b/src/driver/0.14.x/symbolresolver.vala
@@ -38,6 +38,14 @@ public class Valadoc.Drivers.SymbolResolver : Visitor {
 		return symbol_map.get (symbol);
 	}
 
+	private void resolve_thrown_list (Symbol symbol, Vala.List<Vala.DataType> types) {
+		foreach (Vala.DataType type in types) {
+			Vala.ErrorDomain vala_edom = (Vala.ErrorDomain) type.data_type;
+			Symbol? edom = symbol_map.get (vala_edom);
+			symbol.add_child (edom ?? glib_error);
+		}
+	}
+
 	private void resolve_array_type_references (Api.Array ptr) {
 		Api.Item data_type = ptr.data_type;
 		if (data_type == null) {
@@ -203,8 +211,12 @@ public class Valadoc.Drivers.SymbolResolver : Visitor {
 	 * { inheritDoc}
 	 */
 	public override void visit_delegate (Delegate item) {
+		Vala.Delegate vala_delegate = item.data as Vala.Delegate;
+
 		resolve_type_reference (item.return_type);
 
+		resolve_thrown_list (item, vala_delegate.get_error_types ());
+
 		item.accept_all_children (this, false);
 	}
 
@@ -235,6 +247,8 @@ public class Valadoc.Drivers.SymbolResolver : Visitor {
 			item.base_method = (Method?) resolve (base_vala_method);
 		}
 
+		resolve_thrown_list (item, vala_method.get_error_types ());
+
 		resolve_type_reference (item.return_type);
 
 		item.accept_all_children (this, false);



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