summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
authorXavier Claessens <xclaessens@netflix.com>2025-10-13 15:49:24 -0400
committerXavier Claessens <xclaesse@gmail.com>2025-10-15 12:15:39 -0400
commit569fe981b08f8fa38ff3533651ceff414decadf4 (patch)
tree75dc96f5ba8fce8bbc8da7d0ce027b573ed20bce /mesonbuild/interpreter/interpreterobjects.py
parentbd33265b04ca609afe6bb895453c5757bbbbb27d (diff)
downloadmeson-569fe981b08f8fa38ff3533651ceff414decadf4.tar.gz
Add common ABC for ExternalProgram and LocalProgram
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py11
1 files changed, 3 insertions, 8 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index 431086669..addc7d3db 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -23,7 +23,7 @@ from ..interpreterbase import (
flatten, resolve_second_level_holders, InterpreterException, InvalidArguments, InvalidCode)
from ..interpreter.type_checking import NoneType, ENV_KW, ENV_SEPARATOR_KW, PKGCONFIG_DEFINE_KW
from ..dependencies import Dependency, ExternalLibrary, InternalDependency
-from ..programs import ExternalProgram
+from ..programs import ExternalProgram, BaseProgram
from ..mesonlib import HoldableObject, listify, Popen_safe
import typing as T
@@ -605,9 +605,9 @@ class DependencyHolder(ObjectHolder[Dependency]):
raise InterpreterException('as_shared method is only supported on declare_dependency() objects')
return self.held_object.get_as_shared(kwargs['recursive'])
-_BASEPROG = T.TypeVar('_BASEPROG', bound=T.Union[ExternalProgram, build.LocalProgram])
+_BASEPROG = T.TypeVar('_BASEPROG', bound=BaseProgram)
-class _BaseProgramHolder(ObjectHolder[_BASEPROG]):
+class BaseProgramHolder(ObjectHolder[_BASEPROG]):
def __init__(self, ep: _BASEPROG, interpreter: 'Interpreter') -> None:
super().__init__(ep, interpreter)
@@ -656,11 +656,6 @@ class _BaseProgramHolder(ObjectHolder[_BASEPROG]):
def found(self) -> bool:
return self.held_object.found()
-class ExternalProgramHolder(_BaseProgramHolder[ExternalProgram]):
- pass
-
-class LocalProgramHolder(_BaseProgramHolder[build.LocalProgram]):
- pass
class ExternalLibraryHolder(ObjectHolder[ExternalLibrary]):
def __init__(self, el: ExternalLibrary, interpreter: 'Interpreter'):