]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girparser: Add sentinel metadata argument
authorLuca Bruno <lucabru@src.gnome.org>
Wed, 25 May 2011 16:35:08 +0000 (18:35 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 25 May 2011 16:35:08 +0000 (18:35 +0200)
vala/valagirparser.vala

index 41351d1f743bf8d9874e5946479c4a60162e3096..3eb389529bcc382ad7da8a5b002e6686b2adaad7 100644 (file)
@@ -64,7 +64,8 @@ public class Vala.GirParser : CodeVisitor {
                STRUCT,
                THROWS,
                PRINTF_FORMAT,
-               ARRAY_LENGTH_FIELD;
+               ARRAY_LENGTH_FIELD,
+               SENTINEL;
 
                public static ArgumentType? from_string (string name) {
                        var enum_class = (EnumClass) typeof(ArgumentType).class_ref ();
@@ -429,7 +430,7 @@ public class Vala.GirParser : CodeVisitor {
                                }
                                var arg_type = ArgumentType.from_string (id);
                                if (arg_type == null) {
-                                       Report.error (get_src (begin), "unknown argument");
+                                       Report.error (get_src (begin, old_end), "unknown argument");
                                        return false;
                                }
 
@@ -2452,8 +2453,10 @@ public class Vala.GirParser : CodeVisitor {
                        }
                }
 
-               if (s is Method && metadata.get_bool (ArgumentType.PRINTF_FORMAT)) {
-                       ((Method) s).printf_format = true;
+               if (s is Method) {
+                       var m = (Method) s;
+                       m.printf_format = metadata.get_bool (ArgumentType.PRINTF_FORMAT);
+                       m.sentinel = metadata.get_string (ArgumentType.SENTINEL);
                }
 
                current.symbol = s;