diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-04-22 21:01:45 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-04-23 09:10:48 +0200 |
commit | 8e587dfeba48f4f659d702ccecf890eea471627a (patch) | |
tree | 63854ec034caceb29d0f4e9d2d8f88f198e3d77b | |
parent | a6281939dff0e1a6f63769d5285cce104bc00046 (diff) | |
download | meson-8e587dfeba48f4f659d702ccecf890eea471627a.zip meson-8e587dfeba48f4f659d702ccecf890eea471627a.tar.gz meson-8e587dfeba48f4f659d702ccecf890eea471627a.tar.bz2 |
ast: Address code review
-rw-r--r-- | mesonbuild/ast/interpreter.py | 10 |
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 |