diff options
Diffstat (limited to 'mesonbuild/ast/interpreter.py')
-rw-r--r-- | mesonbuild/ast/interpreter.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index f5a1e5e..fe11870 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -31,7 +31,6 @@ from ..interpreterbase import ( ) from ..interpreter import ( - Interpreter, StringHolder, BooleanHolder, IntegerHolder, @@ -64,6 +63,9 @@ from ..mparser import ( import os, sys import typing as T +if T.TYPE_CHECKING: + from ..interpreter import Interpreter + class DontCareObject(MesonInterpreterObject): pass @@ -378,15 +380,15 @@ class AstInterpreter(InterpreterBase): mkwargs = {} # type: T.Dict[str, TYPE_nvar] try: if isinstance(src, str): - result = StringHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) + result = StringHolder(src, T.cast('Interpreter', self)).method_call(node.name, margs, mkwargs) elif isinstance(src, bool): - result = BooleanHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) + result = BooleanHolder(src, T.cast('Interpreter', self)).method_call(node.name, margs, mkwargs) elif isinstance(src, int): - result = IntegerHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) + result = IntegerHolder(src, T.cast('Interpreter', self)).method_call(node.name, margs, mkwargs) elif isinstance(src, list): - result = ArrayHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) + result = ArrayHolder(src, T.cast('Interpreter', self)).method_call(node.name, margs, mkwargs) elif isinstance(src, dict): - result = DictHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) + result = DictHolder(src, T.cast('Interpreter', self)).method_call(node.name, margs, mkwargs) except mesonlib.MesonException: return None |