summaryrefslogtreecommitdiff
path: root/giscanner/maintransformer.py
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2021-07-27 14:47:15 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2021-08-05 17:47:29 +0100
commite79ea48ac3fa5db8a3042b7ff2bc0c3976833f51 (patch)
treecd99a5c12c82439711d41c9446838f4d2b506fde /giscanner/maintransformer.py
parent8d0074205a69c15431c8490c61d0dfe4dfeda3d6 (diff)
downloadgobject-introspection-e79ea48ac3fa5db8a3042b7ff2bc0c3976833f51.tar.gz
Ignore accessor annotations for non-introspectable properties
If a property is not introspectable we need to decouple it from its accessors; the property data will not be compiled into the typelib, and when the compiler will try to resolve the offsets into the binary blob we'll get a fatal exception.
Diffstat (limited to 'giscanner/maintransformer.py')
-rw-r--r--giscanner/maintransformer.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index 4e4a5573..3da86797 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -1466,6 +1466,8 @@ method or constructor of some type."""
def _pair_property_accessors(self, node):
"""Look for accessor methods for class properties"""
for prop in node.properties:
+ if not prop.introspectable:
+ continue
if prop.setter is None:
normalized_name = prop.name.replace('-', '_')
if prop.writable and not prop.construct_only:
@@ -1486,6 +1488,8 @@ method or constructor of some type."""
else:
getter = [prop.getter]
for method in node.methods:
+ if not method.introspectable:
+ continue
if setter is not None and method.name == setter:
if method.set_property is None:
method.set_property = prop.name