[gobject-introspection] transformer: only include function macros from headers. See #159
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] transformer: only include function macros from headers. See #159
- Date: Mon, 22 Jul 2019 17:50:21 +0000 (UTC)
commit edca61f92810bb0cc0f5aac1ee36dd0d487a917f
Author: Christoph Reiter <reiter christoph gmail com>
Date: Mon Jul 22 19:36:00 2019 +0200
transformer: only include function macros from headers. See #159
We already do the same thing for constants (see _create_const()).
Otherwise macros in .c files which aren't namespaced will trigger a warning.
giscanner/transformer.py | 4 ++++
.../Regress.FOO_IS_TILE_HANDLER.page | 14 --------------
.../Regress.FOO_TILE_HANDLER.page | 14 --------------
tests/scanner/Regress-1.0-expected.gir | 18 ------------------
4 files changed, 4 insertions(+), 46 deletions(-)
---
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index a3cf3126..f63894cb 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -459,6 +459,10 @@ raise ValueError."""
def _create_function_macro(self, symbol):
if symbol.ident.startswith('_'):
return None
+
+ if (symbol.source_filename is None or not symbol.source_filename.endswith('.h')):
+ return None
+
parameters = list(self._create_parameters(symbol, symbol.base_type))
name = self._strip_symbol(symbol)
macro = ast.FunctionMacro(name, parameters, symbol.ident)
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index ce2153fd..a5e3665d 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -1340,15 +1340,6 @@ it says it's pointer but it's actually a string.</doc>
</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">
@@ -1406,15 +1397,6 @@ it says it's pointer but it's actually a string.</doc>
<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"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]