Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | move tests over to crate-def-map | Aleksey Kladov | 2019-03-17 | 9 | -850/+689 |
| | |||||
* | Replace module_tree with CrateDefMap | Aleksey Kladov | 2019-03-17 | 15 | -510/+332 |
| | |||||
* | add name resolution from the old impl | Aleksey Kladov | 2019-03-17 | 5 | -168/+724 |
| | | | | unlike the old impl, this also handles macro imports across crates | ||||
* | add skeleton for macro-aware name resolutions | Aleksey Kladov | 2019-03-17 | 7 | -9/+769 |
| | |||||
* | Remove FnSig from FnDef type | Florian Diebold | 2019-03-16 | 4 | -21/+26 |
| | | | | | It doesn't need to be in there since it's just information from the def. Another step towards aligning Ty with Chalk's representation. | ||||
* | Refactor FnSig a bit | Florian Diebold | 2019-03-16 | 3 | -70/+104 |
| | |||||
* | Some more Ty displaying cleanup | Florian Diebold | 2019-03-16 | 2 | -35/+33 |
| | |||||
* | Replace Display by a pretty printing trait for Ty | Florian Diebold | 2019-03-16 | 5 | -54/+126 |
| | | | | | This allows removing the names from Adt and FnDef (and more later), as a first step towards aligning more with chalk's Ty :) | ||||
* | derive Hash for ra_hir::ModuleDef | pcpthm | 2019-03-14 | 1 | -1/+1 |
| | |||||
* | remove Def | Aleksey Kladov | 2019-03-12 | 2 | -6/+0 |
| | |||||
* | Add support for goto definition and hover on Self | Ville Penttinen | 2019-03-07 | 1 | -24/+25 |
| | | | | This fixes #943 | ||||
* | Updates | kjeremy | 2019-03-05 | 1 | -2/+2 |
| | |||||
* | Use impl_froms! | kjeremy | 2019-03-04 | 1 | -13/+3 |
| | |||||
* | Make ExpOrPatId private | kjeremy | 2019-03-04 | 1 | -3/+6 |
| | |||||
* | Remove commented out code | Jeremy Kolb | 2019-03-04 | 1 | -9/+0 |
| | |||||
* | Use ImplItems instead of just Function | Jeremy Kolb | 2019-03-04 | 1 | -34/+48 |
| | |||||
* | Make goto definition/hover resolve constructors | kjeremy | 2019-03-04 | 1 | -3/+40 |
| | |||||
* | Inline type inference test snapshots | Florian Diebold | 2019-03-03 | 59 | -1504/+1096 |
| | |||||
* | Represent unknown types as {unknown} instead of [unknown] | Florian Diebold | 2019-03-03 | 28 | -171/+171 |
| | | | | Since the latter could actually be a real type... | ||||
* | Add a bunch of tests for type inference involving traits | Florian Diebold | 2019-03-02 | 13 | -0/+403 |
| | | | | None of them works correctly yet, of course. | ||||
* | Merge #915 | bors[bot] | 2019-03-02 | 10 | -112/+89 |
|\ | | | | | | | | | | | | | | | | | | | | | 915: Bring BodySyntaxMapping in line with other source-map instances r=flodiebold a=matklad * rename to SourceMap * don't store the actual body inline, just return a pair r? @flodiebold Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | remove comment | Aleksey Kladov | 2019-03-02 | 1 | -1/+0 |
| | | |||||
| * | remove second way to get the body | Aleksey Kladov | 2019-03-02 | 1 | -4/+0 |
| | | |||||
| * | rename syntax_mapping as well | Aleksey Kladov | 2019-03-02 | 1 | -1/+1 |
| | | |||||
| * | align lower module query names | Aleksey Kladov | 2019-03-02 | 6 | -21/+14 |
| | | |||||
| * | rename scopes | Aleksey Kladov | 2019-03-02 | 4 | -9/+9 |
| | | |||||
| * | rename to source_map | Aleksey Kladov | 2019-03-02 | 2 | -17/+13 |
| | | |||||
| * | dont store body inside source map | Aleksey Kladov | 2019-03-02 | 4 | -60/+53 |
| | | |||||
| * | rename syntax-mapping -> source-map | Aleksey Kladov | 2019-03-02 | 5 | -24/+24 |
| | | |||||
* | | A bit of cleanup in ty.rs | Florian Diebold | 2019-03-02 | 1 | -28/+1 |
|/ | |||||
* | Remove `TypeRef` from item opts which implement TypeAscriptionOwner | Ville Penttinen | 2019-02-27 | 4 | -10/+10 |
| | |||||
* | Use TypeAscriptionOwner | Ville Penttinen | 2019-02-26 | 1 | -8/+5 |
| | | | | | | This replaces places where we would use node + node.type_ref() with things that have an ascribed type, with using the TypeAscriptionOwner as the trait bound so we can simply pass the node. | ||||
* | Merge #897 | bors[bot] | 2019-02-25 | 11 | -20/+206 |
|\ | | | | | | | | | | | | | | | | | | | 897: Add basic const/static type inference r=flodiebold a=vipentti This adds basic const/static type inference discussed in #887. Currently the inference does not work for const/static declared inside a block. In addition the inference does not work inside the bodies of const/static. Co-authored-by: Ville Penttinen <[email protected]> | ||||
| * | Move ConstSignature creation to a single method | Ville Penttinen | 2019-02-25 | 1 | -17/+13 |
| | | |||||
| * | Add static type inference | Ville Penttinen | 2019-02-25 | 6 | -12/+54 |
| | | |||||
| * | Add const type inference | Ville Penttinen | 2019-02-25 | 11 | -20/+168 |
| | | |||||
* | | rename type to type_alias in the AST as well | Aleksey Kladov | 2019-02-25 | 4 | -6/+9 |
|/ | |||||
* | Rename Type => TypeAlias | Florian Diebold | 2019-02-24 | 9 | -40/+54 |
| | |||||
* | Add test for recursive type aliases | Florian Diebold | 2019-02-24 | 1 | -0/+14 |
| | |||||
* | Implement support for type aliases | Florian Diebold | 2019-02-24 | 8 | -11/+102 |
| | |||||
* | introduce completion presentation | Aleksey Kladov | 2019-02-24 | 1 | -1/+1 |
| | | | | | This module should remove completion rendering boilerplate from the "brains" of completion engine. | ||||
* | Clean up imports a bit | Florian Diebold | 2019-02-24 | 2 | -6/+4 |
| | |||||
* | Refactor associated method resolution a bit and make it work with generics | Florian Diebold | 2019-02-23 | 4 | -64/+98 |
| | |||||
* | Split ty.rs into several modules | Florian Diebold | 2019-02-23 | 5 | -1450/+1500 |
| | | | | | | | | | It was just getting too big. We now have: - ty: the `Ty` enum and helpers - ty::infer: actual type inference - ty::lower: lowering from HIR to `Ty` - ty::op: helpers for binary operations, currently | ||||
* | Fix resolution of associated method calls across crates | Florian Diebold | 2019-02-23 | 3 | -3/+53 |
| | | | | | | I think it'll be better to make the path resolution the number of unresolved segments, not the first unresolved index; then this error could simply not have happened. But I'll do that separately. | ||||
* | Merge #866 | bors[bot] | 2019-02-22 | 9 | -31/+410 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | 866: Implement basic support for Associated Methods r=flodiebold a=vipentti This is my attempt at learning to understand how the type inference works by adding basic support for associated methods. Currently it does not resolve associated types or constants. The basic idea is that `Resolver::resolve_path` returns a new `PathResult` type, which has two variants, `FullyResolved` and `PartiallyResolved`, fully resolved matches the previous behavior, where as `PartiallyResolved` contains the `PerNs<Resolution` in addition to a `segment_index` which contains the index of the segment which we failed to resolve. This index can then be used to continue inference in `infer_path_expr` using the `Type` we managed to resolve. This changes some of the previous apis, so looking for feedback and suggestions. This should enable fixing #832 Co-authored-by: Ville Penttinen <[email protected]> | ||||
| * | Change resolve_path to return the fully resolved path or PerNs::none | Ville Penttinen | 2019-02-22 | 3 | -34/+36 |
| | | | | | | | | | | | | This also adds new pub(crate) resolve_path_segments which returns the PathResult, which may or may not be fully resolved. PathResult is also now pub(crate) since it is an implementation detail. | ||||
| * | Ignore failing test for now | Ville Penttinen | 2019-02-21 | 1 | -0/+1 |
| | | |||||
| * | Make nameres::ResolvePathResult private and refactor | Ville Penttinen | 2019-02-21 | 1 | -7/+7 |
| | | |||||
| * | Remove Const inference for now, refactor PathResult | Ville Penttinen | 2019-02-21 | 4 | -77/+93 |
| | |