aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src
Commit message (Collapse)AuthorAgeFilesLines
* Use name resolution for goto definitionFlorian Diebold2019-01-104-12/+70
|
* Merge #470bors[bot]2019-01-1010-38/+195
|\ | | | | | | | | | | | | | | | | | | 470: Type inference for enum variants r=flodiebold a=marcusklaas Opened a new PR instead of https://github.com/rust-analyzer/rust-analyzer/pull/461. Totally botched that one. I think I resolved all the issues mentioned there. Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * Save variant names in EnumData to reduce needless queriesMarcus Klaas de Vries2019-01-103-29/+20
| | | | | | | | | | | | We already have their names when anyway, and when in all (current) situations where we're interested in an Enum's variants, we want their names.
| * Implement type inference for enum variantsMarcus Klaas de Vries2019-01-1010-37/+203
| |
* | introduce marking infrastructure for maintainable testsAleksey Kladov2019-01-104-1/+118
|/ | | | This also fixes a particular edge case in name resolution.
* Merge #475bors[bot]2019-01-103-52/+72
|\ | | | | | | | | | | | | | | | | | | | | 475: Show types of fields in completion r=matklad a=matklad ![image](https://user-images.githubusercontent.com/1711539/50910524-0f146200-143f-11e9-84d6-0ba80761cd89.png) r? @flodiebold Co-authored-by: Aleksey Kladov <[email protected]>
| * show field types in completionAleksey Kladov2019-01-093-52/+72
| |
* | implement RefUnwindSafeAleksey Kladov2019-01-101-1/+3
|/
* nicer trailing comma handling in typesAleksey Kladov2019-01-093-11/+15
|
* Merge #473bors[bot]2019-01-0915-48/+67
|\ | | | | | | | | | | | | | | 473: Partial typo fix r=matklad a=marcusklaas This fixes some typos. Mostly in documentation, but also some code is affected (`defenition` was used in a few method names). Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * Fix typos in ARCHITECTURE.md and a number of cratesMarcus Klaas de Vries2019-01-0914-44/+63
| | | | | | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
| * Fix typo defenition -> definitionMarcus Klaas de Vries2019-01-083-4/+4
| |
* | more stable DefIds via bfs tree walkingAleksey Kladov2019-01-082-7/+31
| |
* | one more invalidation testAleksey Kladov2019-01-081-1/+32
| |
* | fix test namingAleksey Kladov2019-01-081-22/+22
| |
* | remove duplication in testsAleksey Kladov2019-01-081-55/+33
|/
* ra_db is independent from editorAleksey Kladov2019-01-082-1/+1
|
* move node at offset to aglo alreadyAleksey Kladov2019-01-082-3/+2
|
* move function to code_model_apiAleksey Kladov2019-01-089-144/+153
|
* remove FnSignatureInfo from hirAleksey Kladov2019-01-082-126/+3
|
* Fix name resolution across source rootsFlorian Diebold2019-01-083-19/+173
| | | | It was using the wrong name in that case.
* Fix use tree desugaringFlorian Diebold2019-01-082-1/+30
|
* Merge #458bors[bot]2019-01-084-9/+13
|\ | | | | | | | | | | | | | | 458: dont reexport module id r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * dont reexport module idAleksey Kladov2019-01-084-9/+13
| |
* | switch interner to use arenaAleksey Kladov2019-01-081-4/+4
|/
* minimize visibilityAleksey Kladov2019-01-081-1/+1
|
* move query impls to adtAleksey Kladov2019-01-083-25/+31
|
* move variant public api to apiAleksey Kladov2019-01-082-34/+28
|
* move variants to APIAleksey Kladov2019-01-083-29/+34
|
* minorAleksey Kladov2019-01-081-4/+4
|
* move enum to code_model_apiAleksey Kladov2019-01-083-29/+26
|
* move stuct to code_model_apiAleksey Kladov2019-01-083-22/+27
|
* Merge #455bors[bot]2019-01-082-16/+62
|\ | | | | | | | | | | | | | | 455: Import fixpoint loop for name resolution r=matklad a=flodiebold This implements reexports, so only the glob import part of #231 remains. Co-authored-by: Florian Diebold <[email protected]>
| * Import fixpoint loop for name resolutionFlorian Diebold2019-01-082-16/+62
| |
* | convert some if-lets to matchAleksey Kladov2019-01-081-12/+9
| |
* | itroduce trait for ast tokensAleksey Kladov2019-01-082-3/+3
| |
* | migrate ra_analysis to new rowanAleksey Kladov2019-01-081-2/+2
| |
* | migrate ra_hir to rowan 2.0Aleksey Kladov2019-01-0817-192/+195
| |
* | Process explicit type hints for str, bool and charMarcus Klaas de Vries2019-01-074-5/+18
| |
* | Tidy up binary operator type inference; add test fileMarcus Klaas de Vries2019-01-072-44/+87
| |
* | Implement type inference for more binary operatorsMarcus Klaas de Vries2019-01-073-47/+82
| | | | | | | | | | Mostly just for primitive numeric types such as u32 and f64. Not yet a general solution using trait resolution.
* | Add remaining binary operations to ASTMarcus Klaas de Vries2019-01-071-0/+1
|/
* Implement autoderef for field accessesFlorian Diebold2019-01-075-24/+147
|
* if let -> matchFlorian Diebold2019-01-071-8/+6
|
* Improve types for node_expr / node_patFlorian Diebold2019-01-061-5/+5
|
* Introduce ArenaMapFlorian Diebold2019-01-063-25/+25
|
* Sort ranges in type inference testsFlorian Diebold2019-01-069-92/+93
| | | | | Also rename the files to remove the numbers (they don't serve a purpose now that there are only the data files).
* Use HIR Expr for type inferenceFlorian Diebold2019-01-068-336/+291
| | | | | Now we can reuse the type inference inside a function when typing whitespace etc. :)
* Merge #440bors[bot]2019-01-063-2/+88
|\ | | | | | | | | | | | | | | | | | | 440: Implement type inference for boolean operators r=flodiebold a=marcusklaas Tried implementing the easiest part of https://github.com/rust-analyzer/rust-analyzer/issues/390. Hope this is somewhat close to what the intent of the issue was. Found it surprisingly easy to find my way around the repository - it's well organized! Very grateful for any pointers. Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * Touch up type inference for boolean operatorsMarcus Klaas de Vries2019-01-063-17/+67
| | | | | | | | | | Also try to infer its subexpressions and set type expectations whenever possible.