diff options
| author | Xavier Claessens <xavier.claessens@collabora.com> | 2023-10-21 09:47:39 -0400 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2023-11-24 22:15:14 +0200 |
| commit | 85e4ee5b54c334d4104e6c3b2f3fda11cd9b2dd6 (patch) | |
| tree | 556dfe82f07a9738c003ff18ff6ef2f78c679a6c /mesonbuild/interpreter/interpreterobjects.py | |
| parent | 7f5f432ec98c1961b0b9712f36cec3ae3c5cd9f9 (diff) | |
| download | meson-85e4ee5b54c334d4104e6c3b2f3fda11cd9b2dd6.tar.gz | |
File: Add full_path() method
This is needed now that str.format() is not allowing it any more. It is
also more consistent with other objects that have that method as well,
such as build targets.
Fixes: #12406
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
| -rw-r--r-- | mesonbuild/interpreter/interpreterobjects.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index f13e3ff4a..4320cf52e 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -701,7 +701,16 @@ class IncludeDirsHolder(ObjectHolder[build.IncludeDirs]): pass class FileHolder(ObjectHolder[mesonlib.File]): - pass + def __init__(self, file: mesonlib.File, interpreter: 'Interpreter'): + super().__init__(file, interpreter) + self.methods.update({'full_path': self.full_path_method, + }) + + @noPosargs + @noKwargs + @FeatureNew('file.full_path', '1.4.0') + def full_path_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str: + return self.held_object.absolute_path(self.env.source_dir, self.env.build_dir) class HeadersHolder(ObjectHolder[build.Headers]): pass |
