From: Luca Bruno Date: Mon, 27 Jun 2011 18:17:12 +0000 (+0200) Subject: girparser: Add cprefix metadata argument for classes X-Git-Tag: 0.13.1~22 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=28c8bf3cb12a6442acfd7f59a9a4764fffad0cf9;p=thirdparty%2Fvala.git girparser: Add cprefix metadata argument for classes --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 567d9beef..b64f2ddf4 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -66,7 +66,8 @@ public class Vala.GirParser : CodeVisitor { PRINTF_FORMAT, ARRAY_LENGTH_FIELD, SENTINEL, - CLOSURE; + CLOSURE, + CPREFIX; public static ArgumentType? from_string (string name) { var enum_class = (EnumClass) typeof(ArgumentType).class_ref (); @@ -565,6 +566,9 @@ public class Vala.GirParser : CodeVisitor { return ""; } if (new_symbol) { + 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)); } else { return symbol.get_lower_case_cprefix (); @@ -2193,6 +2197,9 @@ 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)); + } if (parent != null) { cl.add_base_type (parse_type_from_gir_name (parent));