summaryrefslogtreecommitdiff
path: root/giscanner/introspectablepass.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/introspectablepass.py')
-rw-r--r--giscanner/introspectablepass.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/giscanner/introspectablepass.py b/giscanner/introspectablepass.py
index 8aa7f8d3..4b35f7d9 100644
--- a/giscanner/introspectablepass.py
+++ b/giscanner/introspectablepass.py
@@ -31,6 +31,7 @@ class IntrospectablePass(object):
# Public API
def validate(self):
+ self._namespace.walk(self._introspectable_alias_analysis)
self._namespace.walk(self._propagate_callable_skips)
self._namespace.walk(self._analyze_node)
self._namespace.walk(self._introspectable_callable_analysis)
@@ -166,6 +167,12 @@ class IntrospectablePass(object):
if target.skip:
parent.skip = True
+ def _introspectable_alias_analysis(self, obj, stack):
+ if isinstance(obj, ast.Alias):
+ if not self._type_is_introspectable(obj.target):
+ obj.introspectable = False
+ return True
+
def _propagate_callable_skips(self, obj, stack):
if isinstance(obj, ast.Callable):
for param in obj.parameters: