[vala/0.48] girparser: Actually respect given cprefix metadata for enumerations



commit 48a2395d7ea8e49e3dfb11956dab7b5f7540dae8
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Wed Jun 17 16:58:56 2020 +0200

    girparser: Actually respect given cprefix metadata for enumerations

 vala/valagirparser.vala | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 16212d27d..ffdf31013 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -2382,7 +2382,12 @@ public class Vala.GirParser : CodeVisitor {
 
                sym.access = SymbolAccessibility.PUBLIC;
 
-               string common_prefix = null;
+               string? common_prefix = null;
+               bool explicit_prefix = false;
+               if (metadata.has_argument (ArgumentType.CPREFIX)) {
+                       sym.set_attribute_string ("CCode", "cprefix", metadata.get_string 
(ArgumentType.CPREFIX));
+                       explicit_prefix = true;
+               }
                bool has_member = false;
 
                next ();
@@ -2399,9 +2404,10 @@ public class Vala.GirParser : CodeVisitor {
                                has_member = true;
                                if (error_domain) {
                                        parse_error_member ();
-                                       calculate_common_prefix (ref common_prefix, old_current.get_cname ());
                                } else {
                                        parse_enumeration_member ();
+                               }
+                               if (!explicit_prefix) {
                                        calculate_common_prefix (ref common_prefix, old_current.get_cname ());
                                }
                        } else if (reader.name == "function") {


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