]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Accept children after generating type specific declarations
authorRico Tzschichholz <ricotz@ubuntu.com>
Tue, 1 Oct 2019 14:21:21 +0000 (16:21 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Tue, 1 Oct 2019 14:37:06 +0000 (16:37 +0200)
codegen/valaccodebasemodule.vala
codegen/valaccodedelegatemodule.vala
codegen/valagerrormodule.vala

index dcf5b916ca1410c6eb81b7cece6c0477fa0deb72..012c78081b6466d1bf1b568b5de07f32834ce851 100644 (file)
@@ -888,8 +888,6 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
        public override void visit_enum (Enum en) {
                push_line (en.source_reference);
 
-               en.accept_children (this);
-
                if (en.comment != null) {
                        cfile.add_type_member_definition (new CCodeComment (en.comment.content));
                }
@@ -903,6 +901,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        generate_enum_declaration (en, internal_header_file);
                }
 
+               en.accept_children (this);
+
                pop_line ();
        }
 
index b682081f7ae635cfa2ec3253d0b31fd70380ea72..35d5c4342dea80fb4437785fdb5e6badb0beb70c 100644 (file)
@@ -121,8 +121,6 @@ public class Vala.CCodeDelegateModule : CCodeArrayModule {
        }
 
        public override void visit_delegate (Delegate d) {
-               d.accept_children (this);
-
                generate_delegate_declaration (d, cfile);
 
                if (!d.is_internal_symbol ()) {
@@ -131,6 +129,8 @@ public class Vala.CCodeDelegateModule : CCodeArrayModule {
                if (!d.is_private_symbol ()) {
                        generate_delegate_declaration (d, internal_header_file);
                }
+
+               d.accept_children (this);
        }
 
        public override string get_delegate_target_cname (string delegate_cname) {
index d7bbf0c71d3601eba35bd43e1098a7d8e2d612d3..d54f0d9d12e0e574e9f309dda4230117f6e52f8d 100644 (file)
@@ -59,8 +59,6 @@ public class Vala.GErrorModule : CCodeDelegateModule {
        }
 
        public override void visit_error_domain (ErrorDomain edomain) {
-               edomain.accept_children (this);
-
                if (edomain.comment != null) {
                        cfile.add_type_definition (new CCodeComment (edomain.comment.content));
                }
@@ -74,6 +72,8 @@ public class Vala.GErrorModule : CCodeDelegateModule {
                        generate_error_domain_declaration (edomain, internal_header_file);
                }
 
+               edomain.accept_children (this);
+
                string quark_fun_name = get_ccode_lower_case_prefix (edomain) + "quark";
 
                var cquark_fun = new CCodeFunction (quark_fun_name, get_ccode_name (gquark_type.type_symbol));