Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-01-04 | Use a single coredata dictionary for options | Dylan Baker | 1 | -2/+2 | |
This patches takes the options work to it's logical conclusion: A single flat dictionary of OptionKey: UserOptions. This allows us to simplify a large number of cases, as we don't need to check if an option is in this dict or that one (or any of 5 or 6, actually). | |||||
2021-01-04 | move OptionKey to mesonlib | Dylan Baker | 1 | -2/+2 | |
There's starting to be a lot of things including coredata that coredata needs to itself include. putting it in mesonlib makes more sense | |||||
2021-01-04 | use new optionkey.is_* methods | Dylan Baker | 1 | -1/+1 | |
2021-01-04 | use the OptionKey type for command line and machine files | Dylan Baker | 1 | -3/+3 | |
2020-10-16 | Refactor handling of machine file options | Xavier Claessens | 1 | -1/+1 | |
It is much easier to not try to parse options into complicated structures until we actually collected all options: machine files, command line, project()'s default_options, environment. | |||||
2020-10-15 | intro: Add extra_files key to intro output (fixes #7310) | Daniel Mensinger | 1 | -29/+39 | |
2020-09-24 | ast/introspection: Fix typing violation due to untyped functions | Dylan Baker | 1 | -7/+8 | |
When we add type annotations to this in compilers this will break, unless we've already filtered out the non-string arguments. | |||||
2020-09-09 | Merge pull request #7657 from mensinda/moreTyping | Dylan Baker | 1 | -3/+8 | |
typing: Strict type annotations | |||||
2020-09-09 | Implement add_languages(native:) in introspector | Jon Turney | 1 | -2/+7 | |
2020-09-08 | typing: fix LGTM bot error | Daniel Mensinger | 1 | -0/+4 | |
2020-09-08 | typing: fix code review | Daniel Mensinger | 1 | -1/+1 | |
2020-09-08 | typing: more fixes | Daniel Mensinger | 1 | -1/+2 | |
2020-09-08 | typing: completely type ast | Daniel Mensinger | 1 | -3/+3 | |
2020-09-08 | Factor out an _add_languages() function in introspector | Jon Turney | 1 | -11/+15 | |
Factor out an _add_languages() function in introspector, rather than calling func_add_languages() with arguments crafted to fake an interpreter call. | |||||
2020-08-01 | Put machine file and cmd line parsing in Environment | Dylan Baker | 1 | -1/+1 | |
This creates a full set of option in environment that mirror those in coredata, this mirroring of the coredata structure is convenient because lookups int env (such as when initializing compilers) becomes a straight dict lookup, with no list iteration. It also means that all of the command line and machine files are read and stored in the correct order before they're ever accessed, simplifying the logic of using them. | |||||
2020-03-05 | mesonbuild/mesonlib: Add type annotations | Dylan Baker | 1 | -2/+2 | |
2020-03-02 | types: Remove redundant __init__() -> None annotation | Daniel Mensinger | 1 | -2/+2 | |
2020-03-02 | types: Use import typing as T | Daniel Mensinger | 1 | -24/+24 | |
2020-03-02 | types: Annotate ast/introspection.py | Daniel Mensinger | 1 | -36/+56 | |
2020-03-02 | types: Annotate ast/interpreter.py | Daniel Mensinger | 1 | -4/+3 | |
2020-03-02 | types: Annotate the AST visitors | Daniel Mensinger | 1 | -3/+2 | |
2019-12-10 | mintro: Add version key to --scan-dependencies (fixes #6287) | Daniel Mensinger | 1 | -1/+6 | |
2019-11-06 | Fix typos found by codespell | Wolfgang Stöggl | 1 | -2/+2 | |
- Typos were found by codespell v1.16.0 | |||||
2019-07-31 | mintro: Fix crash related to the sources kwarg (fixes #5741) | Daniel Mensinger | 1 | -2/+6 | |
2019-06-09 | Purge `is_cross` and friends without changing user interfaces | John Ericson | 1 | -7/+8 | |
In most cases instead pass `for_machine`, the name of the relevant machines (what compilers target, what targets run on, etc). This allows us to use the cross code path in the native case, deduplicating the code. As one can see, environment got bigger as more information is kept structured there, while ninjabackend got a smaller. Overall a few amount of lines were added, but the hope is what's added is a lot simpler than what's removed. | |||||
2019-05-13 | ast: fix #5376 | Daniel Mensinger | 1 | -1/+1 | |
2019-04-29 | Fix builtin variable names | Daniel Mensinger | 1 | -3/+3 | |
2019-04-29 | Fix blind exceptions | Daniel Mensinger | 1 | -1/+1 | |
2019-04-23 | ast: resolve ID nodes in flatten_args | Daniel Mensinger | 1 | -3/+4 | |
2019-04-23 | Don't use mutable types as default arguments | Dylan Baker | 1 | -1/+2 | |
This isn't safe given the way python implements default arguments. Basically python store a reference to the instance it was passed, and then if that argument is not provided it uses the default. That means that two calls to the same function get the same instance, if one of them mutates that instance every subsequent call that gets the default will receive the mutated instance. The idiom to this in python is to use None and replace the None, def in(value: str, container: Optional[List[str]]) -> boolean: return src in (container or []) if there is no chance of mutation it's less code to use or and take advantage of None being falsy. If you may want to mutate the value passed in you need a ternary (this example is stupid): def add(value: str, container: Optional[List[str]]) -> None: container = container if container is not None else [] container.append(value) I've used or everywhere I'm sure that the value will not be mutated by the function and erred toward caution by using ternaries for the rest. | |||||
2019-04-02 | mintro: fix some interpreter crashes | Daniel Mensinger | 1 | -1/+3 | |
2019-04-02 | mintro: Fix crash when required is a function (closes #5177) | Daniel Mensinger | 1 | -0/+2 | |
2019-03-04 | rewriter: Handle duplicate target | Daniel Mensinger | 1 | -3/+4 | |
2019-03-03 | intro: Fixed code after rebase | Daniel Mensinger | 1 | -1/+1 | |
2019-03-03 | mintro: Dependencies from source | Daniel Mensinger | 1 | -0/+8 | |
2019-03-03 | Target introspection from source | Daniel Mensinger | 1 | -2/+4 | |
2019-03-03 | rewriter: Minor code cleanup | Daniel Mensinger | 1 | -12/+13 | |
2019-03-03 | rewriter: Handle Arithmetic node | Daniel Mensinger | 1 | -2/+4 | |
2019-03-01 | mintro: Add subproject_dir to --projectinfo | Daniel Schulte | 1 | -2/+2 | |
2019-02-26 | mconf: Fixed crash for variables in targets (closes #4960) | Daniel Mensinger | 1 | -1/+2 | |
2019-02-16 | Can now find the assignment node of a value | Daniel Mensinger | 1 | -5/+5 | |
2019-02-16 | Merge pull request #4858 from mensinda/rwKWARGS | Jussi Pakkanen | 1 | -4/+18 | |
rewriter: Add support for kwargs modification | |||||
2019-02-11 | allow setting directory locations in a native file | Dylan Baker | 1 | -1/+1 | |
This allows the person running configure (either a developer, user, or distro maintainer) to keep a configuration of where various kinds of files should end up. | |||||
2019-01-31 | Added dependecy kwargs support | Daniel Mensinger | 1 | -0/+12 | |
2019-01-31 | Added test case | Daniel Mensinger | 1 | -4/+2 | |
2019-01-31 | Some fixes and assignment based target find | Daniel Mensinger | 1 | -0/+4 | |
2019-01-22 | Fixed flake8 issues | Daniel Mensinger | 1 | -3/+2 | |
2019-01-22 | First rewriter test case | Daniel Mensinger | 1 | -7/+34 | |
2019-01-22 | Added target AST Interpreter support | Daniel Mensinger | 1 | -2/+92 | |
2019-01-22 | Moved the introspection interpreter | Daniel Mensinger | 1 | -0/+125 | |