[vala/wip/transform: 791/793] Collect error_types on demand to allow transformations (2)



commit fc468afda5a20a6b8b9ab93bf9cc9585797080e0
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Tue Aug 22 23:35:08 2017 +0200

    Collect error_types on demand to allow transformations (2)

 valadoc/symbolresolver.vala |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/valadoc/symbolresolver.vala b/valadoc/symbolresolver.vala
index b60de16..49f26b0 100644
--- a/valadoc/symbolresolver.vala
+++ b/valadoc/symbolresolver.vala
@@ -37,8 +37,10 @@ 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) {
+       private void resolve_thrown_list (Symbol symbol, Vala.Symbol vala_symbol) {
+               var error_types = new Vala.ArrayList<Vala.DataType> ();
+               vala_symbol.get_error_types (error_types);
+               foreach (Vala.DataType type in error_types) {
                        Vala.ErrorDomain vala_edom = (Vala.ErrorDomain) type.data_type;
                        Symbol? edom = symbol_map.get (vala_edom);
                        symbol.add_child (edom ?? glib_error);
@@ -216,7 +218,7 @@ public class Valadoc.Drivers.SymbolResolver : Visitor {
 
                resolve_type_reference (item.return_type);
 
-               resolve_thrown_list (item, vala_delegate.get_error_types ());
+               resolve_thrown_list (item, vala_delegate);
 
                item.accept_all_children (this, false);
        }
@@ -248,7 +250,7 @@ public class Valadoc.Drivers.SymbolResolver : Visitor {
                        item.base_method = (Method?) resolve (base_vala_method);
                }
 
-               resolve_thrown_list (item, vala_method.get_error_types ());
+               resolve_thrown_list (item, vala_method);
 
                resolve_type_reference (item.return_type);
 


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