aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/mesonmain.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-06-11 16:58:13 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-06-18 23:48:33 +0200
commit63ade7d9378cae8ec2a811581684bf459407a7f0 (patch)
tree8cbc21520642db608b529f04d01fe25f89149ad3 /mesonbuild/interpreter/mesonmain.py
parent202e345dfba7ff3a39e4fb560b98889182dcc506 (diff)
downloadmeson-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.py11
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