aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Remove MacroStmts as per edwin0cheng" (cc @edwin0cheng) and add a ↵veetaha2020-05-121-0/+32
| | | | | | | | | | fixme to document it. This reverts commit 7a49165f5d5c8186edd04f874eae8a98e39d3df6. MacroStmts ast node is not used by itself, but it pertains to SyntaxNodeKind MACRO_STMTS that is used by ra_paser, so even tho the node itself is not used, it is better to keep it with a FIXME to actually add a doc comment when it becomes useful.
* Add a doc comment on the difference between Name and NameRef ast nodesveetaha2020-05-121-1/+16
|
* Resolve TODO about macro 2.0 defveetaha2020-05-101-6/+4
|
* Fix typoveetaha2020-05-101-1/+1
|
* Carify on a semicolon in macro callveetaha2020-05-101-1/+6
|
* Resolve TODO about curly-braced constructions in expression statementveetaha2020-05-101-1/+3
|
* Resolve todos about refs and empty statementsveetaha2020-05-101-4/+4
|
* Converted TODO about MacroItems to FIXME as per edwin0chengveetaha2020-05-101-6/+2
|
* Verified ConstArg example, waiting for response on what `=` sign pertains toveetaha2020-05-101-1/+1
|
* Correcy use tree and type args docsveetaha2020-05-101-3/+3
|
* Correct `use` cannot have type args as per flodieboldveetaha2020-05-101-1/+1
|
* Correct path docs and add colon2 token to Path ast nodeveetaha2020-05-101-8/+14
|
* Add example with const in TypeBound as per flodieboldveetaha2020-05-101-1/+1
|
* Properly document const impl as per flodieboldveetaha2020-05-101-2/+2
|
* Remove MacroStmts as per edwin0chengveetaha2020-05-101-32/+0
|
* Add proper docs for TokenTree as per edwin0chengveetaha2020-05-101-1/+2
|
* Run codegen of ast types with documentationveetaha2020-05-101-138/+1345
|
* unindent -> dedentAleksey Kladov2020-05-091-1/+1
|
* More fluent indent APIAleksey Kladov2020-05-091-13/+13
|
* Use more natural signature for Edit::applyAleksey Kladov2020-05-052-6/+11
|
* Rename AtomTextEdit -> IndelAleksey Kladov2020-05-053-18/+18
|
* Rename ImplItem to AssocItemEdwin Cheng2020-05-052-21/+21
|
* Add documents owner for ImplDef and SourceFileEdwin Cheng2020-05-031-0/+2
|
* Fix the extension methodKirill Bulatov2020-05-021-1/+1
|
* Merge branch 'master' of github.com:rust-analyzer/rust-analyzerBenjamin Coenen2020-05-021-0/+4
|\
| * Merge #4234bors[bot]2020-05-021-0/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4234: Support local_inner_macros r=jonas-schievink a=edwin0cheng This PR implements `#[macro_export(local_inner_macros)]` support. Note that the rustc implementation is quite [hacky][1] too. :) [1]: https://github.com/rust-lang/rust/blob/614f273e9388ddd7804d5cbc80b8865068a3744e/src/librustc_resolve/macros.rs#L456 Co-authored-by: Edwin Cheng <[email protected]>
| | * Test whether it is bang macro properlyEdwin Cheng2020-05-021-0/+4
| | |
* | | Merge branch 'master' of github.com:rust-analyzer/rust-analyzerBenjamin Coenen2020-05-0210-138/+175
|\| |
| * | Add missing members generates indented blocksAleksey Kladov2020-05-021-8/+0
| | |
| * | Introduce EffectExprAleksey Kladov2020-05-027-76/+73
| | |
| * | Revert "Merge #4233"Aleksey Kladov2020-05-023-26/+42
| | | | | | | | | | | | | | | This reverts commit a5f2b16366f027ad60c58266a66eb7fbdcbda9f9, reversing changes made to c96b2180c1c4206a0a98c280b4d30897eb116336.
| | |
| | \
| *-. \ Merge #4220 #4240bors[bot]2020-05-011-15/+22
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4220: Introduce LowerCtx r=matklad a=edwin0cheng This PR introduces `LowerCtx` for path lowering. After this PR, there are only 2 places remains for using deprecated `Path::from_ast`, which is related to `AstTransform` I am not familiar. I would like to change these in another PR by others ;) related disscusiion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Path.3A.3Afrom_src And also fixed part of https://github.com/rust-analyzer/rust-analyzer/issues/4176#issuecomment-620672930 4240: Bump deps r=matklad a=lnicola Co-authored-by: Edwin Cheng <[email protected]> Co-authored-by: Laurențiu Nicola <[email protected]>
| | | * Bump depsLaurențiu Nicola2020-05-011-15/+22
| | |/
| * | Merge #4246bors[bot]2020-05-012-48/+73
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 superJohn Renner2020-05-012-48/+73
| | | |
| * | | Fix pub(self) visibility?Diana2020-05-011-1/+1
| | |/ | |/| | | | | | | Clippy complained about it and it seems wrong
* | | Merge branch 'master' of github.com:rust-analyzer/rust-analyzerBenjamin Coenen2020-05-016-53/+111
|\| |
| * | Introduce BlockModifierAleksey Kladov2020-04-302-2/+19
| | |
| * | Remove dead code, which elaborately pretends to be aliveAleksey Kladov2020-04-302-40/+7
| |/
| * Fix a bunch of false-positives in join-linesAleksey Kladov2020-04-302-1/+5
| |
| * Report invalid, nested, multi-segment crate-pathsJohn Renner2020-04-301-5/+24
| | | | | | | | | | | | | | | | | | | | Specifically, things like: use foo::{crate::bar}; Are now being caught, when before we only caught: use foo::{crate};
| * Merge #4178bors[bot]2020-04-302-0/+40
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 pathsJohn Renner2020-04-292-0/+40
| | |
| * | More principled approach for finding From traitAleksey Kladov2020-04-291-2/+1
| | |
| * | Fix comment prefix method for four slash commentsadamrk2020-04-281-10/+6
| | |
| * | Treat comments beginning with four slashes as regular line commentsadamrk2020-04-282-0/+16
| |/
* / Add unwrap block assist #4156Benjamin Coenen2020-04-291-1/+1
|/ | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Merge #4134bors[bot]2020-04-251-0/+3
|\ | | | | | | | | | | | | | | | | | | 4134: Special case for empty comments in doc comment kind r=matklad a=edwin0cheng Part of #4103 Fix `ui/empty/empty-comment.rs macros` Co-authored-by: Edwin Cheng <[email protected]>
| * Special case for empty commentsEdwin Cheng2020-04-251-0/+3
| |
* | Switch to TryFromAleksey Kladov2020-04-255-24/+31
| |