From: Luca Bruno Date: Sun, 24 Jul 2011 19:38:42 +0000 (+0200) Subject: girparser: Properly handle the c:symbol-prefix hint for lower_case_cprefix X-Git-Tag: 0.13.2~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=221a7f79754643bdfd0817749b9f63d745b87408;p=thirdparty%2Fvala.git girparser: Properly handle the c:symbol-prefix hint for lower_case_cprefix --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index e7c2ca65c..67d994198 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -573,7 +573,11 @@ public class Vala.GirParser : CodeVisitor { if (metadata.has_argument (ArgumentType.CPREFIX)) { return metadata.get_string (ArgumentType.CPREFIX); } - return "%s%s_".printf (parent.get_lower_case_cprefix (), Symbol.camel_case_to_lower_case (name)); + if (girdata != null && girdata["c:symbol-prefix"] != null) { + return "%s%s_".printf (parent.get_lower_case_cprefix (), girdata["c:symbol-prefix"]); + } else { + return "%s%s_".printf (parent.get_lower_case_cprefix (), Symbol.camel_case_to_lower_case (name)); + } } else { return symbol.get_lower_case_cprefix (); } @@ -860,6 +864,11 @@ public class Vala.GirParser : CodeVisitor { symbol.add_cheader_filename (filename); } } + + // lower_case_cprefix + if (symbol is Class) { + ((Class) symbol).set_lower_case_cprefix (get_lower_case_cprefix ()); + } } if (!(new_symbol && merged) && is_container (symbol)) { @@ -2207,9 +2216,6 @@ public class Vala.GirParser : CodeVisitor { if (cname != null) { cl.set_cname (cname); } - if (metadata.has_argument (ArgumentType.CPREFIX)) { - cl.set_lower_case_cprefix (metadata.get_string (ArgumentType.CPREFIX)); - } cl.is_abstract = reader.get_attribute ("abstract") == "1"; if (parent != null) {