]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girparser: add support for gintptr and guintptr types.
authorThomas Martitz <kugel@rockbox.org>
Mon, 14 Dec 2015 09:12:29 +0000 (10:12 +0100)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 30 Dec 2015 07:35:16 +0000 (08:35 +0100)
Modelled after existing size_t/ssize_t support, i.e. map to corresponding
types from glib-2.0.vapi.

vala/valagirparser.vala

index 89339e7dfce480bcbe6c7a35d6fa782a8a0cfdde..1ca871a665a031200c104254a569046395c11b5c 100644 (file)
@@ -2575,12 +2575,16 @@ public class Vala.GirParser : CodeVisitor {
                        } else if (type_name == "glong") {
                                if (ctype != null && ctype.has_prefix ("gssize")) {
                                        type_name = "ssize_t";
+                               } else if (ctype != null && ctype.has_prefix ("gintptr")) {
+                                       type_name = "intptr";
                                } else {
                                        type_name = "long";
                                }
                        } else if (type_name == "gulong") {
                                if (ctype != null && ctype.has_prefix ("gsize")) {
                                        type_name = "size_t";
+                               } else if (ctype != null && ctype.has_prefix ("guintptr")) {
+                                       type_name = "uintptr";
                                } else {
                                        type_name = "ulong";
                                }
@@ -2612,6 +2616,10 @@ public class Vala.GirParser : CodeVisitor {
                                type_name = "size_t";
                        } else if (type_name == "gssize") {
                                type_name = "ssize_t";
+                       } else if (type_name == "guintptr") {
+                               type_name = "uintptr";
+                       } else if (type_name == "gintptr") {
+                               type_name = "intptr";
                        } else if (type_name == "GType") {
                                type_name = "GLib.Type";
                        } else if (type_name == "GLib.String") {