Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-09-11 | parser: simplify other node constructors | Charles Brunet | 1 | -5/+5 | |
2023-09-11 | parser: simplify Assignment and PlusAssignment nodes | Charles Brunet | 1 | -2/+2 | |
2023-09-11 | parser: add SymbolNode to preserve operators | Charles Brunet | 1 | -8/+11 | |
2023-09-11 | parser: use IdNode for function name and assignment name | Charles Brunet | 1 | -7/+7 | |
2023-09-11 | parser: preserve escape chars in strings | Charles Brunet | 1 | -12/+12 | |
use separate Node for multiline strings | |||||
2023-04-11 | fix various spelling issues | Josh Soref | 1 | -7/+7 | |
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> | |||||
2023-03-14 | rewriter: fix indentation of kwargs | Charles Brunet | 1 | -0/+2 | |
2023-03-14 | rewriter: add missing command aliases | Charles Brunet | 1 | -3/+3 | |
2023-03-14 | rewriter: activate vsenv | Charles Brunet | 1 | -1/+2 | |
2023-02-01 | simplify instantiation of builtin type using builtins instead of functions | Eli Schwartz | 1 | -1/+1 | |
2022-11-30 | pylint: enable the set_membership plugin | Dylan Baker | 1 | -5/+5 | |
Which adds the `use-set-for-membership` check. It's generally faster in python to use a set with the `in` keyword, because it's a hash check instead of a linear walk, this is especially true with strings, where it's actually O(n^2), one loop over the container, and an inner loop of the strings (as string comparison works by checking that `a[n] == b[n]`, in a loop). Also, I'm tired of complaining about this in reviews, let the tools do it for me :) | |||||
2022-09-19 | pylint: enable consider-using-in | Dylan Baker | 1 | -1/+1 | |
2022-06-01 | ast: rename module constant to match PEP8 style | Dylan Baker | 1 | -2/+2 | |
2022-05-23 | move various imports into TYPE_CHECKING blocks for neatness | Eli Schwartz | 1 | -1/+5 | |
2021-12-15 | rewriter: create {add,rm}_extra_files commands | Celeste Wouters | 1 | -3/+96 | |
Add ability to mutate a target's `extra_files` list through the rewriter. The logic is copied from sources add/rm, but changes the `extra_files` kwarg instead of the sources positional argument. Has additional logic to handle creating the `extra_files` list if it doesn't exist. | |||||
2021-08-31 | pylint: turn on superflous-parens | Dylan Baker | 1 | -5/+5 | |
We have a lot of these. Some of them are harmless, if unidiomatic, such as `if (condition)`, others are potentially dangerous `assert(...)`, as `assert(condtion)` works as expected, but `assert(condition, message)` will result in an assertion that never triggers, as what you're actually asserting is `bool(tuple[2])`, which will always be true. | |||||
2021-08-31 | pylint: turn on superfluous parens warning | Dylan Baker | 1 | -6/+6 | |
Which is really useful for catching parens used with keywords like assert. Don't use parens with assert, it's bad. | |||||
2021-06-29 | fix: Always explicitly set encoding for text files (fixes #8263) | Daniel Mensinger | 1 | -4/+4 | |
2021-03-04 | mass rewrite of string formatting to use f-strings everywhere | Eli Schwartz | 1 | -5/+5 | |
performed by running "pyupgrade --py36-plus" and committing the results | |||||
2021-03-04 | various python neatness cleanups | Eli Schwartz | 1 | -2/+2 | |
All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes | |||||
2021-01-12 | Allow '//' as project function id due to git bash path conversion. | Luke Elliott | 1 | -2/+6 | |
See https://stackoverflow.com/questions/54258996/git-bash-string-parameter-with-at-start-is-being-expanded-to-a-file-path | |||||
2021-01-04 | Use a single coredata dictionary for options | Dylan Baker | 1 | -5/+5 | |
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 | use OptionKey for builtin and base options | Dylan Baker | 1 | -4/+2 | |
I would have prefered to do these seperatately, but they are combined in some cases, so it was much easier to convert them together. this eliminates the builtins_per_machine dict, as it's duplicated with the OptionKey's machine parameter. | |||||
2021-01-04 | use OptionKey for compiler_options | Dylan Baker | 1 | -2/+1 | |
2021-01-04 | use OptionKey for backend_options | Dylan Baker | 1 | -1/+1 | |
2021-01-04 | use OptionKey for coredata.user_options | Dylan Baker | 1 | -1/+1 | |
2020-11-05 | rewrite: fix modified member spelling | Marc-André Lureau | 1 | -10/+10 | |
2020-11-05 | rewrite: fix function spelling | Marc-André Lureau | 1 | -3/+3 | |
2020-04-20 | Compiler options per lang | John Ericson | 1 | -2/+2 | |
A current rather untyped storage of options is one of the things that contributes to the options code being so complex. This takes a small step in synching down by storing the compiler options in dicts per language. Future work might be replacing the langauge strings with an enum, and defaultdict with a custom struct, just like `PerMachine` and `MachineChoice`. | |||||
2020-03-02 | review: Initial fixup | Daniel Mensinger | 1 | -2/+2 | |
2020-03-02 | types: Annotate ast/interpreter.py | Daniel Mensinger | 1 | -3/+3 | |
2020-03-02 | types: Annotate the AST visitors | Daniel Mensinger | 1 | -1/+1 | |
2020-03-02 | types: Annotate mparser.py | Daniel Mensinger | 1 | -2/+6 | |
This also fixes that the keys in ArgumentNode.kwargs are all of the type BaseNode now. Before this commit, it was possible that both strings and Nodes where used as keys. | |||||
2020-02-28 | Rename 'subdir' -> 'filename' in location objects | Jon Turney | 1 | -18/+18 | |
2020-02-28 | Update rewriter for filename in node location | Jon Turney | 1 | -14/+15 | |
2020-01-08 | types: import typing as T (fixes #6333) | Daniel Mensinger | 1 | -15/+15 | |
2019-12-05 | lgtm: ignore all safe `__init__ method calls overridden method` warnings | Daniel Mensinger | 1 | -2/+2 | |
2019-12-05 | lgtm: Fix unused variable | Daniel Mensinger | 1 | -1/+1 | |
2019-11-06 | Fix typos found by codespell | Wolfgang Stöggl | 1 | -6/+6 | |
- Typos were found by codespell v1.16.0 | |||||
2019-06-05 | Per machine do 'build.' and '' option prefixes | John Ericson | 1 | -2/+5 | |
See the docs/ changes for details. | |||||
2019-06-05 | rewriter: Fix that default_options would not set the correct id | Daniel Mensinger | 1 | -2/+2 | |
Currently default_options uses "" for the kwarks id, however this is incorect and it must be "/". Additionally, this error won't be ignored in the future with "--skip" (this is why the tests were passing and this wasn't detected earlier). | |||||
2019-04-25 | rewriter: optimize the list_to_dict function | Dylan Baker | 1 | -4/+9 | |
This uses an iterator instead of walking a list, which is roughly twice as fast. This also does away with the pre-check on whether the list is valid for converting to a dict, and instead handles the case of an uneven number by catching another exception. This is preferable since it's a fatal error anyway, so avoiding it in the non-fatal case is preferable. | |||||
2019-04-21 | rewriter: fix error message | Daniel Mensinger | 1 | -1/+1 | |
2019-03-04 | rewriter: Renamed _src -> _sources | Daniel Mensinger | 1 | -1/+1 | |
2019-03-04 | rewriter: Make sure variable names are valid | Daniel Mensinger | 1 | -5/+9 | |
2019-03-04 | rewriter: Require '/' for the project ID | Daniel Mensinger | 1 | -1/+1 | |
2019-03-04 | rewriter: Abort on error by default | Daniel Mensinger | 1 | -28/+48 | |
2019-03-04 | rewriter: Changed line sort key | Daniel Mensinger | 1 | -1/+1 | |
2019-03-04 | rewriter: Quiet logging by default | Daniel Mensinger | 1 | -1/+7 | |
2019-03-04 | rewriter: type definition code fix | Daniel Mensinger | 1 | -8/+8 | |