diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-04-24 22:50:23 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-24 22:50:23 +0300 |
commit | 8018ef6ac6dead04f9a9f37bed3b47237b90ebad (patch) | |
tree | 0cedc11158920ec074edc8b08a6fa118f27d30f9 /mesonbuild/ast/introspection.py | |
parent | 26e205293a590aa700711198fc4ec16727e567b2 (diff) | |
parent | 8e587dfeba48f4f659d702ccecf890eea471627a (diff) | |
download | meson-8018ef6ac6dead04f9a9f37bed3b47237b90ebad.zip meson-8018ef6ac6dead04f9a9f37bed3b47237b90ebad.tar.gz meson-8018ef6ac6dead04f9a9f37bed3b47237b90ebad.tar.bz2 |
Merge pull request #5292 from mensinda/introInterpFix
ast: Add basic string operation support for AstInterpreter (fixes #5286)
Diffstat (limited to 'mesonbuild/ast/introspection.py')
-rw-r--r-- | mesonbuild/ast/introspection.py | 7 |
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] |