]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
ccode: Allow to add defines in a special section
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 20 May 2021 09:00:37 +0000 (11:00 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 20 May 2021 09:59:06 +0000 (11:59 +0200)
ccode/valaccodefile.vala

index 629d2d19802f83ef2269f3725fe8a837937e4b28..f61da07dfa1039868156bfdf87012613cadeace6 100644 (file)
@@ -32,6 +32,7 @@ public class Vala.CCodeFile {
        Set<string> includes = new HashSet<string> (str_hash, str_equal);
        CCodeFragment comments = new CCodeFragment ();
        CCodeFragment feature_test_macros = new CCodeFragment ();
+       CCodeFragment define_directives = new CCodeFragment ();
        CCodeFragment include_directives = new CCodeFragment ();
        CCodeFragment type_declaration = new CCodeFragment ();
        CCodeFragment type_definition = new CCodeFragment ();
@@ -70,6 +71,10 @@ public class Vala.CCodeFile {
                }
        }
 
+       public void add_define (CCodeNode node) {
+               define_directives.append (node);
+       }
+
        public void add_type_declaration (CCodeNode node) {
                type_declaration.append (node);
        }
@@ -161,6 +166,8 @@ public class Vala.CCodeFile {
                        writer.write_newline ();
                        include_directives.write (writer);
                        writer.write_newline ();
+                       define_directives.write (writer);
+                       writer.write_newline ();
                        type_declaration.write_combined (writer);
                        writer.write_newline ();
                        type_definition.write_combined (writer);
@@ -186,6 +193,8 @@ public class Vala.CCodeFile {
                                once.append (new CCodeNewline ());
                        }
 
+                       once.append (new CCodeNewline ());
+                       once.append (define_directives);
                        once.append (new CCodeNewline ());
                        once.append (type_declaration);
                        once.append (new CCodeNewline ());