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



commit 5575ab01eeaa66b81fe60db949bfe1d79d830b58
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 1994e4853..a9f7a4ac7 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -2374,7 +2374,12 @@ public class Vala.GirParser : CodeVisitor {
                sym.external = true;
                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 ();
@@ -2391,9 +2396,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]