diff options
| author | Volker Weißmann <volker.weissmann@gmx.de> | 2025-03-24 18:23:56 +0100 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-05-29 09:20:27 -0700 |
| commit | cab5c8e2b73fc6084ead0f6bf61a649e0c4be1f5 (patch) | |
| tree | e093fcdab64ebe07b05a422e774486f2cc404462 /mesonbuild/mparser.py | |
| parent | f042e82e6a5c18f7863cd14bf717d3d021f0c0d7 (diff) | |
| download | meson-cab5c8e2b73fc6084ead0f6bf61a649e0c4be1f5.tar.gz | |
rewriter: Rewrite how we add/remove source files
Change the semantics of IntrospectionBuildTarget.source_nodes
and IntrospectionBuildTarget.extra_files .
The rewriter and the static introspection tool used to be very broken,
now it is *less* broken, hence we add some tests in this commit.
Fixes #11763
Diffstat (limited to 'mesonbuild/mparser.py')
| -rw-r--r-- | mesonbuild/mparser.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index a0a8d273e..3dd8f0a5e 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -369,6 +369,13 @@ class ArgumentNode(BaseNode): mlog.warning('This will be an error in Meson 2.0.') self.kwargs[name] = value + def get_kwarg_or_default(self, name: str, default: BaseNode) -> BaseNode: + for k, v in self.kwargs.items(): + assert isinstance(k, IdNode) + if k.value == name: + return v + return default + def set_kwarg_no_check(self, name: BaseNode, value: BaseNode) -> None: self.kwargs[name] = value |
