[gobject-introspection/wip/transformer: 6/7] Use GLib types consistently
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection/wip/transformer: 6/7] Use GLib types consistently
- Date: Wed, 28 Jul 2010 15:58:31 +0000 (UTC)
commit 0b08defbf493db94a3ef2a767f5405405014bb96
Author: Colin Walters <walters verbum org>
Date: Wed Jul 21 21:06:17 2010 -0400
Use GLib types consistently
Rather than have the scanner/parser handle both e.g. "glong" and
"long", simply use the GLib types everywhere.
This commit adds TYPE_LONG_LONG and TYPE_LONG_DOUBLE to the
scanner types; however, rather than add them to the typelib,
they're just marked as not-introspectable.
girepository/girepository.c | 22 ++--
girepository/girnode.c | 28 +-----
girepository/girparser.c | 58 ++++++------
giscanner/annotationparser.py | 2 +-
giscanner/ast.py | 153 +++++++++++++++--------------
giscanner/girwriter.py | 8 +-
giscanner/glibast.py | 50 +--------
giscanner/glibtransformer.py | 10 +-
giscanner/transformer.py | 15 ++--
tests/scanner/BarApp-1.0-expected.gir | 4 +-
tests/scanner/annotation-1.0-expected.gir | 82 ++++++++--------
tests/scanner/annotation.c | 2 +-
tests/scanner/drawable-1.0-expected.gir | 12 +-
tests/scanner/foo-1.0-expected.gir | 122 ++++++++++++------------
tests/scanner/utility-1.0-expected.gir | 38 ++++----
15 files changed, 277 insertions(+), 329 deletions(-)
---
diff --git a/girepository/girepository.c b/girepository/girepository.c
index f379cf6..0b1d68d 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -1317,27 +1317,27 @@ g_type_tag_to_string (GITypeTag type)
case GI_TYPE_TAG_VOID:
return "void";
case GI_TYPE_TAG_BOOLEAN:
- return "boolean";
+ return "gboolean";
case GI_TYPE_TAG_INT8:
- return "int8";
+ return "gint8";
case GI_TYPE_TAG_UINT8:
- return "uint8";
+ return "guint8";
case GI_TYPE_TAG_INT16:
- return "int16";
+ return "gint16";
case GI_TYPE_TAG_UINT16:
- return "uint16";
+ return "guint16";
case GI_TYPE_TAG_INT32:
- return "int32";
+ return "gint32";
case GI_TYPE_TAG_UINT32:
- return "uint32";
+ return "guint32";
case GI_TYPE_TAG_INT64:
- return "int64";
+ return "gint64";
case GI_TYPE_TAG_UINT64:
- return "uint64";
+ return "guint64";
case GI_TYPE_TAG_FLOAT:
- return "float";
+ return "gfloat";
case GI_TYPE_TAG_DOUBLE:
- return "double";
+ return "gdouble";
case GI_TYPE_TAG_GTYPE:
return "GType";
case GI_TYPE_TAG_UTF8:
diff --git a/girepository/girnode.c b/girepository/girnode.c
index b35c745..2f6a270 100644
--- a/girepository/girnode.c
+++ b/girepository/girnode.c
@@ -1219,36 +1219,10 @@ serialize_type (GIrTypelibBuild *build,
GString *str)
{
gint i;
- const gchar* basic[] = {
- "void",
- "boolean",
- "int8",
- "uint8",
- "int16",
- "uint16",
- "int32",
- "uint32",
- "int64",
- "uint64",
- "short",
- "ushort",
- "int",
- "uint",
- "long",
- "ulong",
- "ssize",
- "size",
- "float",
- "double",
- "time_t",
- "GType",
- "utf8",
- "filename",
- };
if (node->tag < GI_TYPE_TAG_ARRAY)
{
- g_string_append_printf (str, "%s%s", basic[node->tag],
+ g_string_append_printf (str, "%s%s", g_type_tag_to_string (node->tag),
node->is_pointer ? "*" : "");
}
else if (node->tag == GI_TYPE_TAG_ARRAY)
diff --git a/girepository/girparser.c b/girepository/girparser.c
index 1573951..6fc8fbb 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -359,13 +359,13 @@ typedef struct {
} IntegerAliasInfo;
static IntegerAliasInfo integer_aliases[] = {
- { "char", SIZEOF_CHAR, 0 },
- { "short", SIZEOF_SHORT, 1 },
- { "ushort", SIZEOF_SHORT, 0 },
- { "int", SIZEOF_INT, 1 },
- { "uint", SIZEOF_INT, 0 },
- { "long", SIZEOF_LONG, 1 },
- { "ulong", SIZEOF_LONG, 0 },
+ { "gchar", SIZEOF_CHAR, 0 },
+ { "gshort", SIZEOF_SHORT, 1 },
+ { "gushort", SIZEOF_SHORT, 0 },
+ { "gint", SIZEOF_INT, 1 },
+ { "guint", SIZEOF_INT, 0 },
+ { "glong", SIZEOF_LONG, 1 },
+ { "gulong", SIZEOF_LONG, 0 },
{ "gsize", GLIB_SIZEOF_SIZE_T, 0 },
{ "gssize", GLIB_SIZEOF_SIZE_T, 1 },
};
@@ -379,30 +379,30 @@ typedef struct {
#define BASIC_TYPE_FIXED_OFFSET 3
static BasicTypeInfo basic_types[] = {
- { "none", GI_TYPE_TAG_VOID, 0 },
- { "any", GI_TYPE_TAG_VOID, 1 },
-
- { "bool", GI_TYPE_TAG_BOOLEAN, 0 },
- { "int8", GI_TYPE_TAG_INT8, 0 }, /* Start of BASIC_TYPE_FIXED_OFFSET */
- { "uint8", GI_TYPE_TAG_UINT8, 0 },
- { "int16", GI_TYPE_TAG_INT16, 0 },
- { "uint16", GI_TYPE_TAG_UINT16, 0 },
- { "int32", GI_TYPE_TAG_INT32, 0 },
- { "uint32", GI_TYPE_TAG_UINT32, 0 },
- { "int64", GI_TYPE_TAG_INT64, 0 },
- { "uint64", GI_TYPE_TAG_UINT64, 0 },
- { "float", GI_TYPE_TAG_FLOAT, 0 },
- { "double", GI_TYPE_TAG_DOUBLE, 0 },
- { "GType", GI_TYPE_TAG_GTYPE, 0 },
- { "utf8", GI_TYPE_TAG_UTF8, 1 },
- { "filename", GI_TYPE_TAG_FILENAME,1 },
+ { "none", GI_TYPE_TAG_VOID, 0 },
+ { "gpointer", GI_TYPE_TAG_VOID, 1 },
+
+ { "gboolean", GI_TYPE_TAG_BOOLEAN, 0 },
+ { "gint8", GI_TYPE_TAG_INT8, 0 }, /* Start of BASIC_TYPE_FIXED_OFFSET */
+ { "guint8", GI_TYPE_TAG_UINT8, 0 },
+ { "gint16", GI_TYPE_TAG_INT16, 0 },
+ { "guint16", GI_TYPE_TAG_UINT16, 0 },
+ { "gint32", GI_TYPE_TAG_INT32, 0 },
+ { "guint32", GI_TYPE_TAG_UINT32, 0 },
+ { "gint64", GI_TYPE_TAG_INT64, 0 },
+ { "guint64", GI_TYPE_TAG_UINT64, 0 },
+ { "gfloat", GI_TYPE_TAG_FLOAT, 0 },
+ { "gdouble", GI_TYPE_TAG_DOUBLE, 0 },
+ { "GType", GI_TYPE_TAG_GTYPE, 0 },
+ { "utf8", GI_TYPE_TAG_UTF8, 1 },
+ { "filename", GI_TYPE_TAG_FILENAME,1 },
};
static const BasicTypeInfo *
parse_basic (const char *str)
{
- gint i;
- gint n_basic = G_N_ELEMENTS (basic_types);
+ guint i;
+ guint n_basic = G_N_ELEMENTS (basic_types);
for (i = 0; i < n_basic; i++)
{
@@ -1978,14 +1978,14 @@ end_type_top (ParseContext *ctx)
typenode->tag == GI_TYPE_TAG_GSLIST)
{
if (typenode->parameter_type1 == NULL)
- typenode->parameter_type1 = parse_type (ctx, "any");
+ typenode->parameter_type1 = parse_type (ctx, "gpointer");
}
else if (typenode->tag == GI_TYPE_TAG_GHASH)
{
if (typenode->parameter_type1 == NULL)
{
- typenode->parameter_type1 = parse_type (ctx, "any");
- typenode->parameter_type2 = parse_type (ctx, "any");
+ typenode->parameter_type1 = parse_type (ctx, "gpointer");
+ typenode->parameter_type2 = parse_type (ctx, "gpointer");
}
}
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py
index c642d56..9e4340f 100644
--- a/giscanner/annotationparser.py
+++ b/giscanner/annotationparser.py
@@ -783,7 +783,7 @@ class AnnotationApplier(object):
self._guess_direction(node) == PARAM_DIRECTION_IN and
element_type is None):
# FIXME: unsigned char/guchar should be uint8
- container_type.element_type = Type('int8')
+ container_type.element_type = Type('gint8')
container_type.size = array_values.get(OPT_ARRAY_FIXED_SIZE)
return container_type
diff --git a/giscanner/ast.py b/giscanner/ast.py
index 3678e8c..4008b66 100644
--- a/giscanner/ast.py
+++ b/giscanner/ast.py
@@ -27,74 +27,58 @@ These can later on be extended (eg subclassed) with additional information
which is language/library/domain specific.
"""
-##
-## Basic types, modeled on GITypeTag but not equivalent
-##
-
-TYPE_NONE = 'none' # We differ from repository on these first two
-TYPE_ANY = 'any'
-TYPE_BOOLEAN = 'boolean'
-TYPE_INT8 = 'int8'
-TYPE_UINT8 = 'uint8'
-TYPE_SHORT = 'short'
-TYPE_USHORT = 'ushort'
-TYPE_INT16 = 'int16'
-TYPE_UINT16 = 'uint16'
-TYPE_INT = 'int'
-TYPE_UINT = 'uint'
-TYPE_INT32 = 'int32'
-TYPE_UINT32 = 'uint32'
-TYPE_INT64 = 'int64'
-TYPE_UINT64 = 'uint64'
-TYPE_LONG = 'long'
-TYPE_ULONG = 'ulong'
-TYPE_SIZET = 'gsize'
-TYPE_SSIZET = 'gssize'
+######
+## Fundamental types
+######
+# Two special ones
+TYPE_NONE = 'none'
+TYPE_ANY = 'gpointer'
+# "Basic" types
+TYPE_BOOLEAN = 'gboolean'
+TYPE_INT8 = 'gint8'
+TYPE_UINT8 = 'guint8'
+TYPE_INT16 = 'gint16'
+TYPE_UINT16 = 'guint16'
+TYPE_INT32 = 'gint32'
+TYPE_UINT32 = 'guint32'
+TYPE_INT64 = 'gint64'
+TYPE_UINT64 = 'guint64'
+TYPE_CHAR = 'gchar'
+TYPE_SHORT = 'gshort'
+TYPE_USHORT = 'gushort'
+TYPE_INT = 'gint'
+TYPE_UINT = 'guint'
+TYPE_LONG = 'glong'
+TYPE_ULONG = 'gulong'
+# C99 types
+TYPE_LONG_LONG = 'long long'
+TYPE_LONG_ULONG = 'unsigned long long'
+TYPE_FLOAT = 'gfloat'
+TYPE_DOUBLE = 'gdouble'
+# ?
+TYPE_LONG_DOUBLE = 'long double'
+
+# C types with semantics overlaid
TYPE_GTYPE = 'GType'
-TYPE_FLOAT = 'float'
-TYPE_DOUBLE = 'double'
-TYPE_STRING = 'utf8' # requires zero-terminated
+TYPE_STRING = 'utf8'
TYPE_FILENAME = 'filename'
BASIC_GIR_TYPES = [TYPE_BOOLEAN, TYPE_INT8, TYPE_UINT8, TYPE_INT16,
TYPE_UINT16, TYPE_INT32, TYPE_UINT32, TYPE_INT64,
- TYPE_UINT64, TYPE_SHORT, TYPE_USHORT, TYPE_INT,
- TYPE_UINT, TYPE_LONG, TYPE_ULONG, TYPE_SSIZET,
- TYPE_SIZET, TYPE_FLOAT, TYPE_DOUBLE,
- TYPE_GTYPE]
+ TYPE_UINT64, TYPE_CHAR, TYPE_SHORT, TYPE_USHORT, TYPE_INT,
+ TYPE_UINT, TYPE_LONG, TYPE_ULONG, TYPE_LONG_LONG,
+ TYPE_LONG_ULONG, TYPE_FLOAT, TYPE_DOUBLE,
+ TYPE_LONG_DOUBLE, TYPE_GTYPE]
GIR_TYPES = [TYPE_NONE, TYPE_ANY]
GIR_TYPES.extend(BASIC_GIR_TYPES)
GIR_TYPES.extend([TYPE_STRING, TYPE_FILENAME])
-# Higher-level data types
-TYPE_SEQUENCE = 'sequence' # Sequence of something
-
-# Wide/Unicode
-TYPE_UCHAR = 'uchar'
-TYPE_USTRING = 'ustring'
-
-##
-## Parameters
-##
-
-PARAM_DIRECTION_IN = 'in'
-PARAM_DIRECTION_OUT = 'out'
-PARAM_DIRECTION_INOUT = 'inout'
-
-PARAM_SCOPE_CALL = 'call'
-PARAM_SCOPE_ASYNC = 'async'
-PARAM_SCOPE_NOTIFIED = 'notified'
-
-PARAM_TRANSFER_NONE = 'none'
-PARAM_TRANSFER_CONTAINER = 'container'
-PARAM_TRANSFER_FULL = 'full'
-
type_names = {}
-for name in GIR_TYPES:
- type_names[name] = name
+for typeval in GIR_TYPES:
+ type_names[typeval] = typeval
# C builtin
-type_names['char'] = TYPE_INT8
+type_names['char'] = TYPE_CHAR
type_names['signed char'] = TYPE_INT8
type_names['unsigned char'] = TYPE_UINT8
type_names['short'] = TYPE_SHORT
@@ -115,8 +99,24 @@ type_names['double'] = TYPE_DOUBLE
type_names['char*'] = TYPE_STRING
type_names['void*'] = TYPE_ANY
type_names['void'] = TYPE_NONE
+# Also alias the signed one here
+type_names['signed long long'] = TYPE_LONG_LONG
-# Random C unix type definitions; note some of these may be GNU Libc
+# A few additional GLib type aliases
+type_names['gchararray'] = TYPE_STRING
+type_names['gchar*'] = TYPE_STRING
+type_names['gsize'] = TYPE_ULONG
+type_names['gssize'] = TYPE_LONG
+type_names['gconstpointer'] = TYPE_ANY
+
+# Some special C types that aren't scriptable, and we just squash
+type_names['va_list'] = TYPE_ANY
+
+# C stdio, used in GLib public headers; squash this for now here
+# until we move scanning into GLib and can (skip)
+type_names['FILE*'] = TYPE_ANY
+
+# One off C unix type definitions; note some of these may be GNU Libc
# specific. If someone is actually bitten by this, feel free to do
# the required configure goop to determine their size and replace
# here.
@@ -127,39 +127,48 @@ type_names['void'] = TYPE_NONE
# methods are added under #ifdefs inside GLib itself. We could just (skip)
# the relevant methods, but on the other hand, since these types are just
# integers it's easy enough to expand them.
-type_names['size_t'] = TYPE_SIZET
+type_names['size_t'] = type_names['gsize']
type_names['time_t'] = TYPE_LONG
-type_names['off_t'] = TYPE_SIZET
+type_names['off_t'] = type_names['gsize']
type_names['pid_t'] = TYPE_INT
type_names['uid_t'] = TYPE_UINT
type_names['gid_t'] = TYPE_UINT
type_names['dev_t'] = TYPE_INT
type_names['socklen_t'] = TYPE_INT32
+type_names['size_t'] = TYPE_ULONG
+type_names['ssize_t'] = TYPE_LONG
# Obj-C
type_names['id'] = TYPE_ANY
-# Suppress some GLib names
-type_names['uchar'] = TYPE_UINT8
-type_names['ushort'] = TYPE_USHORT
-type_names['size'] = TYPE_SIZET
-type_names['ssize'] = TYPE_SSIZET
-type_names['pointer'] = TYPE_ANY
-type_names['constpointer'] = TYPE_ANY
-
-
# These types, when seen by reference, are converted into an Array()
# by default
-# If you add/change these, be sure to update glibast.py too
default_array_types = {}
-default_array_types['uint8*'] = TYPE_UINT8
+default_array_types['guint8*'] = TYPE_UINT8
+default_array_types['guchar*'] = TYPE_UINT8
default_array_types['utf8*'] = TYPE_STRING
+default_array_types['char**'] = TYPE_STRING
+default_array_types['gchar**'] = TYPE_STRING
# These types, when seen by reference, are interpreted as out parameters
default_out_types = (TYPE_SHORT, TYPE_USHORT, TYPE_INT, TYPE_UINT,
- TYPE_LONG, TYPE_ULONG, TYPE_FLOAT, TYPE_DOUBLE,
- TYPE_SIZET, TYPE_SSIZET)
+ TYPE_LONG, TYPE_ULONG, TYPE_FLOAT, TYPE_DOUBLE)
+
+##
+## Parameters
+##
+
+PARAM_DIRECTION_IN = 'in'
+PARAM_DIRECTION_OUT = 'out'
+PARAM_DIRECTION_INOUT = 'inout'
+
+PARAM_SCOPE_CALL = 'call'
+PARAM_SCOPE_ASYNC = 'async'
+PARAM_SCOPE_NOTIFIED = 'notified'
+PARAM_TRANSFER_NONE = 'none'
+PARAM_TRANSFER_CONTAINER = 'container'
+PARAM_TRANSFER_FULL = 'full'
def type_name_from_ctype(ctype):
return type_names.get(ctype, ctype)
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index 0f62125..fd0b99f 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -23,7 +23,7 @@ from __future__ import with_statement
from .ast import (Alias, Array, Bitfield, Callback, Class, Constant, Enum,
Function, Interface, List, Map, Member, Struct, Union,
- Varargs, Type)
+ Varargs, Type, TYPE_ANY)
from .glibast import (GLibBoxed, GLibEnum, GLibEnumMember,
GLibFlags, GLibObject, GLibInterface,
GLibRecord)
@@ -258,7 +258,7 @@ and/or use gtk-doc annotations. ''')
if ntype.element_type is not None:
self._write_type(ntype.element_type)
else:
- self._write_type(Type('any', ctype='gpointer'))
+ self._write_type(Type(TYPE_ANY, ctype='gpointer'))
return
attrs = [('name', self._type_to_string(ntype))]
# FIXME: figure out if type references a basic type
@@ -273,7 +273,7 @@ and/or use gtk-doc annotations. ''')
if isinstance(ntype, List) and ntype.element_type:
self._write_type(ntype.element_type)
else:
- self._write_type(Type('any', ctype='gpointer'))
+ self._write_type(Type(TYPE_ANY, ctype='gpointer'))
return
if isinstance(ntype, Map) and ntype.key_type:
with self.tagcontext('type', attrs):
@@ -489,7 +489,7 @@ and/or use gtk-doc annotations. ''')
if is_gtype_struct:
self._write_callback(field)
else:
- attrs = [('name', 'any'), ('c:type', 'pointer')]
+ attrs = [('name', TYPE_ANY), ('c:type', 'pointer')]
self.write_tag('type', attrs)
elif isinstance(field, Struct):
self._write_record(field)
diff --git a/giscanner/glibast.py b/giscanner/glibast.py
index c712988..ad87926 100644
--- a/giscanner/glibast.py
+++ b/giscanner/glibast.py
@@ -19,48 +19,7 @@
#
from .ast import (Bitfield, Class, Enum, Interface, Member, Node,
- Property, Struct, Union, Record)
-from .ast import (
- type_names, default_array_types,
- TYPE_STRING, TYPE_INT8, TYPE_UINT8, TYPE_SHORT, TYPE_USHORT,
- TYPE_INT16, TYPE_UINT16, TYPE_INT, TYPE_UINT, TYPE_UINT32,
- TYPE_INT32, TYPE_LONG, TYPE_ULONG, TYPE_INT64, TYPE_UINT64,
- TYPE_FLOAT, TYPE_DOUBLE, TYPE_BOOLEAN, TYPE_ANY, TYPE_SSIZET,
- TYPE_SIZET)
-
-
-# Glib type names
-type_names['gchararray'] = TYPE_STRING
-type_names['gint8'] = TYPE_INT8
-type_names['guint8'] = TYPE_UINT8
-type_names['gint16'] = TYPE_INT16
-type_names['guint16'] = TYPE_UINT16
-type_names['gint'] = TYPE_INT
-type_names['guint'] = TYPE_UINT
-type_names['gint32'] = TYPE_INT32
-type_names['guint32'] = TYPE_UINT32
-type_names['glong'] = TYPE_LONG
-type_names['gulong'] = TYPE_ULONG
-type_names['gint64'] = TYPE_INT64
-type_names['guint64'] = TYPE_UINT64
-type_names['gfloat'] = TYPE_FLOAT
-type_names['gdouble'] = TYPE_DOUBLE
-type_names['gchar*'] = TYPE_STRING
-type_names['gboolean'] = TYPE_BOOLEAN
-type_names['gpointer'] = TYPE_ANY
-type_names['gconstpointer'] = TYPE_ANY
-type_names['gsize'] = TYPE_SIZET
-type_names['gssize'] = TYPE_SSIZET
-type_names['gchar'] = TYPE_INT8
-type_names['guchar'] = TYPE_UINT8
-type_names['gshort'] = TYPE_SHORT
-type_names['gushort'] = TYPE_USHORT
-
-# It's not very nice to duplicate the array types from ast.py,
-# but a clean fix is hard without essentially hardcoding
-# char * again inside transformer.py
-default_array_types['guint8*'] = TYPE_UINT8
-default_array_types['gchar**'] = TYPE_STRING
+ Property, Union, Record)
class GLibRecord(Record):
def __init__(self, *args, **kwargs):
@@ -136,10 +95,12 @@ class GLibBoxed:
self.get_type = get_type
-class GLibBoxedStruct(Struct, GLibBoxed):
+
+
+class GLibBoxedStruct(Record, GLibBoxed):
def __init__(self, name, type_name, get_type, ctype=None):
- Struct.__init__(self, name, ctype or type_name)
+ Record.__init__(self, name, ctype or type_name)
GLibBoxed.__init__(self, type_name, get_type)
@@ -160,6 +121,7 @@ class GLibBoxedOther(Node, GLibBoxed):
self.ctype = type_name
self.doc = None
+
class GLibInterface(Interface):
def __init__(self, name, parent, type_name, get_type,
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py
index 391042d..a8fdcc3 100644
--- a/giscanner/glibtransformer.py
+++ b/giscanner/glibtransformer.py
@@ -30,12 +30,12 @@ from .ast import (Alias, Bitfield, Callable, Callback, Class, Constant, Enum,
Property, Record, Return, Type, TypeContainer, Union,
Field, VFunction, type_name_from_ctype, default_array_types,
TYPE_UINT8, PARAM_TRANSFER_FULL, Array, List,
- Map, Varargs)
+ TYPE_LONG_LONG, TYPE_LONG_DOUBLE,
+ Map, Varargs, type_names)
from .transformer import Names
from .glibast import (GLibBoxed, GLibEnum, GLibEnumMember, GLibFlags,
GLibInterface, GLibObject, GLibSignal, GLibBoxedStruct,
- GLibBoxedUnion, GLibBoxedOther, GLibRecord,
- type_names)
+ GLibBoxedUnion, GLibBoxedOther, GLibRecord)
from .utils import to_underscores, to_underscores_noprefix
default_array_types['guchar*'] = TYPE_UINT8
@@ -1160,7 +1160,9 @@ class GLibTransformer(object):
def _introspectable_analysis(self, node, stack):
if isinstance(node, TypeContainer):
parent = stack[-1]
- if isinstance(node.type, Varargs):
+ if node.type.name in (TYPE_LONG_LONG, TYPE_LONG_DOUBLE):
+ parent.introspectable = False
+ elif isinstance(node.type, Varargs):
parent.introspectable = False
elif self._is_unannotated_list(node):
if isinstance(node, Parameter):
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index 319e43c..b43e188 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -25,7 +25,8 @@ from .ast import (Bitfield, Callback, Enum, Function, Namespace, Member,
Parameter, Return, Struct, Field,
Type, Array, Alias, Interface, Class, Node, Union,
Varargs, Constant, type_name_from_ctype,
- type_names, TYPE_STRING, BASIC_GIR_TYPES)
+ type_names, TYPE_ANY, TYPE_STRING,
+ BASIC_GIR_TYPES)
from .config import DATADIR, GIR_DIR, GIR_SUFFIX
from .glibast import GLibBoxed
from .girparser import GIRParser
@@ -341,7 +342,7 @@ context will be used."""
return False
def _handle_closure(self, param, closure_idx, closure_param):
- if (closure_param.type.name == 'any' and
+ if (closure_param.type.name == TYPE_ANY and
closure_param.name.endswith('data')):
param.closure_name = closure_param.name
param.closure_index = closure_idx
@@ -408,7 +409,7 @@ context will be used."""
elif source_type.type == CTYPE_POINTER:
value = self._create_source_type(source_type.base_type) + '*'
else:
- value = 'any'
+ value = TYPE_ANY
return value
def _create_parameters(self, base_type):
@@ -523,7 +524,7 @@ context will be used."""
# Preserve "pointerness" of struct/union members
if (is_member and canonical.endswith('*') and
derefed_typename in BASIC_GIR_TYPES):
- return 'any'
+ return TYPE_ANY
else:
return derefed_typename
@@ -580,10 +581,10 @@ context will be used."""
type_name = 'utf8'
value = symbol.const_string
elif symbol.const_int is not None:
- type_name = 'int'
+ type_name = 'gint'
value = symbol.const_int
elif symbol.const_double is not None:
- type_name = 'double'
+ type_name = 'gdouble'
value = symbol.const_double
else:
raise AssertionError()
@@ -654,7 +655,7 @@ context will be used."""
# Mark the 'user_data' arguments
for i, param in enumerate(parameters):
- if (param.type.name == 'any' and
+ if (param.type.name == TYPE_ANY and
param.name == 'user_data'):
param.closure_index = i
diff --git a/tests/scanner/BarApp-1.0-expected.gir b/tests/scanner/BarApp-1.0-expected.gir
index ca9b7ee..4ced0a2 100644
--- a/tests/scanner/BarApp-1.0-expected.gir
+++ b/tests/scanner/BarApp-1.0-expected.gir
@@ -38,10 +38,10 @@ and/or use gtk-doc annotations. -->
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="y" transfer-ownership="none">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</parameter>
</parameters>
</function>
diff --git a/tests/scanner/annotation-1.0-expected.gir b/tests/scanner/annotation-1.0-expected.gir
index 3850668..2f24af2 100644
--- a/tests/scanner/annotation-1.0-expected.gir
+++ b/tests/scanner/annotation-1.0-expected.gir
@@ -18,12 +18,12 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a callback.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">array of ints</doc>
- <type name="int" c:type="gint*"/>
+ <type name="gint" c:type="gint*"/>
</return-value>
<parameters>
<parameter name="in" transfer-ownership="none">
<doc xml:whitespace="preserve">array of ints</doc>
- <type name="int" c:type="gint*"/>
+ <type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</callback>
@@ -39,7 +39,7 @@ and/or use gtk-doc annotations. -->
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
@@ -69,7 +69,7 @@ and/or use gtk-doc annotations. -->
<parameters>
<parameter name="data" transfer-ownership="none" closure="0">
<doc xml:whitespace="preserve">The user data</doc>
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
@@ -84,14 +84,14 @@ and/or use gtk-doc annotations. -->
<method name="method" c:identifier="annotation_object_method">
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
</method>
<method name="out" c:identifier="annotation_object_out">
<doc xml:whitespace="preserve">This is a test for out arguments</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="outarg"
@@ -99,7 +99,7 @@ and/or use gtk-doc annotations. -->
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
@@ -131,7 +131,7 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a test for out arguments</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="inoutarg"
@@ -139,7 +139,7 @@ and/or use gtk-doc annotations. -->
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
@@ -147,7 +147,7 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a second test for out arguments</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="inoutarg"
@@ -155,7 +155,7 @@ and/or use gtk-doc annotations. -->
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
@@ -163,7 +163,7 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a 3th test for out arguments</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="inoutarg"
@@ -172,7 +172,7 @@ and/or use gtk-doc annotations. -->
transfer-ownership="full"
allow-none="1">
<doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
@@ -180,12 +180,12 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a test for in arguments</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="inarg" transfer-ownership="none">
<doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
@@ -193,7 +193,7 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a test for out arguments; GObject defaults to transfer</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="toown"
@@ -209,7 +209,7 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">This is a test for out arguments, one transferred, other not</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">an int</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="toown1"
@@ -255,7 +255,7 @@ objects.</doc>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
- <type name="any" c:type="void*"/>
+ <type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
@@ -277,7 +277,7 @@ intentionally similar example to gtk_container_get_children</doc>
<parameters>
<parameter name="bytes" transfer-ownership="none">
<array c:type="guchar*">
- <type name="uint8"/>
+ <type name="GLib.uchar"/>
</array>
</parameter>
</parameters>
@@ -291,7 +291,7 @@ intentionally similar example to gtk_container_get_children</doc>
<parameter name="nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Sequence of numbers</doc>
<array c:type="int*">
- <type name="int"/>
+ <type name="gint"/>
</array>
</parameter>
</parameters>
@@ -306,12 +306,12 @@ intentionally similar example to gtk_container_get_children</doc>
<parameter name="nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
<array zero-terminated="0" length="2" c:type="int*">
- <type name="int"/>
+ <type name="gint"/>
</array>
</parameter>
<parameter name="n_nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Length of number array</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
@@ -325,12 +325,12 @@ intentionally similar example to gtk_container_get_children</doc>
<parameter name="nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
<array length="2" c:type="int*">
- <type name="int"/>
+ <type name="gint"/>
</array>
</parameter>
<parameter name="n_nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Length of number array</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
@@ -345,7 +345,7 @@ intentionally similar example to gtk_container_get_children</doc>
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">Length of the argument vector</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
@@ -362,7 +362,7 @@ intentionally similar example to gtk_container_get_children</doc>
<doc xml:whitespace="preserve">Test returning a string as an out parameter</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">some boolean</doc>
- <type name="boolean" c:type="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="str_out"
@@ -389,7 +389,7 @@ intentionally similar example to gtk_container_get_children</doc>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<doc xml:whitespace="preserve">Callback user data</doc>
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
@@ -402,12 +402,12 @@ intentionally similar example to gtk_container_get_children</doc>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">The data</doc>
<array length="2" c:type="guchar*">
- <type name="uint8"/>
+ <type name="GLib.uchar"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:whitespace="preserve">Length of the data</doc>
- <type name="gsize" c:type="gsize"/>
+ <type name="gulong" c:type="gsize"/>
</parameter>
</parameters>
</method>
@@ -420,12 +420,12 @@ intentionally similar example to gtk_container_get_children</doc>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">The data</doc>
<array length="2" c:type="gchar*">
- <type name="int8"/>
+ <type name="gint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:whitespace="preserve">Length of the data</doc>
- <type name="gsize" c:type="gsize"/>
+ <type name="gulong" c:type="gsize"/>
</parameter>
</parameters>
</method>
@@ -439,12 +439,12 @@ type.</doc>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">The data</doc>
<array length="2" c:type="gpointer">
- <type name="uint8"/>
+ <type name="guint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:whitespace="preserve">Length of the data</doc>
- <type name="gsize" c:type="gsize"/>
+ <type name="gulong" c:type="gsize"/>
</parameter>
</parameters>
</method>
@@ -472,7 +472,7 @@ type.</doc>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<doc xml:whitespace="preserve">The callback data</doc>
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<doc xml:whitespace="preserve">Destroy notification</doc>
@@ -532,7 +532,7 @@ type.</doc>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
@@ -588,7 +588,7 @@ it says it's pointer but it's actually a string.</doc>
<attribute name="yet.another.annotation" value="another_value"/>
<attribute name="some.other.annotation" value="value2"/>
<doc xml:whitespace="preserve">The return value.</doc>
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
@@ -622,7 +622,7 @@ detection, and fixing it via annotations.</doc>
<type name="NotifyFunc" c:type="AnnotationNotifyFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
@@ -642,7 +642,7 @@ detection, and fixing it via annotations.</doc>
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">The number of args.</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
@@ -663,7 +663,7 @@ detection, and fixing it via annotations.</doc>
<parameters>
<parameter name="foo" transfer-ownership="none">
<doc xml:whitespace="preserve">some text (e.g. example) or else</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
@@ -693,7 +693,7 @@ detection, and fixing it via annotations.</doc>
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">Number of return values</doc>
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
@@ -715,7 +715,7 @@ detection, and fixing it via annotations.</doc>
</return-value>
<parameters>
<parameter name="n_properties" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
+ <type name="guint" c:type="guint"/>
</parameter>
<parameter name="properties" transfer-ownership="none">
<array length="0" c:type="gchar*">
diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c
index 497d1ee..015fd83 100644
--- a/tests/scanner/annotation.c
+++ b/tests/scanner/annotation.c
@@ -520,7 +520,7 @@ annotation_object_set_data2 (AnnotationObject *object,
/**
* annotation_object_set_data3:
* @object: a #AnnotationObject
- * @data: (array length=length) (element-type uint8): The data
+ * @data: (array length=length) (element-type guint8): The data
* @length: Length of the data
*
* Test taking a gchar * with a length, overriding the array element
diff --git a/tests/scanner/drawable-1.0-expected.gir b/tests/scanner/drawable-1.0-expected.gir
index 9ed7060..a09a9f5 100644
--- a/tests/scanner/drawable-1.0-expected.gir
+++ b/tests/scanner/drawable-1.0-expected.gir
@@ -27,7 +27,7 @@ and/or use gtk-doc annotations. -->
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
@@ -40,13 +40,13 @@ and/or use gtk-doc annotations. -->
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
<parameter name="y"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <type name="int" c:type="int*"/>
+ <type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
@@ -59,13 +59,13 @@ and/or use gtk-doc annotations. -->
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
+ <type name="guint" c:type="guint*"/>
</parameter>
<parameter name="height"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
+ <type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
@@ -77,7 +77,7 @@ and/or use gtk-doc annotations. -->
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
diff --git a/tests/scanner/foo-1.0-expected.gir b/tests/scanner/foo-1.0-expected.gir
index d620325..88f9270 100644
--- a/tests/scanner/foo-1.0-expected.gir
+++ b/tests/scanner/foo-1.0-expected.gir
@@ -17,7 +17,7 @@ and/or use gtk-doc annotations. -->
shared-library="libfoo.so"
c:prefix="foo">
<alias name="ObjectCookie" c:type="FooObjectCookie">
- <type name="any"/>
+ <type name="gpointer"/>
</alias>
<alias name="XEvent" c:type="FooXEvent">
<type name="none"/>
@@ -37,10 +37,10 @@ and/or use gtk-doc annotations. -->
glib:type-name="FooBRect"
glib:get-type="foo_brect_get_type">
<field name="x" writable="1">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</field>
<field name="y" writable="1">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</field>
<constructor name="new" c:identifier="foo_brect_new">
<return-value transfer-ownership="full">
@@ -48,10 +48,10 @@ and/or use gtk-doc annotations. -->
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</parameter>
<parameter name="y" transfer-ownership="none">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</parameter>
</parameters>
</constructor>
@@ -71,10 +71,10 @@ and/or use gtk-doc annotations. -->
glib:type-name="FooBUnion"
glib:get-type="foo_bunion_get_type">
<field name="type" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<field name="v" writable="1">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</field>
<field name="rect" writable="1">
<type name="BRect" c:type="FooBRect*"/>
@@ -87,7 +87,7 @@ and/or use gtk-doc annotations. -->
<method name="get_contained_type"
c:identifier="foo_bunion_get_contained_type">
<return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</return-value>
</method>
</union>
@@ -125,17 +125,17 @@ and/or use gtk-doc annotations. -->
</record>
<callback name="Callback" c:type="FooCallback">
<return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="foo" transfer-ownership="none">
<type name="Object" c:type="FooObject*"/>
</parameter>
<parameter name="b" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
@@ -200,7 +200,7 @@ and/or use gtk-doc annotations. -->
</enumeration>
<union name="Event" c:type="FooEvent">
<field name="type" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<field name="any" writable="1">
<type name="EventAny" c:type="FooEventAny"/>
@@ -211,15 +211,15 @@ and/or use gtk-doc annotations. -->
</union>
<record name="EventAny" c:type="FooEventAny">
<field name="send_event" writable="1">
- <type name="int8" c:type="gint8"/>
+ <type name="gint8" c:type="gint8"/>
</field>
</record>
<record name="EventExpose" c:type="FooEventExpose">
<field name="send_event" writable="1">
- <type name="int8" c:type="gint8"/>
+ <type name="gint8" c:type="gint8"/>
</field>
<field name="count" writable="1">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</field>
</record>
<bitfield name="FlagsNoType" c:type="FooFlagsNoType">
@@ -246,7 +246,7 @@ and/or use gtk-doc annotations. -->
</bitfield>
<record name="ForeignStruct" c:type="FooForeignStruct" foreign="1">
<field name="foo" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
</record>
<interface name="Interface"
@@ -260,7 +260,7 @@ and/or use gtk-doc annotations. -->
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</virtual-method>
@@ -270,7 +270,7 @@ and/or use gtk-doc annotations. -->
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
@@ -291,7 +291,7 @@ and/or use gtk-doc annotations. -->
<type name="Interface" c:type="FooInterface*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</callback>
@@ -311,7 +311,7 @@ and/or use gtk-doc annotations. -->
</constructor>
<function name="static_meth" c:identifier="foo_object_static_meth">
<return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</return-value>
</function>
<function name="get_default" c:identifier="foo_object_get_default">
@@ -324,11 +324,11 @@ uses a C sugar return type.</doc>
</function>
<virtual-method name="virtual_method" invoker="virtual_method">
<return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="first_param" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</virtual-method>
@@ -340,11 +340,11 @@ uses a C sugar return type.</doc>
<parameters>
<parameter name="offset" transfer-ownership="none">
<doc xml:whitespace="preserve">offset</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:whitespace="preserve">length</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</virtual-method>
@@ -359,7 +359,7 @@ uses a C sugar return type.</doc>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
- <type name="any" c:type="void*"/>
+ <type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="some_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
@@ -374,7 +374,7 @@ uses a C sugar return type.</doc>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
@@ -398,7 +398,7 @@ uses a C sugar return type.</doc>
</return-value>
<parameters>
<parameter name="time" transfer-ownership="none">
- <type name="long" c:type="time_t"/>
+ <type name="glong" c:type="time_t"/>
</parameter>
</parameters>
</method>
@@ -424,11 +424,11 @@ uses a C sugar return type.</doc>
</method>
<method name="virtual_method" c:identifier="foo_object_virtual_method">
<return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="first_param" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
@@ -440,11 +440,11 @@ uses a C sugar return type.</doc>
<parameters>
<parameter name="offset" transfer-ownership="none">
<doc xml:whitespace="preserve">offset</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:whitespace="preserve">length</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
@@ -466,7 +466,7 @@ uses a C sugar return type.</doc>
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="some_int">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<glib:signal name="signal">
<return-value transfer-ownership="full">
@@ -477,7 +477,7 @@ uses a C sugar return type.</doc>
<type name="GObject.Object" c:type="GObject"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
@@ -491,14 +491,14 @@ uses a C sugar return type.</doc>
<field name="virtual_method">
<callback name="virtual_method" c:type="virtual_method">
<return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="FooObject*"/>
</parameter>
<parameter name="first_param" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</callback>
@@ -514,11 +514,11 @@ uses a C sugar return type.</doc>
</parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:whitespace="preserve">offset</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:whitespace="preserve">length</doc>
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</callback>
@@ -530,20 +530,20 @@ uses a C sugar return type.</doc>
</field>
</record>
<constant name="PIE_IS_TASTY" value="3.14159">
- <type name="double"/>
+ <type name="gdouble"/>
</constant>
<record name="Rectangle" c:type="FooRectangle">
<field name="x" writable="1">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</field>
<field name="y" writable="1">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</field>
<field name="width" writable="1">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</field>
<field name="height" writable="1">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</field>
<constructor name="new" c:identifier="foo_rectangle_new">
<return-value transfer-ownership="full">
@@ -551,16 +551,16 @@ uses a C sugar return type.</doc>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="y" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</constructor>
@@ -577,7 +577,7 @@ uses a C sugar return type.</doc>
</method>
</record>
<constant name="SUCCESS_INT" value="4408">
- <type name="int"/>
+ <type name="gint"/>
</constant>
<enumeration name="Skippable" introspectable="0" c:type="FooSkippable">
<doc xml:whitespace="preserve">Some type that is only interesting from C and should not be
@@ -605,7 +605,7 @@ exposed to language bindings.</doc>
<type name="StructPrivate" c:type="FooStructPrivate*"/>
</field>
<field name="member" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
</record>
<record name="StructPrivate" c:type="FooStructPrivate">
@@ -689,23 +689,23 @@ exposed to language bindings.</doc>
</record>
<record name="ThingWithArray" c:type="_FooThingWithArray">
<field name="x" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<field name="y" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<field name="lines" writable="1">
<array zero-terminated="0" c:type="char" fixed-size="80">
- <type name="int8"/>
+ <type name="gchar"/>
</array>
</field>
<field name="data" writable="1">
- <type name="any" c:type="guchar*"/>
+ <type name="GLib.uchar" c:type="guchar*"/>
</field>
</record>
<union name="Union" c:type="_FooUnion">
<field name="foo" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
</union>
<record name="UtilityStruct" c:type="FooUtilityStruct">
@@ -745,7 +745,7 @@ exposed to language bindings.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
@@ -763,7 +763,7 @@ exposed to language bindings.</doc>
<type name="Callback" c:type="FooCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
@@ -772,7 +772,7 @@ exposed to language bindings.</doc>
</function>
<function name="enum_type_method" c:identifier="foo_enum_type_method">
<return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="foo_enum" transfer-ownership="none">
@@ -786,13 +786,13 @@ exposed to language bindings.</doc>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="init" c:identifier="foo_init">
<return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</return-value>
</function>
<function name="method_external_references"
@@ -901,7 +901,7 @@ exposed to language bindings.</doc>
</return-value>
<parameters>
<parameter name="unsigned_param" transfer-ownership="none">
- <type name="uint" c:type="unsigned int"/>
+ <type name="guint" c:type="unsigned int"/>
</parameter>
</parameters>
</function>
@@ -911,7 +911,7 @@ exposed to language bindings.</doc>
</return-value>
<parameters>
<parameter name="unsigned_param" transfer-ownership="none">
- <type name="uint" c:type="unsigned"/>
+ <type name="guint" c:type="unsigned"/>
</parameter>
</parameters>
</function>
@@ -923,7 +923,7 @@ exposed to language bindings.</doc>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <type name="int" c:type="gint"/>
+ <type name="gint" c:type="gint"/>
</parameter>
<parameter name="callback" transfer-ownership="none" scope="call">
<type name="VarargsCallback" c:type="FooVarargsCallback"/>
diff --git a/tests/scanner/utility-1.0-expected.gir b/tests/scanner/utility-1.0-expected.gir
index 0c8dfca..a72a356 100644
--- a/tests/scanner/utility-1.0-expected.gir
+++ b/tests/scanner/utility-1.0-expected.gir
@@ -14,26 +14,26 @@ and/or use gtk-doc annotations. -->
shared-library="libutility.so"
c:prefix="utility">
<alias name="Glyph" c:type="UtilityGlyph">
- <type name="uint32"/>
+ <type name="guint32"/>
</alias>
<record name="Buffer" c:type="UtilityBuffer">
<field name="data" writable="1">
- <type name="any" c:type="char*"/>
+ <type name="GLib.pointer" c:type="char*"/>
</field>
<field name="length" writable="1">
- <type name="gsize" c:type="gsize"/>
+ <type name="gulong" c:type="gsize"/>
</field>
</record>
<union name="Byte" c:type="UtilityByte">
<field name="value" writable="1">
- <type name="uint8" c:type="guint8"/>
+ <type name="guint8" c:type="guint8"/>
</field>
<record>
<field name="first_nibble" writable="1" bits="4">
- <type name="uint8" c:type="guint8"/>
+ <type name="guint8" c:type="guint8"/>
</field>
<field name="second_nibble" writable="1" bits="4">
- <type name="uint8" c:type="guint8"/>
+ <type name="guint8" c:type="guint8"/>
</field>
</record>
</union>
@@ -51,7 +51,7 @@ and/or use gtk-doc annotations. -->
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
@@ -82,7 +82,7 @@ and/or use gtk-doc annotations. -->
<type name="FileFunc" c:type="UtilityFileFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
@@ -102,33 +102,33 @@ and/or use gtk-doc annotations. -->
</record>
<record name="Struct" c:type="UtilityStruct">
<field name="field" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<field name="bitfield1" writable="1" bits="3">
- <type name="uint" c:type="guint"/>
+ <type name="guint" c:type="guint"/>
</field>
<field name="bitfield2" writable="1" bits="2">
- <type name="uint" c:type="guint"/>
+ <type name="guint" c:type="guint"/>
</field>
<field name="data" writable="1">
<array zero-terminated="0" c:type="guint8" fixed-size="16">
- <type name="uint8"/>
+ <type name="guint8"/>
</array>
</field>
</record>
<record name="TaggedValue" c:type="UtilityTaggedValue">
<field name="tag" writable="1">
- <type name="int" c:type="int"/>
+ <type name="gint" c:type="int"/>
</field>
<union>
<field name="v_pointer" writable="1">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</field>
<field name="v_real" writable="1">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</field>
<field name="v_integer" writable="1">
- <type name="long" c:type="long"/>
+ <type name="glong" c:type="long"/>
</field>
</union>
</record>
@@ -137,10 +137,10 @@ and/or use gtk-doc annotations. -->
<type name="utf8" c:type="char*"/>
</field>
<field name="integer" writable="1">
- <type name="long" c:type="glong"/>
+ <type name="glong" c:type="glong"/>
</field>
<field name="real" writable="1">
- <type name="double" c:type="double"/>
+ <type name="gdouble" c:type="double"/>
</field>
</union>
<function name="dir_foreach" c:identifier="utility_dir_foreach">
@@ -158,7 +158,7 @@ and/or use gtk-doc annotations. -->
<type name="FileFunc" c:type="UtilityFileFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]