aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/ast/interpreter.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-04-22 21:01:45 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-04-23 09:10:48 +0200
commit8e587dfeba48f4f659d702ccecf890eea471627a (patch)
tree63854ec034caceb29d0f4e9d2d8f88f198e3d77b /mesonbuild/ast/interpreter.py
parenta6281939dff0e1a6f63769d5285cce104bc00046 (diff)
downloadmeson-8e587dfeba48f4f659d702ccecf890eea471627a.zip
meson-8e587dfeba48f4f659d702ccecf890eea471627a.tar.gz
meson-8e587dfeba48f4f659d702ccecf890eea471627a.tar.bz2
ast: Address code review
Diffstat (limited to 'mesonbuild/ast/interpreter.py')
-rw-r--r--mesonbuild/ast/interpreter.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py
index 060e087..eb9cb9f 100644
--- a/mesonbuild/ast/interpreter.py
+++ b/mesonbuild/ast/interpreter.py
@@ -243,8 +243,10 @@ class AstInterpreter(interpreterbase.InterpreterBase):
self.reverse_assignment[node.value.ast_id] = node
self.assign_vals[node.var_name] = [self.evaluate_statement(node.value)] # Evaluate the value just in case
- def flatten_args(self, args: Any, include_unknown_args: bool = False, id_loop_detect: List[str] = []) -> List[str]:
- def quick_resolve(n: BaseNode, loop_detect: List[str] = []) -> Any:
+ def flatten_args(self, args: Any, include_unknown_args: bool = False, id_loop_detect: Optional[List[str]] = None) -> List[str]:
+ def quick_resolve(n: BaseNode, loop_detect: Optional[List[str]] = None) -> Any:
+ if loop_detect is None:
+ loop_detect = []
if isinstance(n, IdNode):
if n.value in loop_detect or n.value not in self.assignments:
return []
@@ -254,6 +256,8 @@ class AstInterpreter(interpreterbase.InterpreterBase):
else:
return n
+ if id_loop_detect is None:
+ id_loop_detect = []
flattend_args = []
if isinstance(args, ArrayNode):
@@ -288,7 +292,7 @@ class AstInterpreter(interpreterbase.InterpreterBase):
args = [self.dict_method_call(src, args.name, margs)]
else:
return []
- except Exception:
+ except mesonlib.MesonException:
return []
# Make sure we are always dealing with lists