Commit graph

5868 commits

Author SHA1 Message Date
Edwin Cheng
a92ad59a02 More correct expand macro 2019-11-22 12:04:20 +08:00
bors[bot]
c9273828b3
Merge #2342
2342: Use proper MacroFileKind in `SourceAnalyzer` r=matklad a=edwin0cheng

* Add `MacroFileKind::Statements`
* Add `to_macro_file_kind` in `source_binding.rs` to set a proper `MacroFileKind` when expanding a macro. 
* Add a test for trying expanding `match_ast` which is not correct before this PR.
* Fix some spacing issues in `insert_whitespaces`

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-11-21 19:31:19 +00:00
Edwin Cheng
144dc6652c Fix insert_whitespaces 2019-11-22 02:38:14 +08:00
Edwin Cheng
67a58e4af1 Add test for match_ast 2019-11-22 02:38:14 +08:00
Edwin Cheng
59e7234546 Add to_macro_file_kind 2019-11-22 02:38:14 +08:00
Edwin Cheng
4ff400833f Add MacroFileKind::Statements 2019-11-22 02:38:14 +08:00
bors[bot]
3f1a0c3c5f
Merge #2341
2341: Fix mbe fail to parse TokenTree with endings whitespace r=matklad a=edwin0cheng



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-11-21 17:56:12 +00:00
Edwin Cheng
bf537eefb5 Fixed mbe trival subtree 2019-11-22 01:02:07 +08:00
bors[bot]
d0a9ed50da
Merge #2340
2340: Fix test mark placement r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-21 14:10:14 +00:00
Aleksey Kladov
a1346bba5c Fix test mark placement 2019-11-21 17:09:38 +03:00
bors[bot]
8c2eee4ede
Merge #2339
2339: Update crates r=matklad a=kjeremy

Removes duplicate crossbeam crates.

Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-11-21 13:46:16 +00:00
Jeremy Kolb
aa20740944 Update crates 2019-11-21 08:40:33 -05:00
bors[bot]
0630bbabfc
Merge #2338
2338: Remove old hir::generics module r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-21 13:32:40 +00:00
Aleksey Kladov
952405cb41 reformat 2019-11-21 16:31:48 +03:00
Aleksey Kladov
4daf931111 Remove old hir::generics module 2019-11-21 16:23:02 +03:00
Aleksey Kladov
4f8f3393bc Reduce visibility 2019-11-21 16:00:57 +03:00
Aleksey Kladov
36758f2767 Resimplify 2019-11-21 15:56:27 +03:00
bors[bot]
1f61915bde
Merge #2337
2337: Move resolver to hir_def r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-21 12:50:12 +00:00
Aleksey Kladov
c37d1c5b38 Restore a mark 2019-11-21 15:49:24 +03:00
Aleksey Kladov
6d64798a23 Move resolver to hir_def 2019-11-21 15:39:09 +03:00
Aleksey Kladov
00684d708b Decouple 2019-11-21 15:24:51 +03:00
Aleksey Kladov
eb53aa37a3 Split internal and user-visible ScopeDef 2019-11-21 15:13:46 +03:00
Aleksey Kladov
ca1af86e7b Use GenericParam in ScopeDef 2019-11-21 14:22:30 +03:00
Aleksey Kladov
1312c57d34 Move ScopeDef 2019-11-21 14:21:26 +03:00
Aleksey Kladov
061e6c77b5 Decouple 2019-11-21 14:13:49 +03:00
Aleksey Kladov
621cf06156 Decouple 2019-11-21 13:48:05 +03:00
Aleksey Kladov
24964ca58e Move expr resolver to resolve 2019-11-21 13:28:04 +03:00
Aleksey Kladov
0102fb4133 Decouple Resolver 2019-11-21 13:25:03 +03:00
bors[bot]
612a72fc4e
Merge #2336
2336: Remove npm.cmd r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-20 20:28:00 +00:00
Aleksey Kladov
ad2b6cad48 Remove npm.cmd
I *think* this is more correct
2019-11-20 23:27:03 +03:00
bors[bot]
a025303ca6
Merge #2334
2334: Add rust-analyzer-expand-macro function for Emacs r=flodiebold a=flodiebold



Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-11-20 19:45:57 +00:00
Florian Diebold
c079d9b63b Add rust-analyzer-expand-macro function for Emacs 2019-11-20 20:45:25 +01:00
bors[bot]
2cb2fb1a48
Merge #2332
2332: Add HasResolver trait r=matklad a=matklad

bors merge

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-20 19:23:31 +00:00
Aleksey Kladov
63f327be67 Alternative quite tests alias 2019-11-20 22:22:32 +03:00
Aleksey Kladov
1cead41510 Simplify 2019-11-20 22:22:32 +03:00
Aleksey Kladov
6241cf9a59 Add HasResolver trait 2019-11-20 22:22:32 +03:00
bors[bot]
6983afdea9
Merge #2330
2330: Remove hir/adt.rs r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-20 18:38:00 +00:00
Aleksey Kladov
7c275a7ed2 Remove hir/adt.rs 2019-11-20 21:34:12 +03:00
bors[bot]
5aec3e4a7b
Merge #2329
2329: fix 2190; add test for "replace if let with match" r=matklad a=fkohlgrueber

Fixes #2190.

Check that the expression doesn't contain newlines only for "replace if let with match". For "join lines", enclosing blocks for multiline expressions should be removed. 

Co-authored-by: Felix Kohlgrüber <felix.kohlgrueber@gmail.com>
2019-11-20 18:16:35 +00:00
Felix Kohlgrüber
bcb2ea912b fix 2190; add test for "replace if let with match" 2019-11-20 19:01:06 +01:00
Aleksey Kladov
12ec946216 Simplify generic params 2019-11-20 20:50:34 +03:00
bors[bot]
7a5fd1f3f3
Merge #2328
2328: Move generic_params query to HIR r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-20 17:39:00 +00:00
Aleksey Kladov
cb642fc578 Move generic_params query to HIR 2019-11-20 20:38:37 +03:00
bors[bot]
c51dcb1c4b
Merge #2327
2327: Move constants to new ID r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-20 15:45:22 +00:00
Aleksey Kladov
111891dc2d Move constants to new ID
This allows us to get rid of trait item index
2019-11-20 18:41:23 +03:00
Aleksey Kladov
ee95a35664 Don't duplicate ContainerId type 2019-11-20 17:50:02 +03:00
Aleksey Kladov
64c21ed195 Switch type aliases to new sources 2019-11-20 17:43:03 +03:00
bors[bot]
b7a36b5443
Merge #2326
2326: Remove duplicate tests r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-20 13:43:34 +00:00
Aleksey Kladov
3888487ca8 Remove duplicate tests 2019-11-20 16:40:25 +03:00
bors[bot]
4ef9cab41a
Merge #2318
2318: Fix panic when use `Expand Macro` on `assert_eq` r=matklad a=edwin0cheng

The cause of this [bug](https://github.com/rust-analyzer/rust-analyzer/pull/2291#issuecomment-555651542) is, when calling `SourceAnalyzer::expand` when an `ast::MacroCall` which is outside of `SourceAnalyzer::node`. 

Note that if we use a node in `SourceAnalyzer::new` with a `MacroFile` file id, the resolver inside `SourceAnalyzer` still will not work properly. Another PR will need to fix it.

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-11-20 13:36:19 +00:00