From: Luca Bruno Date: Thu, 7 Jul 2011 20:52:39 +0000 (+0200) Subject: girparser: Add errordomain metadata X-Git-Tag: 0.13.2~167 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee2ac43bf36cb1aa8b3b6fb60a5bf42ff50bdf94;p=thirdparty%2Fvala.git girparser: Add errordomain metadata --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index b64f2ddf4..9b014e14e 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -67,7 +67,8 @@ public class Vala.GirParser : CodeVisitor { ARRAY_LENGTH_FIELD, SENTINEL, CLOSURE, - CPREFIX; + CPREFIX, + ERRORDOMAIN; public static ArgumentType? from_string (string name) { var enum_class = (EnumClass) typeof(ArgumentType).class_ref (); @@ -1664,10 +1665,18 @@ public class Vala.GirParser : CodeVisitor { if (reader.name == "alias") { parse_alias (); } else if (reader.name == "enumeration") { - if (reader.get_attribute ("glib:error-quark") != null) { - parse_error_domain (); + if (metadata.has_argument (ArgumentType.ERRORDOMAIN)) { + if (metadata.get_bool (ArgumentType.ERRORDOMAIN)) { + parse_error_domain (); + } else { + parse_enumeration (); + } } else { - parse_enumeration (); + if (reader.get_attribute ("glib:error-quark") != null) { + parse_error_domain (); + } else { + parse_enumeration (); + } } } else if (reader.name == "bitfield") { parse_bitfield ();