Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Merge #4038 | bors[bot] | 2020-04-21 | 1 | -1462/+1462 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 4038: Group generated ast boilerplate apart from the interesting part r=matklad a=Veetaha Boilerplate `AstNode` and `From` impls are moved to the end further from the interesting part in `generated.rs` Co-authored-by: veetaha <[email protected]> | |||||
| * | | Group generated ast boilerplate apart from the interesting part | veetaha | 2020-04-18 | 1 | -1462/+1462 | |
| |/ | ||||||
* / | Fix panic in split_imports assist | Aleksey Kladov | 2020-04-20 | 2 | -3/+11 | |
|/ | | | | | | | | | | | | | | | The fix is admittedly quit literally just papering over. Long-term, I see two more principled approaches: * we switch to a fully tree-based impl, without parse . to_string step; with this approach, there shouldn't be any panics. The results might be nonsensical, but so was the original input. * we preserve the invariant that re-parsing constructed node is an identity, and make all the `make_xxx` method return an `Option`. closes #4044 | |||||
* | Don't expose SyntaxNodePtr impl details | Aleksey Kladov | 2020-04-16 | 2 | -7/+3 | |
| | ||||||
* | Align grammar for record patterns and literals | Aleksey Kladov | 2020-04-11 | 8 | -36/+74 | |
| | | | | | | The grammar now looks like this [name_ref :] pat | |||||
* | Remove dead code | Aleksey Kladov | 2020-04-11 | 2 | -2/+5 | |
| | ||||||
* | Make records grammar more orthogonal | Aleksey Kladov | 2020-04-11 | 4 | -4/+94 | |
| | | | | | | | | | | | | We used name [: expr] grammar before, now it is [name :] expr which makes things simpler | |||||
* | Merge pull request #3935 from cjhopman/todo | Aleksey Kladov | 2020-04-11 | 1 | -0/+3 | |
|\ | | | | | Change missing impl assist to use todo!() instead of unimplemented() | |||||
| * | Change missing impl assist to use todo!() instead of unimplemented() | Chris Hopman | 2020-04-10 | 1 | -0/+3 | |
| | | | | | | | | | | | | | | | | | | | | | | | | todo!() "Indicates unfinished code" (https://doc.rust-lang.org/std/macro.todo.html) Rust documentation provides further clarification: > The difference between unimplemented! and todo! is that while todo! > conveys an intent of implementing the functionality later and the > message is "not yet implemented", unimplemented! makes no such claims. todo!() seems more appropriate for assists that insert missing impls. | |||||
* | | Forward compat | Aleksey Kladov | 2020-04-10 | 1 | -9/+8 | |
|/ | ||||||
* | Simplify | Aleksey Kladov | 2020-04-10 | 2 | -19/+2 | |
| | ||||||
* | Rename some tokens | Aleksey Kladov | 2020-04-10 | 199 | -1043/+1042 | |
| | ||||||
* | Better readability | Aleksey Kladov | 2020-04-10 | 2 | -0/+142 | |
| | ||||||
* | Remove dead code | Aleksey Kladov | 2020-04-10 | 4 | -195/+187 | |
| | ||||||
* | Generate only minimal set of ineresting tokens | Aleksey Kladov | 2020-04-10 | 5 | -1306/+23 | |
| | ||||||
* | Scale token generation back | Aleksey Kladov | 2020-04-10 | 3 | -306/+69 | |
| | ||||||
* | Convert more tokens | Aleksey Kladov | 2020-04-10 | 2 | -217/+13 | |
| | ||||||
* | Other delimiters | Aleksey Kladov | 2020-04-10 | 1 | -32/+32 | |
| | ||||||
* | Curley tokens | Aleksey Kladov | 2020-04-10 | 4 | -114/+32 | |
| | ||||||
* | Start replacing tokens | Aleksey Kladov | 2020-04-10 | 1 | -34/+12 | |
| | ||||||
* | Semicolon token | Aleksey Kladov | 2020-04-10 | 2 | -13/+35 | |
| | ||||||
* | More readable ast_src for keywords | Aleksey Kladov | 2020-04-10 | 1 | -69/+77 | |
| | ||||||
* | Simpler acessors for keywords | Aleksey Kladov | 2020-04-09 | 5 | -999/+87 | |
| | ||||||
* | use uniform accessor | Aleksey Kladov | 2020-04-09 | 1 | -4/+0 | |
| | ||||||
* | use stdx | Aleksey Kladov | 2020-04-09 | 1 | -3/+3 | |
| | ||||||
* | Drop needless trait | Aleksey Kladov | 2020-04-09 | 2 | -10/+0 | |
| | ||||||
* | Remove code duplication | Aleksey Kladov | 2020-04-09 | 5 | -60/+49 | |
| | ||||||
* | Be consistent about token accesors | Aleksey Kladov | 2020-04-09 | 3 | -98/+13 | |
| | ||||||
* | Add _token suffix to token accessors | Aleksey Kladov | 2020-04-09 | 4 | -205/+201 | |
| | | | | | I think this makes is more clear which things are : AstNode and which are : AstToken | |||||
* | Simplify | Aleksey Kladov | 2020-04-09 | 1 | -26/+13 | |
| | ||||||
* | Put displays at the end | Aleksey Kladov | 2020-04-09 | 1 | -690/+690 | |
| | ||||||
* | More compact | Aleksey Kladov | 2020-04-09 | 2 | -1428/+238 | |
| | ||||||
* | More compact generated code | Aleksey Kladov | 2020-04-09 | 3 | -2184/+730 | |
| | ||||||
* | Move the rest of the tokens to generated/tokens | Aleksey Kladov | 2020-04-09 | 2 | -653/+653 | |
| | ||||||
* | Move generated tokens to a separate file | Aleksey Kladov | 2020-04-09 | 3 | -3055/+3060 | |
| | ||||||
* | Start ast/generated/tokens | Aleksey Kladov | 2020-04-09 | 2 | -0/+2 | |
| | ||||||
* | Prepare for spliting generated into tokens and nodes | Aleksey Kladov | 2020-04-09 | 3 | -9625/+9628 | |
| | ||||||
* | Remove allocations from LCA | Aleksey Kladov | 2020-04-09 | 1 | -3/+13 | |
| | | | | | I haven't actually profiled this, but not allocating a hash map (or anything, really) seems like a good idea | |||||
* | Parse correctly fn f<T>() where T: Fn() -> u8 + Send {} | Luca Barbieri | 2020-04-09 | 2 | -0/+62 | |
| | | | | | We used to parse it as T: Fn() -> (u8 + Send), which is different from the rustc behavior of T: (Fn() -> u8) + Send | |||||
* | Scale back to only two traits | Aleksey Kladov | 2020-04-09 | 4 | -187/+1959 | |
| | ||||||
* | Provide more complete AST accessors to support usage in rustc | Luca Barbieri | 2020-04-09 | 5 | -104/+108 | |
| | ||||||
* | Scale back the traits | Aleksey Kladov | 2020-04-09 | 2 | -105/+3033 | |
| | ||||||
* | Add AstElement trait, generate tokens, support tokens in enums | Luca Barbieri | 2020-04-08 | 2 | -65/+111 | |
| | | | | | | | | | - Adds a new AstElement trait that is implemented by all generated node, token and enum structs - Overhauls the code generators to code-generate all tokens, and also enhances enums to support including tokens, node, and nested enums | |||||
* | Fix warnings emitted when compiling as part of rustc | Luca Barbieri | 2020-04-08 | 1 | -1/+1 | |
| | ||||||
* | Merge pull request #3863 from Veetaha/feature/migrate-to-rast | Aleksey Kladov | 2020-04-07 | 277 | -7/+7 | |
|\ | | | | | Migrate tests .txt -> .rast | |||||
| * | Migrate tests .txt -> .rast | veetaha | 2020-04-06 | 277 | -7/+7 | |
| | | | | | | | | | | | | | | | | The sytax tree output files now use .rast extension (rust-analyzer syntax tree or rust abstract syntax tree (whatever)). This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration that supplies nice syntax highlighting for .rast files. | |||||
* | | Fix unnecessary braces warnings | Laurențiu Nicola | 2020-04-06 | 1 | -6/+6 | |
|/ | ||||||
* | Remove rustc_lexer dependency in favour of rustc-ap-rustc_lexer | est31 | 2020-04-06 | 1 | -1/+1 | |
| | | | | The latter is auto-published on a regular schedule (Right now weekly). | |||||
* | Remove the second code-path for completing names in patterns | Aleksey Kladov | 2020-04-03 | 1 | -0/+3 | |
| | ||||||
* | Macro patterns are not confused with expressions. | Aleksey Kladov | 2020-04-03 | 2 | -11/+52 | |
| | | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`. |