Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add ast docs to codegen script | veetaha | 2020-05-10 | 2 | -17/+1515 |
| | |||||
* | Regenerate | Aleksey Kladov | 2020-05-06 | 2 | -3/+3 |
| | |||||
* | Rename ImplItem to AssocItem | Edwin Cheng | 2020-05-05 | 1 | -2/+2 |
| | |||||
* | Add documents owner for ImplDef and SourceFile | Edwin Cheng | 2020-05-03 | 1 | -2/+2 |
| | |||||
* | Introduce EffectExpr | Aleksey Kladov | 2020-05-02 | 2 | -12/+8 |
| | |||||
* | Revert "Merge #4233" | Aleksey Kladov | 2020-05-02 | 1 | -1/+4 |
| | | | | | This reverts commit a5f2b16366f027ad60c58266a66eb7fbdcbda9f9, reversing changes made to c96b2180c1c4206a0a98c280b4d30897eb116336. | ||||
* | Merge #4246 | bors[bot] | 2020-05-01 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4246: Validate uses of self and super r=matklad a=djrenren This change follows on the validation of the `crate` keyword in paths. It verifies the following things: `super`: - May only be preceded by other `super` segments - If in a `UseItem` then all semantically preceding paths also consist only of `super` `self` - May only be the start of a path Just a note, a couple times while working on this I found myself really wanting a Visitor of some sort so that I could traverse descendants while skipping sub-trees that are unimportant. Iterators don't really work for this, so as you can see I reached for recursion. Considering paths are generally small a fancy debounced visitor probably isn't important but figured I'd say something in case we had something like this lying around and I wasn't using it. Co-authored-by: John Renner <[email protected]> | ||||
| * | Validate uses of self and super | John Renner | 2020-05-01 | 1 | -1/+1 |
| | | |||||
* | | Remove dead code, which elaborately pretends to be alive | Aleksey Kladov | 2020-04-30 | 1 | -4/+1 |
|/ | |||||
* | Fix a bunch of false-positives in join-lines | Aleksey Kladov | 2020-04-30 | 1 | -1/+1 |
| | |||||
* | Allow to set env vars and pipe stdin via not_bash | Aleksey Kladov | 2020-04-30 | 2 | -92/+79 |
| | |||||
* | Merge #4219 | bors[bot] | 2020-04-30 | 1 | -33/+67 |
|\ | | | | | | | | | | | | | | | | | | | 4219: Avoid `rustup` invocation for non-rustup rust installation r=matklad a=oxalica Fix #4218 and #3243. Co-authored-by: oxalica <[email protected]> | ||||
| * | Avoid `rustup` invocation for non-rustup rust installation | oxalica | 2020-04-30 | 1 | -33/+67 |
| | | |||||
* | | Merge #4178 | bors[bot] | 2020-04-30 | 1 | -1/+1 |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4178: Validate the location of `crate` in paths r=matklad a=djrenren **This solution does not fully handle `use` statements. See below** This pull requests implements simple validation of usages of the `crate` keyword in `Path`s. Specifically it validates that: - If a `PathSegment` is starts with the `crate` keyword, it is also the first segment of the `Path` - All other usages of `crate` in `Path`s are considered errors. This aligns with `rustc`'s rules. Unlike rustc this implementation does not issue a special error message in the case of `::crate` but it does catch the error. Furthermore, this change does not cover all error cases. Specifically the following is not caught: ```rust use foo::{crate} ``` This is because this check is context sensitive. From an AST perspective, `crate` is the root of the `Path`. Only by inspecting the full `UseItem` do we see that it is not in fact the root. This problem becomes worse because `UseTree`s are allowed to be arbitrarily nested: ```rust use {crate, {{crate, foo::{crate}}} ``` So this is a hard problem to solve without essentially a breadth-first search. In a traditional compiler, I'd say this error is most easily found during the AST -> HIR conversion pass but within rust-analyzer I'm not sure where it belongs. Under the implementation in this PR, such errors are ignored so we're *more correct* just not *entirely correct*. Co-authored-by: John Renner <[email protected]> | ||||
| * | Validate the location of `crate` in paths | John Renner | 2020-04-29 | 1 | -1/+1 |
| | | |||||
* | | Use x86_64-unknown-linux-gnu for releases | Laurențiu Nicola | 2020-04-28 | 1 | -5/+3 |
|/ | |||||
* | Bump required rust to 1.43 | kjeremy | 2020-04-23 | 1 | -1/+1 |
| | |||||
* | Group generated ast boilerplate apart from the interesting part | veetaha | 2020-04-18 | 1 | -120/+130 |
| | |||||
* | Refucktor codegen | veetaha | 2020-04-18 | 1 | -6/+6 |
| | |||||
* | Align grammar for record patterns and literals | Aleksey Kladov | 2020-04-11 | 1 | -1/+1 |
| | | | | | | The grammar now looks like this [name_ref :] pat | ||||
* | Simplify | Aleksey Kladov | 2020-04-10 | 1 | -1/+1 |
| | |||||
* | Rename some tokens | Aleksey Kladov | 2020-04-10 | 2 | -13/+13 |
| | |||||
* | Better readability | Aleksey Kladov | 2020-04-10 | 1 | -2/+3 |
| | |||||
* | Remove dead code | Aleksey Kladov | 2020-04-10 | 1 | -11/+4 |
| | |||||
* | Generate only minimal set of ineresting tokens | Aleksey Kladov | 2020-04-10 | 3 | -0/+38 |
| | |||||
* | Scale token generation back | Aleksey Kladov | 2020-04-10 | 3 | -238/+59 |
| | |||||
* | Convert more tokens | Aleksey Kladov | 2020-04-10 | 2 | -49/+19 |
| | |||||
* | Other delimiters | Aleksey Kladov | 2020-04-10 | 2 | -18/+22 |
| | |||||
* | Curley tokens | Aleksey Kladov | 2020-04-10 | 1 | -17/+15 |
| | |||||
* | Start replacing tokens | Aleksey Kladov | 2020-04-10 | 2 | -1/+5 |
| | |||||
* | Semicolon token | Aleksey Kladov | 2020-04-10 | 2 | -13/+19 |
| | |||||
* | More readable ast_src for keywords | Aleksey Kladov | 2020-04-10 | 2 | -104/+133 |
| | |||||
* | Simplify | Aleksey Kladov | 2020-04-10 | 1 | -4/+4 |
| | |||||
* | Simpler acessors for keywords | Aleksey Kladov | 2020-04-09 | 2 | -10/+27 |
| | |||||
* | Drop needless trait | Aleksey Kladov | 2020-04-09 | 1 | -4/+4 |
| | |||||
* | Be consistent about token accesors | Aleksey Kladov | 2020-04-09 | 1 | -2/+3 |
| | |||||
* | Add _token suffix to token accessors | Aleksey Kladov | 2020-04-09 | 1 | -0/+1 |
| | | | | | I think this makes is more clear which things are : AstNode and which are : AstToken | ||||
* | Put displays at the end | Aleksey Kladov | 2020-04-09 | 1 | -12/+16 |
| | |||||
* | More compact | Aleksey Kladov | 2020-04-09 | 1 | -10/+2 |
| | |||||
* | More compact generated code | Aleksey Kladov | 2020-04-09 | 1 | -0/+1 |
| | |||||
* | Move the rest of the tokens to generated/tokens | Aleksey Kladov | 2020-04-09 | 2 | -85/+98 |
| | |||||
* | Move generated tokens to a separate file | Aleksey Kladov | 2020-04-09 | 1 | -37/+61 |
| | |||||
* | Start ast/generated/tokens | Aleksey Kladov | 2020-04-09 | 2 | -3/+8 |
| | |||||
* | Prepare for spliting generated into tokens and nodes | Aleksey Kladov | 2020-04-09 | 2 | -2/+2 |
| | |||||
* | Reduce visibility | Aleksey Kladov | 2020-04-09 | 1 | -2/+2 |
| | |||||
* | Cleanup import | Aleksey Kladov | 2020-04-09 | 1 | -2/+5 |
| | |||||
* | Scale back to only two traits | Aleksey Kladov | 2020-04-09 | 2 | -37/+58 |
| | |||||
* | Provide more complete AST accessors to support usage in rustc | Luca Barbieri | 2020-04-09 | 1 | -91/+292 |
| | |||||
* | Scale back the traits | Aleksey Kladov | 2020-04-09 | 1 | -140/+28 |
| | |||||
* | Add AstElement trait, generate tokens, support tokens in enums | Luca Barbieri | 2020-04-08 | 1 | -29/+269 |
| | | | | | | | | | - 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 |