summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2019-07-22 19:36:00 +0200
committerChristoph Reiter <reiter.christoph@gmail.com>2019-07-22 19:44:54 +0200
commitedca61f92810bb0cc0f5aac1ee36dd0d487a917f (patch)
tree6fd1d050aa5d61ba36c6561ffba2f7fc9c75b042
parent0f3efc9058e2f249e84c02840fd96b6a413a9201 (diff)
downloadgobject-introspection-edca61f92810bb0cc0f5aac1ee36dd0d487a917f.tar.gz
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.
-rw-r--r--giscanner/transformer.py4
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_TILE_HANDLER.page14
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FOO_TILE_HANDLER.page14
-rw-r--r--tests/scanner/Regress-1.0-expected.gir18
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-C-expected/Regress.FOO_IS_TILE_HANDLER.page b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_TILE_HANDLER.page
deleted file mode 100644
index 99c1ca96..00000000
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_IS_TILE_HANDLER.page
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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_TILE_HANDLER.page b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_TILE_HANDLER.page
deleted file mode 100644
index 9359575a..00000000
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_TILE_HANDLER.page
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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-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"