aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-06-17 00:07:04 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-06-18 23:48:33 +0200
commitc2c7f7c9d7b05dddb1cee028b1b685c7f2bd424c (patch)
tree7392e6220ddede2781662bcf0851080b4f0aa1ff /mesonbuild/interpreter/interpreterobjects.py
parent6879e84c48632bcd0f6c277e81b4032a00bb1d5c (diff)
downloadmeson-c2c7f7c9d7b05dddb1cee028b1b685c7f2bd424c.zip
meson-c2c7f7c9d7b05dddb1cee028b1b685c7f2bd424c.tar.gz
meson-c2c7f7c9d7b05dddb1cee028b1b685c7f2bd424c.tar.bz2
holders: Ensure that InterpreterBase is the sole instance for (un)holderifying
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index ac37f3a..8b62496 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -13,15 +13,13 @@ from .. import mlog
from ..modules import ModuleReturnValue, ModuleObject, ModuleState, ExtensionModule
from ..backend.backends import TestProtocol
-from ..interpreterbase import (ContainerTypeInfo, KwargInfo,
- MesonInterpreterObject, ObjectHolder, MutableInterpreterObject,
- FeatureNewKwargs, FeatureNew, FeatureDeprecated,
- typed_kwargs, typed_pos_args, stringArgs,
- permittedKwargs, noArgsFlattening, noPosargs,
- TYPE_var, TYPE_nkwargs, flatten,
- InterpreterException, InvalidArguments,
- InvalidCode)
-from ..interpreterbase.decorators import FeatureCheckBase
+from ..interpreterbase import (
+ ContainerTypeInfo, KwargInfo,
+ InterpreterObject, MesonInterpreterObject, ObjectHolder, MutableInterpreterObject,
+ FeatureCheckBase, FeatureNewKwargs, FeatureNew, FeatureDeprecated,
+ typed_pos_args, typed_kwargs, KwargInfo, stringArgs, permittedKwargs,
+ noArgsFlattening, noPosargs, noKwargs, unholder_return, TYPE_var, TYPE_kwargs, TYPE_nvar, TYPE_nkwargs,
+ flatten, InterpreterException, InvalidArguments, InvalidCode)
from ..dependencies import Dependency, ExternalLibrary, InternalDependency
from ..programs import ExternalProgram
from ..mesonlib import HoldableObject, MesonException, OptionKey, listify, Popen_safe
@@ -751,7 +749,8 @@ class SubprojectHolder(ObjectHolder[T.Optional['Interpreter']]):
@permittedKwargs({})
@noArgsFlattening
- def get_variable_method(self, args, kwargs):
+ @unholder_return
+ def get_variable_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> T.Union[TYPE_var, InterpreterObject]:
if len(args) < 1 or len(args) > 2:
raise InterpreterException('Get_variable takes one or two arguments.')
if not self.found():