summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--giscanner/maintransformer.py5
-rw-r--r--tests/scanner/Regress-1.0-expected.gir6
2 files changed, 7 insertions, 4 deletions
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index 4ae55169..9729d4d4 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -719,12 +719,15 @@ usage is void (*_gtk_reserved1)(void);"""
# than the number of signal parameters
if block and len(block.tags) > len(signal.parameters):
names = block.tags.items()
+ # Resolve real parameter names early, so that in later
+ # phase we can refer to them while resolving annotations.
+ for i, param in enumerate(signal.parameters):
+ param.argname, tag = names[i+1]
else:
names = []
for i, param in enumerate(signal.parameters):
if names:
name, tag = names[i+1]
- param.name = name
options = getattr(tag, 'options', {})
param_type = options.get(OPT_TYPE)
if param_type:
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index c0590d7e..17e130d6 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -630,7 +630,7 @@ case.</doc>
<type name="none"/>
</return-value>
<parameters>
- <parameter name="object" transfer-ownership="none">
+ <parameter name="arr" transfer-ownership="none">
<doc xml:whitespace="preserve">numbers</doc>
<array name="GLib.Array">
<type name="guint"/>
@@ -645,7 +645,7 @@ TpAccount::status-changed</doc>
<type name="none"/>
</return-value>
<parameters>
- <parameter name="object" transfer-ownership="none">
+ <parameter name="hash" transfer-ownership="none">
<type name="GLib.HashTable">
<type name="utf8"/>
<type name="GObject.Value"/>
@@ -659,7 +659,7 @@ TpAccount::status-changed</doc>
<type name="none"/>
</return-value>
<parameters>
- <parameter name="object" transfer-ownership="none">
+ <parameter name="strs" transfer-ownership="none">
<doc xml:whitespace="preserve">strings</doc>
<array>
<type name="utf8"/>