[gobject-introspection] scanner: parse and expose function macros
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] scanner: parse and expose function macros
- Date: Sat, 20 Jul 2019 05:47:33 +0000 (UTC)
commit 0f3efc9058e2f249e84c02840fd96b6a413a9201
Author: Mathieu Duponchelle <mathieu duponchelle opencreed com>
Date: Wed Jul 15 13:11:45 2015 +0200
scanner: parse and expose function macros
This is useful for documentation tools, and other utilities that
rely on full introspection of the C API of a given library.
girepository/girparser.c | 7 +-
giscanner/ast.py | 10 +-
giscanner/girparser.py | 18 ++
giscanner/girwriter.py | 25 ++
giscanner/maintransformer.py | 12 +
giscanner/scannerparser.y | 9 +
giscanner/sourcescanner.h | 1 +
giscanner/sourcescanner.py | 4 +-
giscanner/transformer.py | 24 +-
tests/scanner/Bar-1.0-expected.gir | 34 +-
tests/scanner/GetType-1.0-expected.gir | 20 +-
.../Regress-1.0-C-expected/Regress.FOO_BUFFER.page | 14 +
.../Regress.FOO_INTERFACE.page | 14 +
.../Regress.FOO_INTERFACE_GET_INTERFACE.page | 14 +
.../Regress.FOO_IS_BUFFER.page | 14 +
.../Regress.FOO_IS_INTERFACE.page | 14 +
.../Regress.FOO_IS_OBJECT.page | 14 +
.../Regress.FOO_IS_OTHER_OBJECT.page | 14 +
.../Regress.FOO_IS_SUBINTERFACE.page | 14 +
.../Regress.FOO_IS_SUBOBJECT.page | 14 +
.../Regress.FOO_IS_TILE_HANDLER.page | 14 +
.../Regress-1.0-C-expected/Regress.FOO_OBJECT.page | 14 +
.../Regress.FOO_OTHER_OBJECT.page | 14 +
.../Regress.FOO_SUBINTERFACE.page | 14 +
.../Regress.FOO_SUBINTERFACE_GET_INTERFACE.page | 14 +
.../Regress.FOO_SUBOBJECT.page | 14 +
.../Regress.FOO_TILE_HANDLER.page | 14 +
.../Regress.TEST_FLOATING.page | 14 +
.../Regress.TEST_FLOATING_GET_CLASS.page | 14 +
.../Regress.TEST_FUNDAMENTAL_OBJECT.page | 14 +
.../Regress.TEST_FUNDAMENTAL_OBJECT_CAST.page | 14 +
.../Regress.TEST_FUNDAMENTAL_OBJECT_CLASS.page | 14 +
.../Regress.TEST_FUNDAMENTAL_OBJECT_GET_CLASS.page | 14 +
.../Regress.TEST_GNUC_EXTENSION_STMT.page | 14 +
.../Regress.TEST_INTERFACE.page | 14 +
.../Regress.TEST_INTERFACE_GET_IFACE.page | 14 +
.../Regress.TEST_IS_FLOATING.page | 14 +
.../Regress.TEST_IS_FUNDAMENTAL_OBJECT.page | 14 +
.../Regress.TEST_IS_FUNDAMENTAL_OBJECT_CLASS.page | 14 +
.../Regress.TEST_IS_INTERFACE.page | 14 +
.../Regress.TEST_IS_OBJECT.page | 14 +
.../Regress.TEST_IS_SUB_OBJECT.page | 14 +
.../Regress.TEST_IS_WI_802_1X.page | 14 +
.../Regress.TEST_OBJECT.page | 14 +
.../Regress.TEST_OBJ_GET_CLASS.page | 14 +
.../Regress.TEST_SUB_OBJECT.page | 14 +
.../Regress.TEST_SUB_OBJ_GET_CLASS.page | 14 +
...egress.TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT.page | 14 +
.../Regress.TEST_WI_802_1X.page | 14 +
.../Regress.TEST_WI_802_1X_GET_CLASS.page | 14 +
tests/scanner/Regress-1.0-expected.gir | 353 ++++++++++++++++++++-
tests/scanner/Utility-1.0-expected.gir | 20 +-
tests/scanner/WarnLib-1.0-expected.gir | 29 +-
53 files changed, 1101 insertions(+), 11 deletions(-)
---
diff --git a/girepository/girparser.c b/girepository/girparser.c
index d545d310..53450baf 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -2845,7 +2845,12 @@ start_element_handler (GMarkupParseContext *context,
break;
case 'f':
- if (start_function (context, element_name,
+ if (strcmp ("function-macro", element_name) == 0)
+ {
+ state_switch (ctx, STATE_PASSTHROUGH);
+ goto out;
+ }
+ else if (start_function (context, element_name,
attribute_names, attribute_values,
ctx, error))
goto out;
diff --git a/giscanner/ast.py b/giscanner/ast.py
index 2daccdfb..66fe0cf1 100644
--- a/giscanner/ast.py
+++ b/giscanner/ast.py
@@ -728,6 +728,14 @@ class Callable(Node):
raise ValueError("Unknown argument %s" % (name, ))
+class FunctionMacro(Node):
+ def __init__(self, name, parameters, symbol):
+ Node.__init__(self, name)
+ self.symbol = symbol
+ self.parameters = parameters
+ self.introspectable = False
+
+
class Function(Callable):
def __init__(self, name, retval, parameters, throws, symbol):
@@ -868,7 +876,7 @@ class TypeContainer(Annotated):
self.direction = direction
if transfer is not None:
self.transfer = transfer
- elif typenode.is_const:
+ elif typenode and typenode.is_const:
self.transfer = PARAM_TRANSFER_NONE
else:
self.transfer = None
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index 9ea408b4..7687c35c 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -142,6 +142,7 @@ class GIRParser(object):
if not self._types_only:
parser_methods[_corens('constant')] = self._parse_constant
+ parser_methods[_corens('function-macro')] = self._parse_function_macro
parser_methods[_corens('function')] = self._parse_function
for node in ns.getchildren():
@@ -310,6 +311,23 @@ class GIRParser(object):
function = self._parse_function_common(node, ast.Function)
self._namespace.append(function)
+ def _parse_function_macro(self, node):
+ name = node.attrib['name']
+ symbol = node.attrib.get(_cns('identifier'))
+ parameters = []
+ parameters_node = node.find(_corens('parameters'))
+ if (parameters_node is not None):
+ for paramnode in self._find_children(parameters_node, _corens('parameter')):
+ param = ast.Parameter(paramnode.attrib.get('name'), None)
+ parameters.append(param)
+ self._parse_generic_attribs(paramnode, param)
+
+ func = ast.FunctionMacro(name, parameters, symbol)
+ self._parse_generic_attribs(node, func)
+
+ self._namespace.track(func)
+ self._namespace.append(func)
+
def _parse_parameter(self, node):
typeval = self._parse_type(node)
param = ast.Parameter(node.attrib.get('name'),
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index 91875a2d..d1333cb7 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -90,6 +90,8 @@ class GIRWriter(XMLWriter):
def _write_node(self, node):
if isinstance(node, ast.Function):
self._write_function(node)
+ elif isinstance(node, ast.FunctionMacro):
+ self._write_function_macro(node)
elif isinstance(node, ast.Enum):
self._write_enum(node)
elif isinstance(node, ast.Bitfield):
@@ -222,6 +224,15 @@ class GIRWriter(XMLWriter):
attrs.append(('moved-to', func.moved_to))
self._write_callable(func, tag_name, attrs)
+ def _write_function_macro(self, macro):
+ attrs = [('name', macro.name),
+ ('c:identifier', macro.symbol)]
+ self._append_version(macro, attrs)
+ self._append_node_generic(macro, attrs)
+ with self.tagcontext('function-macro', attrs):
+ self._write_generic(macro)
+ self._write_untyped_parameters(macro)
+
def _write_method(self, method):
self._write_function(method, tag_name='method')
@@ -255,6 +266,20 @@ class GIRWriter(XMLWriter):
for parameter in callable.parameters:
self._write_parameter(callable, parameter)
+ def _write_untyped_parameters(self, macro):
+ if not macro.parameters:
+ return
+ with self.tagcontext('parameters'):
+ for parameter in macro.parameters:
+ self._write_untyped_parameter(macro, parameter)
+
+ def _write_untyped_parameter(self, macro, parameter):
+ attrs = []
+ if parameter.argname is not None:
+ attrs.append(('name', parameter.argname))
+ with self.tagcontext('parameter', attrs):
+ self._write_generic(parameter)
+
def _write_parameter(self, parent, parameter, nodename='parameter'):
attrs = []
if parameter.argname is not None:
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index e1536b93..9468751d 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -176,6 +176,16 @@ class MainTransformer(object):
block = self._blocks.get(node.symbol)
self._apply_annotations_callable(node, chain, block)
+ def _apply_annotations_function_macro(self, node, chain):
+ block = self._blocks.get(node.symbol)
+ for param in node.parameters:
+ if block:
+ doc_param = block.params.get(param.argname)
+ if doc_param:
+ param.doc = doc_param.description
+ param.doc_position = doc_param.position
+ self._apply_annotations_annotated(node, block)
+
def _pass_read_annotations_early(self, node, chain):
if isinstance(node, ast.Record):
if node.ctype is not None:
@@ -215,6 +225,8 @@ class MainTransformer(object):
self._apply_annotations_alias(node, chain)
if isinstance(node, ast.Function):
self._apply_annotations_function(node, chain)
+ if isinstance(node, ast.FunctionMacro):
+ self._apply_annotations_function_macro(node, chain)
if isinstance(node, ast.Callback):
self._apply_annotations_callable(node, chain, block=self._get_block(node))
if isinstance(node, (ast.Class, ast.Interface, ast.Union, ast.Enum,
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y
index 29d98b41..6a2ffc1d 100644
--- a/giscanner/scannerparser.y
+++ b/giscanner/scannerparser.y
@@ -1500,6 +1500,15 @@ object_macro
function_macro_define
: function_macro '(' identifier_list ')'
+ {
+ GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_FUNCTION_MACRO,
scanner->current_file, lineno);
+ GISourceType *func = gi_source_function_new ();
+ sym->ident = g_strdup ($1);
+ func->child_list = $3;
+ gi_source_symbol_merge_type (sym, func);
+ gi_source_scanner_add_symbol (scanner, sym);
+ gi_source_symbol_unref (sym);
+ }
;
object_macro_define
diff --git a/giscanner/sourcescanner.h b/giscanner/sourcescanner.h
index a788abe9..40c5fc96 100644
--- a/giscanner/sourcescanner.h
+++ b/giscanner/sourcescanner.h
@@ -41,6 +41,7 @@ typedef enum
CSYMBOL_TYPE_CONST,
CSYMBOL_TYPE_OBJECT,
CSYMBOL_TYPE_FUNCTION,
+ CSYMBOL_TYPE_FUNCTION_MACRO,
CSYMBOL_TYPE_STRUCT,
CSYMBOL_TYPE_UNION,
CSYMBOL_TYPE_ENUM,
diff --git a/giscanner/sourcescanner.py b/giscanner/sourcescanner.py
index 471131c2..1632e1cb 100644
--- a/giscanner/sourcescanner.py
+++ b/giscanner/sourcescanner.py
@@ -41,11 +41,12 @@ ALL_EXTS = SOURCE_EXTS + HEADER_EXTS
CSYMBOL_TYPE_CONST,
CSYMBOL_TYPE_OBJECT,
CSYMBOL_TYPE_FUNCTION,
+ CSYMBOL_TYPE_FUNCTION_MACRO,
CSYMBOL_TYPE_STRUCT,
CSYMBOL_TYPE_UNION,
CSYMBOL_TYPE_ENUM,
CSYMBOL_TYPE_TYPEDEF,
- CSYMBOL_TYPE_MEMBER) = range(10)
+ CSYMBOL_TYPE_MEMBER) = range(11)
(CTYPE_INVALID,
CTYPE_VOID,
@@ -90,6 +91,7 @@ def symbol_type_name(symbol_type):
CSYMBOL_TYPE_CONST: 'const',
CSYMBOL_TYPE_OBJECT: 'object',
CSYMBOL_TYPE_FUNCTION: 'function',
+ CSYMBOL_TYPE_FUNCTION_MACRO: 'function_macro',
CSYMBOL_TYPE_STRUCT: 'struct',
CSYMBOL_TYPE_UNION: 'union',
CSYMBOL_TYPE_ENUM: 'enum',
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index 9911de70..a3cf3126 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -31,7 +31,7 @@ from .sourcescanner import (
SourceSymbol, ctype_name, CTYPE_POINTER,
CTYPE_BASIC_TYPE, CTYPE_UNION, CTYPE_ARRAY, CTYPE_TYPEDEF,
CTYPE_VOID, CTYPE_ENUM, CTYPE_FUNCTION, CTYPE_STRUCT,
- CSYMBOL_TYPE_FUNCTION, CSYMBOL_TYPE_TYPEDEF, CSYMBOL_TYPE_STRUCT,
+ CSYMBOL_TYPE_FUNCTION, CSYMBOL_TYPE_FUNCTION_MACRO, CSYMBOL_TYPE_TYPEDEF, CSYMBOL_TYPE_STRUCT,
CSYMBOL_TYPE_ENUM, CSYMBOL_TYPE_UNION, CSYMBOL_TYPE_OBJECT,
CSYMBOL_TYPE_MEMBER, CSYMBOL_TYPE_ELLIPSIS, CSYMBOL_TYPE_CONST,
TYPE_QUALIFIER_CONST, TYPE_QUALIFIER_VOLATILE)
@@ -77,7 +77,11 @@ class Transformer(object):
# handle #ifdef. But this introduces an arch-dependency in the .gir
# file. So far this has only come up scanning glib - in theory, other
# modules will just depend on that.
- if isinstance(original, ast.Constant) and isinstance(node, ast.Constant):
+ if original and\
+ (isinstance(original, ast.FunctionMacro) or isinstance(node,
+ ast.FunctionMacro)):
+ pass
+ elif isinstance(original, ast.Constant) and isinstance(node, ast.Constant):
pass
elif original is node:
# Ignore attempts to add the same node to the namespace. This can
@@ -368,6 +372,8 @@ raise ValueError."""
stype = symbol.type
if stype == CSYMBOL_TYPE_FUNCTION:
return self._create_function(symbol)
+ elif stype == CSYMBOL_TYPE_FUNCTION_MACRO:
+ return self._create_function_macro(symbol)
elif stype == CSYMBOL_TYPE_TYPEDEF:
return self._create_typedef(symbol)
elif stype == CSYMBOL_TYPE_STRUCT:
@@ -450,6 +456,15 @@ raise ValueError."""
func.add_symbol_reference(symbol)
return func
+ def _create_function_macro(self, symbol):
+ if symbol.ident.startswith('_'):
+ return None
+ parameters = list(self._create_parameters(symbol, symbol.base_type))
+ name = self._strip_symbol(symbol)
+ macro = ast.FunctionMacro(name, parameters, symbol.ident)
+ macro.add_symbol_reference(symbol)
+ return macro
+
def _create_source_type(self, source_type, is_parameter=False):
assert source_type is not None
if source_type.type == CTYPE_VOID:
@@ -719,7 +734,10 @@ raise ValueError."""
if symbol.type == CSYMBOL_TYPE_ELLIPSIS:
return ast.Parameter('...', ast.Varargs())
else:
- ptype = self._create_type_from_base(symbol.base_type, is_parameter=True)
+ if symbol.base_type:
+ ptype = self._create_type_from_base(symbol.base_type, is_parameter=True)
+ else:
+ ptype = None
if symbol.ident is None:
if symbol.base_type and symbol.base_type.type != CTYPE_VOID:
diff --git a/tests/scanner/Bar-1.0-expected.gir b/tests/scanner/Bar-1.0-expected.gir
index cdd80951..b1ab368c 100644
--- a/tests/scanner/Bar-1.0-expected.gir
+++ b/tests/scanner/Bar-1.0-expected.gir
@@ -10,9 +10,16 @@ and/or use gtk-doc annotations. -->
<package name="gobject-2.0"/>
<namespace name="Bar"
version="1.0"
- shared-library=""
+ shared-library="libbarapp-1.0.so"
c:identifier-prefixes="Bar"
c:symbol-prefixes="bar">
+ <function-macro name="BAZ" c:identifier="BAR_BAZ" introspectable="0">
+ <source-position filename="barapp.h" line="7"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<class name="Baz"
c:symbol-prefix="baz"
c:type="BarBaz"
@@ -33,6 +40,31 @@ and/or use gtk-doc annotations. -->
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
+ <function-macro name="IS_BAZ" c:identifier="BAR_IS_BAZ" introspectable="0">
+ <source-position filename="barapp.h" line="8"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MUTTER_IS_WINDOW"
+ c:identifier="MUTTER_IS_WINDOW"
+ introspectable="0">
+ <source-position filename="barapp.h" line="40"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MUTTER_WINDOW"
+ c:identifier="MUTTER_WINDOW"
+ introspectable="0">
+ <source-position filename="barapp.h" line="39"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<class name="MutterWindow"
c:symbol-prefix="mutter_window"
c:type="MutterWindow"
diff --git a/tests/scanner/GetType-1.0-expected.gir b/tests/scanner/GetType-1.0-expected.gir
index b3908fcf..82957f2a 100644
--- a/tests/scanner/GetType-1.0-expected.gir
+++ b/tests/scanner/GetType-1.0-expected.gir
@@ -11,9 +11,27 @@ and/or use gtk-doc annotations. -->
<c:include name="gettype.h"/>
<namespace name="GetType"
version="1.0"
- shared-library="libgettype.so"
+ shared-library="libgettype-1.0.so"
c:identifier-prefixes="GetType"
c:symbol-prefixes="gettype">
+ <function-macro name="IS_OBJECT"
+ c:identifier="GETTYPE_IS_OBJECT"
+ introspectable="0">
+ <source-position filename="gettype.h" line="10"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT"
+ c:identifier="GETTYPE_OBJECT"
+ introspectable="0">
+ <source-position filename="gettype.h" line="9"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<class name="Object"
c:symbol-prefix="object"
c:type="GetTypeObject"
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_BUFFER.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_BUFFER.page
new file mode 100644
index 00000000..a19732ff
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_BUFFER.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_BUFFER"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_BUFFER</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_INTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_INTERFACE.page
new file mode 100644
index 00000000..ccfc103d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_INTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_INTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_INTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_INTERFACE_GET_INTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_INTERFACE_GET_INTERFACE.page
new file mode 100644
index 00000000..44c56868
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_INTERFACE_GET_INTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_INTERFACE_GET_INTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_INTERFACE_GET_INTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_BUFFER.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_BUFFER.page
new file mode 100644
index 00000000..df9a24d6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_BUFFER.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_BUFFER"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_BUFFER</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_INTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_INTERFACE.page
new file mode 100644
index 00000000..7f3df40a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_INTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_INTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_INTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_OBJECT.page
new file mode 100644
index 00000000..1298e051
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_OTHER_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_OTHER_OBJECT.page
new file mode 100644
index 00000000..0dd1b3b8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_OTHER_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_OTHER_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_OTHER_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_SUBINTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_SUBINTERFACE.page
new file mode 100644
index 00000000..8fca4f23
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_SUBINTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_SUBINTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_SUBINTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_SUBOBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_SUBOBJECT.page
new file mode 100644
index 00000000..eabb258b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_SUBOBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_SUBOBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_SUBOBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_TILE_HANDLER.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_TILE_HANDLER.page
new file mode 100644
index 00000000..99c1ca96
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_TILE_HANDLER.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_IS_TILE_HANDLER"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_IS_TILE_HANDLER</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_OBJECT.page
new file mode 100644
index 00000000..4ac10e8e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_OTHER_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_OTHER_OBJECT.page
new file mode 100644
index 00000000..a9399447
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_OTHER_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_OTHER_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_OTHER_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBINTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBINTERFACE.page
new file mode 100644
index 00000000..5498267d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBINTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_SUBINTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_SUBINTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBINTERFACE_GET_INTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBINTERFACE_GET_INTERFACE.page
new file mode 100644
index 00000000..402359e1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBINTERFACE_GET_INTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_SUBINTERFACE_GET_INTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_SUBINTERFACE_GET_INTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBOBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBOBJECT.page
new file mode 100644
index 00000000..45496efa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUBOBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_SUBOBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_SUBOBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_TILE_HANDLER.page
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_TILE_HANDLER.page
new file mode 100644
index 00000000..9359575a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_TILE_HANDLER.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_TILE_HANDLER"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.FOO_TILE_HANDLER</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FLOATING.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FLOATING.page
new file mode 100644
index 00000000..6951797a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FLOATING.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_FLOATING"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_FLOATING</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FLOATING_GET_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FLOATING_GET_CLASS.page
new file mode 100644
index 00000000..b188c7c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FLOATING_GET_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_FLOATING_GET_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_FLOATING_GET_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT.page
new file mode 100644
index 00000000..901d3e56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_FUNDAMENTAL_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_FUNDAMENTAL_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_CAST.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_CAST.page
new file mode 100644
index 00000000..b96c56c4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_CAST.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_FUNDAMENTAL_OBJECT_CAST"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_FUNDAMENTAL_OBJECT_CAST</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_CLASS.page
new file mode 100644
index 00000000..60b1e436
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_FUNDAMENTAL_OBJECT_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_FUNDAMENTAL_OBJECT_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_GET_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_GET_CLASS.page
new file mode 100644
index 00000000..46258bad
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_FUNDAMENTAL_OBJECT_GET_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_FUNDAMENTAL_OBJECT_GET_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_FUNDAMENTAL_OBJECT_GET_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_GNUC_EXTENSION_STMT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_GNUC_EXTENSION_STMT.page
new file mode 100644
index 00000000..83ccf14e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_GNUC_EXTENSION_STMT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_GNUC_EXTENSION_STMT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_GNUC_EXTENSION_STMT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_INTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_INTERFACE.page
new file mode 100644
index 00000000..fe57387d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_INTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_INTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_INTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_INTERFACE_GET_IFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_INTERFACE_GET_IFACE.page
new file mode 100644
index 00000000..1695d093
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_INTERFACE_GET_IFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_INTERFACE_GET_IFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_INTERFACE_GET_IFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FLOATING.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FLOATING.page
new file mode 100644
index 00000000..999d93da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FLOATING.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_FLOATING"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_FLOATING</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FUNDAMENTAL_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FUNDAMENTAL_OBJECT.page
new file mode 100644
index 00000000..7e74e8a8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FUNDAMENTAL_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_FUNDAMENTAL_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_FUNDAMENTAL_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FUNDAMENTAL_OBJECT_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FUNDAMENTAL_OBJECT_CLASS.page
new file mode 100644
index 00000000..868e53ef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_FUNDAMENTAL_OBJECT_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_FUNDAMENTAL_OBJECT_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_FUNDAMENTAL_OBJECT_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_INTERFACE.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_INTERFACE.page
new file mode 100644
index 00000000..0d2bb65e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_INTERFACE.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_INTERFACE"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_INTERFACE</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_OBJECT.page
new file mode 100644
index 00000000..2e858033
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_SUB_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_SUB_OBJECT.page
new file mode 100644
index 00000000..0a609dda
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_SUB_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_SUB_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_SUB_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_WI_802_1X.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_WI_802_1X.page
new file mode 100644
index 00000000..aec4da2d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_IS_WI_802_1X.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_IS_WI_802_1X"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_IS_WI_802_1X</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_OBJECT.page
new file mode 100644
index 00000000..97ad81db
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_OBJ_GET_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_OBJ_GET_CLASS.page
new file mode 100644
index 00000000..030a801a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_OBJ_GET_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_OBJ_GET_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_OBJ_GET_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_SUB_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_SUB_OBJECT.page
new file mode 100644
index 00000000..fae3dab4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_SUB_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_SUB_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_SUB_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_SUB_OBJ_GET_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_SUB_OBJ_GET_CLASS.page
new file mode 100644
index 00000000..871d4ddb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_SUB_OBJ_GET_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_SUB_OBJ_GET_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_SUB_OBJ_GET_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT.page
new file mode 100644
index 00000000..39fcdb63
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_WI_802_1X.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_WI_802_1X.page
new file mode 100644
index 00000000..fc7575fb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_WI_802_1X.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_WI_802_1X"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_WI_802_1X</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TEST_WI_802_1X_GET_CLASS.page
b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_WI_802_1X_GET_CLASS.page
new file mode 100644
index 00000000..d950fc8f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TEST_WI_802_1X_GET_CLASS.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TEST_WI_802_1X_GET_CLASS"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="default" type="guide"/>
+ </info>
+ <title>Regress.TEST_WI_802_1X_GET_CLASS</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 9ca0174c..ce2153fd 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -12,7 +12,7 @@ and/or use gtk-doc annotations. -->
<c:include name="regress.h"/>
<namespace name="Regress"
version="1.0"
- shared-library="libregress.so"
+ shared-library="libregress-1.0.so"
c:identifier-prefixes="Regress"
c:symbol-prefixes="regress">
<alias name="AliasedTestBoxed" c:type="RegressAliasedTestBoxed">
@@ -1247,6 +1247,15 @@ it says it's pointer but it's actually a string.</doc>
<source-position filename="regress.h" line="521"/>
<type name="gdouble" c:type="gdouble"/>
</constant>
+ <function-macro name="FOO_BUFFER"
+ c:identifier="REGRESS_FOO_BUFFER"
+ introspectable="0">
+ <source-position filename="foo.h" line="36"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<constant name="FOO_DEFINE_SHOULD_BE_EXPOSED"
value="should be exposed"
c:type="REGRESS_FOO_DEFINE_SHOULD_BE_EXPOSED">
@@ -1259,18 +1268,153 @@ it says it's pointer but it's actually a string.</doc>
<source-position filename="foo.h" line="249"/>
<type name="gint" c:type="gint"/>
</constant>
+ <function-macro name="FOO_INTERFACE"
+ c:identifier="REGRESS_FOO_INTERFACE"
+ introspectable="0">
+ <source-position filename="foo.h" line="17"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_INTERFACE_GET_INTERFACE"
+ c:identifier="REGRESS_FOO_INTERFACE_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="foo.h" line="19"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_BUFFER"
+ c:identifier="REGRESS_FOO_IS_BUFFER"
+ introspectable="0">
+ <source-position filename="foo.h" line="37"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_INTERFACE"
+ c:identifier="REGRESS_FOO_IS_INTERFACE"
+ introspectable="0">
+ <source-position filename="foo.h" line="18"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_OBJECT"
+ c:identifier="REGRESS_FOO_IS_OBJECT"
+ introspectable="0">
+ <source-position filename="foo.h" line="29"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_OTHER_OBJECT"
+ c:identifier="REGRESS_FOO_IS_OTHER_OBJECT"
+ introspectable="0">
+ <source-position filename="foo.h" line="41"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_SUBINTERFACE"
+ c:identifier="REGRESS_FOO_IS_SUBINTERFACE"
+ introspectable="0">
+ <source-position filename="foo.h" line="23"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_SUBOBJECT"
+ c:identifier="REGRESS_FOO_IS_SUBOBJECT"
+ introspectable="0">
+ <source-position filename="foo.h" line="33"/>
+ <parameters>
+ <parameter name="subobject">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_IS_TILE_HANDLER"
+ c:identifier="REGRESS_FOO_IS_TILE_HANDLER"
+ introspectable="0">
+ <source-position filename="foo.c" line="630"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_OBJECT"
+ c:identifier="REGRESS_FOO_OBJECT"
+ introspectable="0">
+ <source-position filename="foo.h" line="28"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_OTHER_OBJECT"
+ c:identifier="REGRESS_FOO_OTHER_OBJECT"
+ introspectable="0">
+ <source-position filename="foo.h" line="40"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<constant name="FOO_PIE_IS_TASTY"
value="3.141590"
c:type="REGRESS_FOO_PIE_IS_TASTY">
<source-position filename="foo.h" line="14"/>
<type name="gdouble" c:type="gdouble"/>
</constant>
+ <function-macro name="FOO_SUBINTERFACE"
+ c:identifier="REGRESS_FOO_SUBINTERFACE"
+ introspectable="0">
+ <source-position filename="foo.h" line="22"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_SUBINTERFACE_GET_INTERFACE"
+ c:identifier="REGRESS_FOO_SUBINTERFACE_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="foo.h" line="24"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FOO_SUBOBJECT"
+ c:identifier="REGRESS_FOO_SUBOBJECT"
+ introspectable="0">
+ <source-position filename="foo.h" line="32"/>
+ <parameters>
+ <parameter name="subobject">
+ </parameter>
+ </parameters>
+ </function-macro>
<constant name="FOO_SUCCESS_INT"
value="4408"
c:type="REGRESS_FOO_SUCCESS_INT">
<source-position filename="foo.h" line="10"/>
<type name="gint" c:type="gint"/>
</constant>
+ <function-macro name="FOO_TILE_HANDLER"
+ c:identifier="REGRESS_FOO_TILE_HANDLER"
+ introspectable="0">
+ <source-position filename="foo.c" line="629"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<enumeration name="FooASingle" c:type="RegressFooASingle">
<source-position filename="foo.h" line="534"/>
<member name="foo_some_single_enum"
@@ -2582,6 +2726,213 @@ use it should be.</doc>
<type name="gdouble" c:type="double"/>
</field>
</record>
+ <function-macro name="TEST_FLOATING"
+ c:identifier="REGRESS_TEST_FLOATING"
+ introspectable="0">
+ <source-position filename="regress.h" line="1247"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_FLOATING_GET_CLASS"
+ c:identifier="REGRESS_TEST_FLOATING_GET_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="1249"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_FUNDAMENTAL_OBJECT"
+ c:identifier="REGRESS_TEST_FUNDAMENTAL_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="1001"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_FUNDAMENTAL_OBJECT_CAST"
+ c:identifier="REGRESS_TEST_FUNDAMENTAL_OBJECT_CAST"
+ introspectable="0">
+ <source-position filename="regress.h" line="1003"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_FUNDAMENTAL_OBJECT_CLASS"
+ c:identifier="REGRESS_TEST_FUNDAMENTAL_OBJECT_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="1002"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_FUNDAMENTAL_OBJECT_GET_CLASS"
+ c:identifier="REGRESS_TEST_FUNDAMENTAL_OBJECT_GET_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="1000"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_GNUC_EXTENSION_STMT"
+ c:identifier="REGRESS_TEST_GNUC_EXTENSION_STMT"
+ introspectable="0">
+ <source-position filename="regress.h" line="1425"/>
+ <parameters>
+ <parameter name="foo">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_INTERFACE"
+ c:identifier="REGRESS_TEST_INTERFACE"
+ introspectable="0">
+ <source-position filename="regress.h" line="1195"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_INTERFACE_GET_IFACE"
+ c:identifier="REGRESS_TEST_INTERFACE_GET_IFACE"
+ introspectable="0">
+ <source-position filename="regress.h" line="1197"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_FLOATING"
+ c:identifier="REGRESS_TEST_IS_FLOATING"
+ introspectable="0">
+ <source-position filename="regress.h" line="1248"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_FUNDAMENTAL_OBJECT"
+ c:identifier="REGRESS_TEST_IS_FUNDAMENTAL_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="998"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_FUNDAMENTAL_OBJECT_CLASS"
+ c:identifier="REGRESS_TEST_IS_FUNDAMENTAL_OBJECT_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="999"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_INTERFACE"
+ c:identifier="REGRESS_TEST_IS_INTERFACE"
+ introspectable="0">
+ <source-position filename="regress.h" line="1196"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_OBJECT"
+ c:identifier="REGRESS_TEST_IS_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="761"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_SUB_OBJECT"
+ c:identifier="REGRESS_TEST_IS_SUB_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="964"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_IS_WI_802_1X"
+ c:identifier="REGRESS_TEST_IS_WI_802_1X"
+ introspectable="0">
+ <source-position filename="regress.h" line="1214"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_OBJECT"
+ c:identifier="REGRESS_TEST_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="760"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_OBJ_GET_CLASS"
+ c:identifier="REGRESS_TEST_OBJ_GET_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="762"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_SUB_OBJECT"
+ c:identifier="REGRESS_TEST_SUB_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="963"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_SUB_OBJ_GET_CLASS"
+ c:identifier="REGRESS_TEST_SUB_OBJ_GET_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="965"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT"
+ c:identifier="REGRESS_TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT"
+ introspectable="0">
+ <source-position filename="regress.h" line="1038"/>
+ <parameters>
+ <parameter name="value">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_WI_802_1X"
+ c:identifier="REGRESS_TEST_WI_802_1X"
+ introspectable="0">
+ <source-position filename="regress.h" line="1213"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TEST_WI_802_1X_GET_CLASS"
+ c:identifier="REGRESS_TEST_WI_802_1X_GET_CLASS"
+ introspectable="0">
+ <source-position filename="regress.h" line="1215"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
<enumeration name="TestABCError"
glib:type-name="RegressTestABCError"
glib:get-type="regress_test_abc_error_get_type"
diff --git a/tests/scanner/Utility-1.0-expected.gir b/tests/scanner/Utility-1.0-expected.gir
index 010bd45b..5972d328 100644
--- a/tests/scanner/Utility-1.0-expected.gir
+++ b/tests/scanner/Utility-1.0-expected.gir
@@ -11,7 +11,7 @@ and/or use gtk-doc annotations. -->
<c:include name="utility.h"/>
<namespace name="Utility"
version="1.0"
- shared-library="libutility.so"
+ shared-library="libutility-1.0.so"
c:identifier-prefixes="Utility"
c:symbol-prefixes="utility">
<alias name="Glyph" c:type="UtilityGlyph">
@@ -79,6 +79,24 @@ and/or use gtk-doc annotations. -->
<member name="c" value="4" c:identifier="UTILITY_FLAG_C">
</member>
</bitfield>
+ <function-macro name="IS_OBJECT"
+ c:identifier="UTILITY_IS_OBJECT"
+ introspectable="0">
+ <source-position filename="utility.h" line="10"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT"
+ c:identifier="UTILITY_OBJECT"
+ introspectable="0">
+ <source-position filename="utility.h" line="9"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
<class name="Object"
c:symbol-prefix="object"
c:type="UtilityObject"
diff --git a/tests/scanner/WarnLib-1.0-expected.gir b/tests/scanner/WarnLib-1.0-expected.gir
index 3ceb088e..b7f47997 100644
--- a/tests/scanner/WarnLib-1.0-expected.gir
+++ b/tests/scanner/WarnLib-1.0-expected.gir
@@ -10,9 +10,36 @@ and/or use gtk-doc annotations. -->
<c:include name="warnlib.h"/>
<namespace name="WarnLib"
version="1.0"
- shared-library=""
+ shared-library="libwarnlib-1.0.so"
c:identifier-prefixes="WarnLib"
c:symbol-prefixes="warnlib_">
+ <function-macro name="IS_WHATEVER"
+ c:identifier="WARNLIB_IS_WHATEVER"
+ introspectable="0">
+ <source-position filename="warnlib.h" line="20"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WHATEVER"
+ c:identifier="WARNLIB_WHATEVER"
+ introspectable="0">
+ <source-position filename="warnlib.h" line="19"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WHATEVER_GET_IFACE"
+ c:identifier="WARNLIB_WHATEVER_GET_IFACE"
+ introspectable="0">
+ <source-position filename="warnlib.h" line="21"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
<interface name="Whatever"
c:symbol-prefix="whatever"
c:type="WarnLibWhatever"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]