[vala/staging: 1/2] gtkmodule: Recurse inner classes of ObjectTypeSymbols




commit fbb560b78e5991e9d55d085ab47356b6ef672397
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Wed Feb 9 00:05:24 2022 +0100

    gtkmodule: Recurse inner classes of ObjectTypeSymbols

 codegen/valagtkmodule.vala | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/codegen/valagtkmodule.vala b/codegen/valagtkmodule.vala
index cf7d26b55..89355c1ee 100644
--- a/codegen/valagtkmodule.vala
+++ b/codegen/valagtkmodule.vala
@@ -79,13 +79,24 @@ public class Vala.GtkModule : GSignalModule {
                recurse_cclass_to_vala_map (context.root);
        }
 
-       private void recurse_cclass_to_vala_map (Namespace ns) {
-               foreach (var cl in ns.get_classes()) {
+       private void recurse_cclass_to_vala_map (Symbol sym) {
+               unowned List<Class> classes;
+               if (sym is Namespace) {
+                       foreach (var inner in ((Namespace) sym).get_namespaces()) {
+                               recurse_cclass_to_vala_map (inner);
+                       }
+                       classes = ((Namespace) sym).get_classes ();
+               } else if (sym is ObjectTypeSymbol) {
+                       classes = ((ObjectTypeSymbol) sym).get_classes ();
+               } else {
+                       return;
+               }
+               foreach (var cl in classes) {
                        if (!cl.is_compact) {
                                cclass_to_vala_map.set (get_ccode_name (cl), cl);
                        }
                }
-               foreach (var inner in ns.get_namespaces()) {
+               foreach (var inner in classes) {
                        recurse_cclass_to_vala_map (inner);
                }
        }


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