diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-06-11 16:58:13 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-06-18 23:48:33 +0200 |
commit | 63ade7d9378cae8ec2a811581684bf459407a7f0 (patch) | |
tree | 8cbc21520642db608b529f04d01fe25f89149ad3 /mesonbuild/interpreter/mesonmain.py | |
parent | 202e345dfba7ff3a39e4fb560b98889182dcc506 (diff) | |
download | meson-63ade7d9378cae8ec2a811581684bf459407a7f0.zip meson-63ade7d9378cae8ec2a811581684bf459407a7f0.tar.gz meson-63ade7d9378cae8ec2a811581684bf459407a7f0.tar.bz2 |
interpreter: Add a new MesonInterpreterObject for non-elementary objects
Diffstat (limited to 'mesonbuild/interpreter/mesonmain.py')
-rw-r--r-- | mesonbuild/interpreter/mesonmain.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/mesonmain.py b/mesonbuild/interpreter/mesonmain.py index e76ad2e..1a4fbea 100644 --- a/mesonbuild/interpreter/mesonmain.py +++ b/mesonbuild/interpreter/mesonmain.py @@ -7,7 +7,7 @@ from .. import mlog from ..mesonlib import unholder, MachineChoice, OptionKey from ..programs import OverrideProgram, ExternalProgram -from ..interpreterbase import (InterpreterObject, FeatureNewKwargs, FeatureNew, FeatureDeprecated, +from ..interpreterbase import (MesonInterpreterObject, FeatureNewKwargs, FeatureNew, FeatureDeprecated, typed_pos_args, permittedKwargs, noArgsFlattening, noPosargs, noKwargs, MesonVersionString, InterpreterException) @@ -18,9 +18,12 @@ from .interpreterobjects import (ExecutableHolder, ExternalProgramHolder, import typing as T -class MesonMain(InterpreterObject): +if T.TYPE_CHECKING: + from .interpreter import Interpreter + +class MesonMain(MesonInterpreterObject): def __init__(self, build: 'build.Build', interpreter: 'Interpreter'): - InterpreterObject.__init__(self) + super().__init__() self.build = build self.interpreter = interpreter self.methods.update({'get_compiler': self.get_compiler_method, @@ -55,7 +58,7 @@ class MesonMain(InterpreterObject): }) def _find_source_script(self, prog: T.Union[str, mesonlib.File, ExecutableHolder], args): - + if isinstance(prog, (ExecutableHolder, ExternalProgramHolder)): return self.interpreter.backend.get_executable_serialisation([unholder(prog)] + args) found = self.interpreter.func_find_program({}, prog, {}).held_object |