Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use HIR Expr for type inference | Florian Diebold | 2019-01-06 | 10 | -342/+308 |
| | | | | | Now we can reuse the type inference inside a function when typing whitespace etc. :) | ||||
* | Show types when hovering patterns as well | Florian Diebold | 2019-01-06 | 1 | -4/+15 |
| | |||||
* | Merge #440 | bors[bot] | 2019-01-06 | 4 | -2/+140 |
|\ | | | | | | | | | | | | | | | | | | | 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 operators | Marcus Klaas de Vries | 2019-01-06 | 6 | -43/+93 |
| | | | | | | | | | | Also try to infer its subexpressions and set type expectations whenever possible. | ||||
| * | Implement type inference for boolean operators | Marcus Klaas de Vries | 2019-01-05 | 6 | -4/+92 |
| | | |||||
* | | kill module source | Aleksey Kladov | 2019-01-06 | 8 | -194/+156 |
| | | |||||
* | | move submodule computationt to module_tree | Aleksey Kladov | 2019-01-06 | 4 | -53/+39 |
| | | |||||
* | | fix the test | Aleksey Kladov | 2019-01-06 | 1 | -2/+2 |
| | | |||||
* | | fix after rebase | Aleksey Kladov | 2019-01-06 | 1 | -1/+2 |
| | | |||||
* | | flatten module structure | Aleksey Kladov | 2019-01-06 | 13 | -436/+431 |
| | | |||||
* | | adjust comments | Aleksey Kladov | 2019-01-06 | 2 | -5/+8 |
| | | |||||
* | | fix ra_analysis to work with the new API | Aleksey Kladov | 2019-01-06 | 4 | -7/+12 |
| | | |||||
* | | split module source into decl/defin | Aleksey Kladov | 2019-01-06 | 6 | -32/+106 |
| | | |||||
* | | kill old module | Aleksey Kladov | 2019-01-06 | 7 | -233/+66 |
| | | |||||
* | | add parent & resolve_path | Aleksey Kladov | 2019-01-06 | 4 | -5/+67 |
| | | |||||
* | | make source cancelable | Aleksey Kladov | 2019-01-06 | 1 | -2/+2 |
| | | |||||
* | | make deps cancelable | Aleksey Kladov | 2019-01-06 | 2 | -3/+3 |
| | | |||||
* | | fix tests | Aleksey Kladov | 2019-01-06 | 4 | -20/+42 |
| | | |||||
* | | switch source-binders to Module | Aleksey Kladov | 2019-01-06 | 2 | -9/+20 |
| | | |||||
* | | Start code_model::Module | Aleksey Kladov | 2019-01-06 | 4 | -7/+83 |
| | | |||||
* | | move crate to code_model_api | Aleksey Kladov | 2019-01-06 | 3 | -21/+34 |
| | | |||||
* | | Merge #441 | bors[bot] | 2019-01-06 | 20 | -254/+1150 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 441: hir::Expr r=matklad a=flodiebold Still a bit to do, but I already adapted `FnScopes` and thought I'd get feedback already. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | Add fn signature query | Florian Diebold | 2019-01-06 | 8 | -7/+86 |
| | | | |||||
| * | | Various small code review improvements | Florian Diebold | 2019-01-05 | 3 | -26/+27 |
| | | | |||||
| * | | Make FnScopes use hir::Expr | Florian Diebold | 2019-01-05 | 13 | -313/+533 |
| | | | | | | | | | | | | | | | | | | This was a bit complicated. I've added a wrapper type for now that does the LocalSyntaxPtr <-> ExprId translation; we might want to get rid of that or give it a nicer interface. | ||||
| * | | Add HIR Expr machinery | Florian Diebold | 2019-01-05 | 9 | -4/+542 |
| | | | |||||
| * | | Add test for invalidation of inferred types when typing inside function | Florian Diebold | 2019-01-05 | 2 | -0/+58 |
| |/ | | | | | | | This currently fails, but should work once we have hir::Expr. | ||||
* / | split_import intention correctly works with use trees | Aleksey Kladov | 2019-01-06 | 1 | -1/+13 |
|/ | |||||
* | fix tests | Aleksey Kladov | 2019-01-05 | 3 | -79/+49 |
| | |||||
* | show types in local variable hovers | Aleksey Kladov | 2019-01-05 | 2 | -10/+27 |
| | |||||
* | kill approximatelly_resolve_symbol | Aleksey Kladov | 2019-01-05 | 4 | -90/+11 |
| | |||||
* | inline goto_defention tests | Aleksey Kladov | 2019-01-05 | 3 | -66/+58 |
| | |||||
* | move goto_defenition to a separate file | Aleksey Kladov | 2019-01-05 | 3 | -11/+91 |
| | |||||
* | introduce separate goto_defenition | Aleksey Kladov | 2019-01-05 | 2 | -3/+9 |
| | |||||
* | kill accidentally added file | Aleksey Kladov | 2019-01-05 | 1 | -73/+0 |
| | |||||
* | move typeof to hover | Aleksey Kladov | 2019-01-05 | 3 | -18/+18 |
| | |||||
* | fold doc_comment into hover | Aleksey Kladov | 2019-01-05 | 3 | -109/+110 |
| | |||||
* | move hover implementation to ra_analysis | Aleksey Kladov | 2019-01-05 | 4 | -67/+83 |
| | |||||
* | wip | Aleksey Kladov | 2019-01-05 | 1 | -0/+26 |
| | |||||
* | Merge #414 | bors[bot] | 2019-01-05 | 1 | -2/+25 |
|\ | | | | | | | | | | | | | | | 414: textDocument/hover returns both type name and doc_text r=matklad a=h-michael implement #389 Co-authored-by: Hirokazu Hata <[email protected]> | ||||
| * | Use both type_of and doc_text_for | Hirokazu Hata | 2019-01-05 | 1 | -14/+25 |
| | | |||||
| * | Return type name when doc_text_for returns nothing | Hirokazu Hata | 2019-01-03 | 1 | -0/+12 |
| | | |||||
* | | change visibility can change pub to pub(crate) | Aleksey Kladov | 2019-01-05 | 2 | -2/+48 |
| | | |||||
* | | split import assist | Aleksey Kladov | 2019-01-05 | 4 | -0/+126 |
| | | |||||
* | | Merge #427 | bors[bot] | 2019-01-05 | 1 | -2/+58 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 427: Remove extra space when joining lines in use items r=matklad a=alanhdu Fixes #423. Co-authored-by: Alan Du <[email protected]> | ||||
| * | | Fix join_lines use_items right w/ and w/o comma | Alan Du | 2019-01-05 | 1 | -3/+22 |
| | | | |||||
| * | | Address join lines use items right } | Alan Du | 2019-01-05 | 1 | -3/+21 |
| | | | |||||
| * | | Remove extra space when joining lines in use items | Alan Du | 2019-01-04 | 1 | -0/+19 |
| | | | |||||
* | | | Merge #370 | bors[bot] | 2019-01-04 | 26 | -62/+548 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 370: Self params & type r=matklad a=flodiebold This implements type inference for `self`, so field completion for methods taking `self` works now. - rename `IMPL_ITEM` to `IMPL_BLOCK` -- rustc calls the methods etc. inside an impl `ImplItem`s, and the impl itself doesn't define an item, so I thought this name was clearer. - add HIR for impl blocks -- we collect all impls in a crate at once, so we can go from methods to containing impls, and since we will later also need to find all impls for a certain type (which may be anywhere in the crate, I think?). We could be more lazy here, but I don't know if it's worth the complexity. - resolve `self` and `Self` during type inference - refactor a bit in ty.rs as well Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | | Rename ImplsInCrateQuery as well | Florian Diebold | 2019-01-04 | 3 | -3/+3 |
| | | | |