aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase/baseobjects.py
AgeCommit message (Collapse)AuthorFilesLines
2021-08-16interperterbase: help type checkers do better type deductionDylan Baker1-1/+5
This assert causes several type checkers (both mypy and pyright) to force `obj` to be a base `HoldableObject` instead of the specialized object. Since the check itself may still be valuable as we don't have fully type annotation coverage it's simply been removed when type checking to aid in type specialization.
2021-07-21Fix meson.version().version_compare() regression in subprojectXavier Claessens1-1/+1
2021-06-26refactor: Refactor BothLibraries logicDaniel Mensinger1-1/+3
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.
2021-06-21fix: Ensure that build targets have all methods from ExternalProgramDaniel Mensinger1-1/+1
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`.
2021-06-18holders: Introduce HoldableObjectDaniel Mensinger1-11/+23
2021-06-18interpreter: Meson does not have floats --> remove themDaniel Mensinger1-2/+2
2021-06-18interpreter: Add a new MesonInterpreterObject for non-elementary objectsDaniel Mensinger1-2/+5
2021-06-18interpreter: Refactor interpreter.compiler to use ObjectHolderDaniel Mensinger1-2/+2
2021-06-18interpreter: Refactor ObjectHolder to extend InterpreterObjectDaniel Mensinger1-10/+10
2021-06-11interpreter: Split base objects and helpers from interpreterbase.pyDaniel Mensinger1-0/+79