Commit Graph

106 Commits

Author SHA1 Message Date
Dylan Baker 8e1670cc60 rewriter: optimize the list_to_dict function
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-25 12:28:51 -07:00
Daniel Mensinger bffd28d4b2 rewriter: fix error message 2019-04-21 22:15:27 +03:00
Daniel Mensinger 5f6b94ccb9
rewriter: Renamed _src -> _sources 2019-03-04 13:00:31 +01:00
Daniel Mensinger 617445ea72
rewriter: Make sure variable names are valid 2019-03-04 13:00:31 +01:00
Daniel Mensinger 594bf678c7
rewriter: Require '/' for the project ID 2019-03-04 13:00:30 +01:00
Daniel Mensinger 609a21ff9f
rewriter: Abort on error by default 2019-03-04 13:00:30 +01:00
Daniel Mensinger c957a2aa94
rewriter: Changed line sort key 2019-03-04 13:00:30 +01:00
Daniel Mensinger 5d2f14fce7
rewriter: Quiet logging by default 2019-03-04 13:00:30 +01:00
Daniel Mensinger 06695fec60
rewriter: type definition code fix 2019-03-04 13:00:29 +01:00
Daniel Mensinger e724fd5438
rewriter: Handle duplicate target 2019-03-04 13:00:29 +01:00
Daniel Mensinger b55dbf0fae
rewriter: Dump JSON to stderr instead of stdout 2019-03-04 13:00:07 +01:00
Daniel Mensinger 90b557e38a
rewriter: Remove command alias 2019-03-04 13:00:07 +01:00
Daniel Mensinger 1290330894
rewriter: Renamed tgt_{add,rm} --> target_{add,rm} 2019-03-04 13:00:06 +01:00
Daniel Mensinger eabc35340d
rewriter: Enforce an empty project ID string 2019-03-04 13:00:06 +01:00
Daniel Mensinger 8fad06e8c8
rewriter: Removed python 3.7 feature required=False 2019-03-04 13:00:06 +01:00
Daniel Mensinger 740f6b8f06
rewriter: Implemented a CLI 2019-03-04 13:00:05 +01:00
Daniel Mensinger e72f535fc8
rewriter: Removed debug printing 2019-03-04 13:00:05 +01:00
Daniel Mensinger 0fd4dce906
rewriter: Type annotation cleanup 2019-03-04 13:00:05 +01:00
Daniel Mensinger 2582f311b0
rewriter: Make sure target sources are relative 2019-03-04 13:00:05 +01:00
Daniel Mensinger 760d1bff9c rewriter: Sort source files (#5010)
* rewriter: Sort source files

* rewriter: Natural sorting

* rewriter: Fix flake8

* rewriter: Fixed sorting

* rewriter: Make sorting key more readable

* rewriter: Even simpler key
2019-03-04 13:58:35 +02:00
Daniel Mensinger f9b41d5ecb
mintro: Dependencies from source 2019-03-03 23:19:03 +01:00
Daniel Mensinger 5a22bb7901 rewriter: Use mparser to detect the end of some nodes 2019-03-03 13:57:25 +02:00
Daniel Mensinger 7199cd2095 rewriter: Avoid duplicates 2019-03-02 17:05:10 +02:00
Daniel Mensinger 94fe01deec rewriter: Sort dict iterations to fix unit tests 2019-02-27 19:59:58 +02:00
Daniel Mensinger 9e247cb52e
rewriter: Set and delete default options 2019-02-26 09:34:58 +01:00
Daniel Mensinger 74bb79e26e
rewriter: Remove matching regex from list 2019-02-26 09:34:57 +01:00
Daniel Mensinger e37d32aa9d
rewriter: Basic default_options support 2019-02-26 09:34:57 +01:00
Daniel Mensinger 4b7b5a7185
Fixed flake8 2019-02-16 14:17:02 +01:00
Daniel Mensinger 631dbc4b24
Fixed indentation 2019-02-16 14:17:02 +01:00
Daniel Mensinger 5184465280
rewriter: Added support for adding targets 2019-02-16 14:17:01 +01:00
Daniel Mensinger 056c533ede
rewriter: Added support for removing targets 2019-02-16 14:14:16 +01:00
Daniel Mensinger 24a2cf02e2
Can now find the assignment node of a value 2019-02-16 14:10:08 +01:00
Daniel Mensinger 0ce02b57d7
Renamed type classes 2019-02-10 16:13:53 +01:00
Daniel Mensinger 8c364952af
Added dependecy kwargs support 2019-01-31 15:57:02 +01:00
Daniel Mensinger 5655865246
Added test case 2019-01-31 15:43:04 +01:00
Daniel Mensinger c64d80cf2f
Renamed operation test -> info 2019-01-31 15:43:04 +01:00
Daniel Mensinger 8bb942ef25
Rewriter infodump modifications 2019-01-31 15:43:04 +01:00
Daniel Mensinger be3c58d638
Modify kwargs in rewriter 2019-01-31 15:43:04 +01:00
Daniel Mensinger 8224ecfbe6
Some fixes and assignment based target find 2019-01-31 15:43:04 +01:00
Daniel Mensinger dbb94f122d
Fixed style issues 2019-01-24 21:38:29 +01:00
Daniel Mensinger 6fe2c2b209
Fixed flake8 issues 2019-01-22 17:31:15 +01:00
Daniel Mensinger b7c6f3ec72
Can now rewrite files 2019-01-22 16:41:25 +01:00
Daniel Mensinger 8dd9b44831
Added support for removing sources from a target 2019-01-22 16:41:25 +01:00
Daniel Mensinger 0ce6632393
Added suport for adding sources to a target 2019-01-22 16:41:25 +01:00
Daniel Mensinger 86d5799bc4
First rewriter test case 2019-01-22 16:41:06 +01:00
Daniel Mensinger 277dc10a5d
AST post processing 2019-01-22 16:09:34 +01:00
Daniel Mensinger 750af9c853
Moved the introspection interpreter 2019-01-22 16:09:34 +01:00
Daniel Mensinger 46320bfba8
Added Ast printer 2019-01-22 16:09:34 +01:00
Daniel Mensinger ccad493e85
Basic AST visitor pattern 2019-01-22 16:09:34 +01:00
Daniel Schulte 4c5ec91135 Split AstInterpreter into base class and RewriterInterpreter 2018-11-26 23:10:53 +01:00
Xavier Claessens 37067a53c4 Use a single ArgumentParser for all subcommands
This has the adventage that "meson --help" shows a list of all commands,
making them discoverable. This also reduce the manual parsing of
arguments to the strict minimum needed for backward compatibility.
2018-10-04 09:40:21 -04:00
Jussi Pakkanen 9b2e533d87 Always build parser objects anew to avoid leaking old data. 2018-03-27 00:39:45 +03:00
Jukka Laurila 52c50da6c7 Refactor: Add log.error and log.exception to reduce code duplication. 2018-03-10 18:04:52 +02:00
Eric Engestrom 5f7f5cdb05 Print correct command in help message
Taking mconf for instance:
before:
  $ meson configure --help
  usage: meson [-h] [-D SETS] [--clearcache] [directory [directory ...]]
after:
  $ meson configure --help
  usage: meson configure [-h] [-D SETS] [--clearcache] [directory [directory ...]]
2017-11-09 21:12:34 +02:00
Luke Shumaker e7d5b9dd8e fix file permissions on a couple of files 2017-09-20 14:02:57 -04:00
Jussi Pakkanen 0dd9ace5cc Turned rewriter into an internal module. 2017-08-02 22:00:09 +03:00