aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_expand
Commit message (Collapse)AuthorAgeFilesLines
* Add dummy implementations of env! and option_env! builtinsFlorian Diebold2019-12-213-43/+99
| | | | | | They don't do anything except return the correct type. Also refactor the builtin macro tests a bit.
* Merge #2625bors[bot]2019-12-212-6/+5
|\ | | | | | | | | | | | | | | 2625: Clippy lints r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Clippy lintskjeremy2019-12-202-6/+5
| |
* | Add support macros in impl blocksEdwin Cheng2019-12-201-0/+1
|/
* Merge #2614bors[bot]2019-12-201-1/+1
|\ | | | | | | | | | | | | | | 2614: Clippy cleanup r=matklad a=kjeremy Just a few tweaks from the latest clippy. There are a lot more but we should probably tweak our settings. Co-authored-by: kjeremy <[email protected]>
| * Remove useless clonekjeremy2019-12-201-1/+1
| |
* | Add std::ops::Index support for inferingEdwin Cheng2019-12-191-0/+1
|/
* Rename range to by_kindEdwin Cheng2019-12-181-2/+2
|
* Add TokenTextRangeEdwin Cheng2019-12-181-2/+2
|
* Add token id to delimsEdwin Cheng2019-12-181-3/+11
|
* Add token ids for all tt::LeafEdwin Cheng2019-12-182-9/+32
|
* Merge #2562bors[bot]2019-12-171-2/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2562: Fix NavigationTarget ranges r=matklad a=edwin0cheng Fix the issue described in https://github.com/rust-analyzer/rust-analyzer/pull/2544#issuecomment-565572553 This PR change the order for finding `full_range` of `focus_range` in following orders: 1. map both ranges to macro_call 2. map focus range to a token inside macro call, and full range to the whole of macro call 3. map both ranges to the whole of macro call And fix the corresponding tests and make these tests easily to follow. Co-authored-by: Edwin Cheng <[email protected]>
| * Re-export Origin to replace ExpansionOriginEdwin Cheng2019-12-141-13/+7
| |
| * Fix original_source find orderEdwin Cheng2019-12-141-7/+22
| |
* | Rename N! to name!Florian Diebold2019-12-133-4/+4
| |
* | Add macros for known names and pathsFlorian Diebold2019-12-133-91/+117
|/
* Merge #2550bors[bot]2019-12-131-0/+2
|\ | | | | | | | | | | | | | | 2550: Infer - and ! using std::ops::{Neg, Not} r=flodiebold a=kiljacken Found some low hanging fruit while taking a cursory look at index inferring. Co-authored-by: Emil Lauridsen <[email protected]>
| * Correctly infer - and ! using std::ops::{Neg,Not}Emil Lauridsen2019-12-131-0/+2
| |
* | Refactor tt::DelimiterEdwin Cheng2019-12-131-3/+4
|/
* Move traits to the new locAleksey Kladov2019-12-121-1/+4
|
* Expand macros in blocks to expressions for nowFlorian Diebold2019-12-081-2/+2
| | | | Expanding to statements isn't handled properly yet and breaks things.
* Fix expansion of format_argsFlorian Diebold2019-12-081-6/+13
|
* Remove MacroFileKindEdwin Cheng2019-12-084-25/+46
|
* Implement ancestors_with_macros in a better wayFlorian Diebold2019-12-061-0/+21
|
* Builtin macros only use caller tokensFlorian Diebold2019-12-061-2/+2
|
* Try to make go to definition work in format!Florian Diebold2019-12-061-0/+18
| | | | | | | SourceAnalyzer didn't work properly within expression macro expansions because it didn't find the enclosing function. Fix this by going up the expansion chain to find ancestors. This makes the test work, but apparently in real usage it's still not working.
* Implement format_args more properlyFlorian Diebold2019-12-061-4/+43
|
* Remove unnecessary len parameter for Name::new_inline_asciiFlorian Diebold2019-12-061-59/+59
| | | | | I assume it was previously required because `len` was not const, but that doesn't seem to be a problem anymore.
* Add stub implementation of format_args{_nl} macrosFlorian Diebold2019-12-062-1/+20
| | | | Just enough to fix the huge amount of type mismatches they cause.
* Implement all the other built-in derivesFlorian Diebold2019-12-052-15/+86
| | | | Since as long as we're not implementing the bodies, they all work the same way.
* Implement derive(Copy, Clone) properly (well, kind of)Florian Diebold2019-12-052-7/+190
|
* Add expansion infrastructure for derive macrosFlorian Diebold2019-12-057-51/+170
|
* Replace `ra_hir_expand::either` with crateice10002019-12-034-58/+4
|
* Infer range typesoxalica2019-11-281-0/+6
|
* Use InFile for AstIdAleksey Kladov2019-11-281-35/+4
|
* Rename Source -> InFileAleksey Kladov2019-11-282-23/+23
|
* Hide MacroCallLocEdwin Cheng2019-11-261-2/+12
|
* :arrow_up: salsaAleksey Kladov2019-11-261-0/+4
|
* Merge #2362bors[bot]2019-11-252-0/+39
|\ | | | | | | | | | | | | | | 2362: Expand compile_error! r=edwin0cheng a=kjeremy Does not validate that the input is a string literal. I thought that I could `match_ast!` against the `macro_args` but that did not work. Even if it had I am not sure which error would be appropriate. Co-authored-by: Jeremy Kolb <[email protected]>
| * Expand compile_error!Jeremy Kolb2019-11-252-0/+39
| |
* | Fix panic during the expansion of `column!`Marco Groppo2019-11-241-5/+16
|/
* Use macro for all the thingsEdwin Cheng2019-11-231-48/+31
|
* Rename BuiltinExpander to BuiltinFnLikeExpanderEdwin Cheng2019-11-233-14/+14
|
* Refactor builtin macroEdwin Cheng2019-11-221-18/+124
|
* Add TestDBEdwin Cheng2019-11-222-0/+53
|
* Expand column!()Jeremy Kolb2019-11-222-1/+44
|
* Expand file! to dummy ""kjeremy2019-11-222-1/+26
|
* Add support for Stringify builtin macroPiotr Szpetkowski2019-11-222-0/+28
|
* Add MacroFileKind::StatementsEdwin Cheng2019-11-212-0/+2
|
* Rename with_ast -> with_valueAleksey Kladov2019-11-201-4/+4
|