aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src
Commit message (Collapse)AuthorAgeFilesLines
* Small improvements from review commentsFlorian Diebold2019-01-123-20/+20
|
* Implement basic inherent method resolutionFlorian Diebold2019-01-1210-17/+308
|
* Fix assertion error in unification (hopefully)Florian Diebold2019-01-113-7/+50
| | | | | | | Currently, all types that we handle during inference need to be resolved as far as possible at the time. It's maybe too brittle of an invariant; I need to think how we can do this better. This should fix #484 though, I hope (if it's the same case as I managed to reproduce).
* actually produce missing def kindsAleksey Kladov2019-01-114-8/+82
|
* uncopypaste def sourcesAleksey Kladov2019-01-113-40/+26
|
* add missing def kindsAleksey Kladov2019-01-111-0/+20
|
* rename TreePtr -> TreeArcAleksey Kladov2019-01-118-30/+30
| | | | This is much clearer about the semantics
* envapsulate navigation target betterAleksey Kladov2019-01-113-2/+4
|
* 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
|/