aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/ast/introspection.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-04-20 20:38:59 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-04-23 09:10:42 +0200
commit2bb4ec19f2ce290a348d54185cf5931c6d37aa58 (patch)
treee08ae4c28c844d5b64edbd51a143b67063b31df9 /mesonbuild/ast/introspection.py
parentadd821db64b3c1fd7568736aaa67de53ad382eb4 (diff)
downloadmeson-2bb4ec19f2ce290a348d54185cf5931c6d37aa58.zip
meson-2bb4ec19f2ce290a348d54185cf5931c6d37aa58.tar.gz
meson-2bb4ec19f2ce290a348d54185cf5931c6d37aa58.tar.bz2
ast: resolve ID nodes in flatten_args
Diffstat (limited to 'mesonbuild/ast/introspection.py')
-rw-r--r--mesonbuild/ast/introspection.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/ast/introspection.py b/mesonbuild/ast/introspection.py
index f8fb2e8..49d531f 100644
--- a/mesonbuild/ast/introspection.py
+++ b/mesonbuild/ast/introspection.py
@@ -182,11 +182,12 @@ class IntrospectionInterpreter(AstInterpreter):
srcqueue += [curr.left, curr.right]
if arg_node is None:
continue
- elemetary_nodes = list(filter(lambda x: isinstance(x, (str, StringNode)), arg_node.arguments))
- srcqueue += list(filter(lambda x: isinstance(x, (FunctionNode, ArrayNode, IdNode, ArithmeticNode)), arg_node.arguments))
+ arg_nodes = arg_node.arguments.copy()
# Pop the first element if the function is a build target function
if isinstance(curr, FunctionNode) and curr.func_name in build_target_functions:
- elemetary_nodes.pop(0)
+ arg_nodes.pop(0)
+ elemetary_nodes = [x for x in arg_nodes if isinstance(x, (str, StringNode))]
+ srcqueue += [x for x in arg_nodes if isinstance(x, (FunctionNode, ArrayNode, IdNode, ArithmeticNode))]
if elemetary_nodes:
source_nodes += [curr]