Xavier Claessens
0183954ea1
Fix meson.version().version_compare() regression in subproject
3 years ago
Daniel Mensinger
ca6683095d
fix: Fix recursive _unholder permissive kwarg ( fixes #8977 )
3 years ago
Eli Schwartz
bd6f46e723
condense lines
3 years ago
Eli Schwartz
dd31891c1f
more f-strings too complex to be caught by pyupgrade
3 years ago
Daniel Mensinger
971a0b1775
fix: get_variable default variables are not ObjectHolders ( fixes #8936 )
3 years ago
Daniel Mensinger
3e396b3782
fix: Always explicitly set encoding for text files ( fixes #8263 )
3 years ago
Daniel Mensinger
8f7343831b
refactor: Refactor BothLibraries logic
...
This commit introduces a new type of `HoldableObject`: The
`SecondLevelHolder`. The primary purpose of this class is
to handle cases where two (or more) `HoldableObject`s are
stored at the same time (with one default object). The
best (and currently only) example here is the `BothLibraries`
class.
3 years ago
Dylan Baker
dd296f321b
interpreterbase: Add evolve to KwargInfo
...
This works just like OptionKey.evolve, pass new keyword arguments to
override old ones, otherwise the original versions are copied to the new
one.
3 years ago
Daniel Mensinger
5cd9f88d6c
fix: Ensure that build targets have all methods from ExternalProgram
...
As a side-effect from #8885 `find_program()` returns now `Executable`
objects when `meson.override_find_program` is called with an
executable target. To resolve this conflict the missing methods
from `ExternalProgram` are added to `BuildTarget`.
3 years ago
Daniel Mensinger
0358445b6e
fix: dicts and list need _holderify for fallback
3 years ago
Daniel Mensinger
f1ac7db2e6
fix: Fix set_variable not holderifying ( fixes #8904 )
3 years ago
Daniel Mensinger
34c28dc92c
holders: remove unholder
3 years ago
Daniel Mensinger
c2c7f7c9d7
holders: Ensure that InterpreterBase is the sole instance for (un)holderifying
3 years ago
Daniel Mensinger
66b32a4591
holders: Introduce HoldableObject
3 years ago
Daniel Mensinger
d601227cb2
interpreter: Add FileHolder and remove specical case for File
3 years ago
Daniel Mensinger
7be172fe16
interpreter: Meson does not have floats --> remove them
3 years ago
Daniel Mensinger
63ade7d937
interpreter: Add a new MesonInterpreterObject for non-elementary objects
3 years ago
Daniel Mensinger
202e345dfb
interpreter: Refactor interpreter.compiler to use ObjectHolder
3 years ago
Daniel Mensinger
2b09af834a
interpreter: Refactor ObjectHolder to extend InterpreterObject
3 years ago
Daniel Mensinger
8f997efc8b
decorators: Add not_set_warning to KwargInfo
3 years ago
Daniel Mensinger
bad14b23d2
decorators: Fix typo
3 years ago
Dylan Baker
5bb75dc3af
interpreterbase: Add deprecated_values and since_values to KwargInfo
...
This allows checking specific values that are added or deprecated, which
we do a surprising amount of. This works with both containers and scalar
values
4 years ago
Daniel Mensinger
e686545fce
interpreter: Split decorators from interpreterbase.py
4 years ago
Daniel Mensinger
fc0397b309
interpreter: Split Disabler from interpreterbase.py
4 years ago
Daniel Mensinger
687eebee29
interpreter: Split base objects and helpers from interpreterbase.py
4 years ago
Daniel Mensinger
2e3550db14
interpreter: Split exception calsses from interpreterbase.py
4 years ago
Daniel Mensinger
ad584f022d
interpreter: Move interpreterbase.py into a new package
4 years ago