aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix resolution of associated method calls across cratesFlorian Diebold2019-02-231-1/+5
| | | | | | 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.
* Make nameres::ResolvePathResult private and refactorVille Penttinen2019-02-211-7/+7
|
* Remove Const inference for now, refactor PathResultVille Penttinen2019-02-211-15/+8
|
* Implement basic support for Associated Methods and ConstantsVille Penttinen2019-02-211-16/+62
| | | | | | | This is done in `infer_path_expr`. When `Resolver::resolve_path` returns `PartiallyResolved`, we use the returned `Resolution` together with the given `segment_index` to check if we can find something matching the segment at segment_index in the impls for that particular type.
* Handle tuple structs / enum variants properly in type inferenceFlorian Diebold2019-02-171-2/+2
|
* Complete names from preludeFlorian Diebold2019-02-131-1/+1
|
* Handle extern crates better, so they work correctly in 2015 editionFlorian Diebold2019-02-131-8/+17
| | | | (see the removed comment.)
* Resolve 2015 style importsFlorian Diebold2019-02-131-7/+61
|
* Import the preludeFlorian Diebold2019-02-131-4/+46
|
* Fix some typosPascal Hertleif2019-02-121-1/+1
|
* rename combine -> orAleksey Kladov2019-02-111-2/+2
| | | | | | This way we match API of Option https://doc.rust-lang.org/std/option/enum.Option.html#method.or
* use extern prelude in ResolverAleksey Kladov2019-02-111-13/+9
| | | | | | | This fixes two bugs: - completion for paths works again - we handle extern prelude shadowing more correctly
* Implement glob imports within the same crateFlorian Diebold2019-02-101-16/+77
| | | | Fixes #231.
* Import glob imports from other cratesFlorian Diebold2019-02-101-2/+15
| | | | This is the easy part since we don't have to consider the fixpoint algorithm.
* Implement glob imports from enumsFlorian Diebold2019-02-101-4/+35
|
* reformat the worldAleksey Kladov2019-02-081-74/+21
|
* Fix ReachedFixedPoint value for unresolved external prelude itemsFlorian Diebold2019-02-041-1/+1
|
* Complete extern prelude (again)Florian Diebold2019-02-041-1/+1
|
* Make extern crates in the root module add to the extern preludeFlorian Diebold2019-02-041-30/+60
| | | | To accomplish this, separate the extern prelude from the per-module item maps.
* Use aliases in import resolutionFlorian Diebold2019-02-011-9/+12
|
* CleanupFlorian Diebold2019-02-011-2/+1
|
* Use the new Resolver API in completionFlorian Diebold2019-02-011-0/+9
|
* Use new Resolver API in type inferenceFlorian Diebold2019-02-011-5/+18
|
* Sketching the resolver APIFlorian Diebold2019-02-011-1/+1
|
* split HirDatabase apicsmoe2019-02-011-7/+6
|
* Use Crate instead of CrateIdAleksey Kladov2019-01-301-11/+7
|
* move item_map_queryAleksey Kladov2019-01-301-3/+26
|
* remove Option<SourceFileItemId> hackAleksey Kladov2019-01-261-1/+1
|
* nicer behavior in case of bugsAleksey Kladov2019-01-251-0/+5
| | | | | We should always reach a fixed point, but if we fail, let's fail loudly!
* pack enum variants into arenaAleksey Kladov2019-01-251-7/+2
|
* drop obsolete fixmeAleksey Kladov2019-01-251-1/+0
|
* deglobifyAleksey Kladov2019-01-251-2/+1
|
* simplifyAleksey Kladov2019-01-251-3/+11
|
* fix commentAleksey Kladov2019-01-251-3/+2
|
* rename def_id -> defAleksey Kladov2019-01-251-25/+14
|
* write path resolution code only onceAleksey Kladov2019-01-251-2/+11
|
* refactor import resolutionAleksey Kladov2019-01-251-94/+117
| | | | | extract path resolution use enums instead of bools
* Change ids strategyAleksey Kladov2019-01-241-30/+26
| | | | | | | this is a part of larghish hir refactoring which aims to * replace per-source-root module trees with per crate trees * switch from a monotyped DedId to type-specific ids
* assign DefIds when loweringAleksey Kladov2019-01-231-18/+2
|
* fix completion bugsgfreezy2019-01-231-2/+7
|
* Add AST/HIR for type args in path segmentsFlorian Diebold2019-01-191-12/+12
|
* rename LoweredImport -> ImportIdAleksey Kladov2019-01-191-3/+3
|
* switched to lowerd moduleAleksey Kladov2019-01-191-20/+24
|
* move input module items to the lower moduleAleksey Kladov2019-01-191-147/+6
|
* remove Cancelable from nameresAleksey Kladov2019-01-151-24/+18
|
* remove Cancelable from Crate APIAleksey Kladov2019-01-151-2/+2
|
* check_canceled does not return ResultAleksey Kladov2019-01-151-1/+1
|
* Fix typos in ARCHITECTURE.md and a number of cratesMarcus Klaas de Vries2019-01-091-12/+12
| | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
* Fix name resolution across source rootsFlorian Diebold2019-01-081-7/+41
| | | | It was using the wrong name in that case.
* Merge #455bors[bot]2019-01-081-15/+32
|\ | | | | | | | | | | | | | | 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]>