aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge #1960bors[bot]2019-10-054-132/+31
|\ | | | | | | | | | | | | | | 1960: Replace AST visitors with macro r=viorina a=viorina Fixes #1672. Co-authored-by: Ekaterina Babshukova <[email protected]>
| * remove `visitor` moduleEkaterina Babshukova2019-10-053-136/+21
| |
| * replace AST visitors with macroEkaterina Babshukova2019-10-052-8/+22
| |
* | Merge #1928bors[bot]2019-10-052-1/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1928: Support `#[cfg(..)]` r=matklad a=oxalica This PR implement `#[cfg(..)]` conditional compilation. It read default cfg options from `rustc --print cfg` with also hard-coded `test` and `debug_assertion` enabled. Front-end settings are **not** included in this PR. There is also a known issue that inner control attributes are totally ignored. I think it is **not** a part of `cfg` and create a separated issue for it. #1949 Fixes #1920 Related: #1073 Co-authored-by: uHOOCCOOHu <[email protected]> Co-authored-by: oxalica <[email protected]>
| * Pass attributes as token tree to DefCollectoruHOOCCOOHu2019-10-022-1/+3
| |
* | Fix parsing of block expressions in "forbid_structs" contexts.Geoffry Song2019-10-031-1/+1
|/ | | | | | Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression).
* Merge branch 'master' into feature/issue/1856Alexander Andreev2019-09-307-59/+316
|\ | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs
| * FixesuHOOCCOOHu2019-09-301-9/+0
| |
| * Fix API of AttruHOOCCOOHu2019-09-304-47/+26
| |
| * Parse correct AttrInputuHOOCCOOHu2019-09-302-1/+46
| |
| * cleanup editorAleksey Kladov2019-09-301-1/+4
| |
| * remove ast_editor.rsAleksey Kladov2019-09-301-0/+12
| |
| * move remove bounds to ast/edit.rsAleksey Kladov2019-09-301-1/+15
| |
| * move field list to ast/edit.rsAleksey Kladov2019-09-302-3/+96
| |
| * migrate add impl items to the new editing APIAleksey Kladov2019-09-281-3/+94
| |
| * simplify strip attrsAleksey Kladov2019-09-283-3/+32
| |
* | Added test for check doc strings in crates.Alexander Andreev2019-09-3011-1/+21
|/ | | | #1856
* Merge #1815bors[bot]2019-09-271-0/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]>
| * Refactor `Name` ready for hygienic macrouHOOCCOOHu2019-09-261-0/+10
| |
* | Start simplifying editing APIAleksey Kladov2019-09-263-0/+101
|/
* move diff to ra_syntaxAleksey Kladov2019-09-261-0/+42
|
* keep ast creation API simpleAleksey Kladov2019-09-262-0/+136
|
* add new editing API, suitable for modifying several nodes at onceAleksey Kladov2019-09-252-0/+41
|
* fewer monomorphisationsAleksey Kladov2019-09-251-2/+2
|
* simplifyAleksey Kladov2019-09-241-4/+1
|
* Support path starting with a typeuHOOCCOOHu2019-09-152-1/+4
|
* Add `DotDotPat` to ASTDylan MacKenzie2019-09-152-2/+38
| | | | This is modeled on `PlaceholderPat`.
* Infer box expressionuHOOCCOOHu2019-09-112-3/+39
|
* WIP: switch to fully decomposed tokens internallyAleksey Kladov2019-09-101-1/+15
|
* Fix outer doc-comments of `macro_rules`uHOOCCOOHu2019-09-091-2/+2
|
* Lower `Fn(X, Y) -> Z` pathsFlorian Diebold2019-09-072-1/+7
|
* Merge #1743bors[bot]2019-09-052-0/+2
|\ | | | | | | | | | | | | | | 1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu Unfortunately, #1688 is still an issue. My guess is wrong :( Co-authored-by: uHOOCCOOHu <[email protected]>
| * Support resolution of `#[macro_use] extern crate`uHOOCCOOHu2019-08-312-0/+2
| |
* | Correctly build BodySourceMap for macro-expanded expressionsAleksey Kladov2019-09-031-2/+3
| |
* | fix assistsAleksey Kladov2019-09-021-0/+20
| |
* | fix hir for new block syntaxAleksey Kladov2019-09-024-6/+6
| |
* | fix generated ASTAleksey Kladov2019-09-023-3/+4
| |
* | always wrap block into an expressionAleksey Kladov2019-09-022-11/+11
| |
* | remove useless traitAleksey Kladov2019-09-023-9/+6
| |
* | Add an expr_source method analogous to the source methods in the code modelFlorian Diebold2019-09-021-3/+2
|/ | | | ... and use that instead of exposing the source map.
* Merge #1734bors[bot]2019-08-251-0/+7
|\ | | | | | | | | | | | | | | 1734: Strip indents and empty lines in check_apply_diagnostic_fix_from_position r=matklad a=matklad Co-authored-by: Phil Ellison <[email protected]>
| * Cast SyntaxNodePtr to AstPtr directlyPhil Ellison2019-08-251-0/+7
| |
* | Add `BoxPat` variantDylan MacKenzie2019-08-232-2/+40
|/
* rename struct -> record, pos -> tupleAleksey Kladov2019-08-237-295/+295
|
* make ast object safeAleksey Kladov2019-08-231-2/+10
|
* Improve/fix type bound loweringFlorian Diebold2019-08-221-26/+29
|
* Add `impl Trait` and `dyn Trait` typesFlorian Diebold2019-08-222-1/+27
| | | | | | | - refactor bounds handling in the AST a bit - add HIR for bounds - add `Ty::Dyn` and `Ty::Opaque` variants and lower `dyn Trait` / `impl Trait` syntax to them
* Don't add `?` bounds as real boundsAleksey Kladov2019-08-221-0/+12
| | | | closes #1709
* :arrow_up: rustc_lexerAleksey Kladov2019-08-202-116/+74
|
* remove ast::*Kind enumsAleksey Kladov2019-08-192-353/+347
| | | | With the new owned trees, we don't need an indirection here