aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/impl_block.rs
Commit message (Collapse)AuthorAgeFilesLines
* Implement basic support for Associated Methods and ConstantsVille Penttinen2019-02-211-1/+1
| | | | | | | 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.
* Resolve impl generic paramsFlorian Diebold2019-02-161-1/+3
|
* Add generic params to impl blocksFlorian Diebold2019-02-161-6/+10
|
* Turn ImplBlock into a copy type just containing IDsFlorian Diebold2019-02-161-20/+23
| | | | | | | This makes it more like the other code model types. Also make Module::definition_source/declaration_source return HirFileIds, to make them more like the other source functions.
* reformat the worldAleksey Kladov2019-02-081-17/+6
|
* Some clippy cleanupskjeremy2019-02-061-1/+1
|
* Make the Resolution variants tuple variantsFlorian Diebold2019-02-011-4/+3
|
* Use new Resolver API in type inferenceFlorian Diebold2019-02-011-5/+22
|
* Implement methods to build a resolverFlorian Diebold2019-02-011-16/+29
|
* split HirDatabase apicsmoe2019-02-011-6/+14
|
* Go to Implementation for structs and enumsJeremy Kolb2019-01-301-6/+51
|
* kill DefKindcAleksey Kladov2019-01-241-32/+12
|
* remove boilerplateAleksey Kladov2019-01-241-1/+3
|
* remove DefKind::FunctionAleksey Kladov2019-01-241-4/+4
|
* Functions use new id schemeAleksey Kladov2019-01-241-16/+15
|
* Change ids strategyAleksey Kladov2019-01-241-15/+10
| | | | | | | 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
* encapsulate hir locationsAleksey Kladov2019-01-241-3/+3
|
* remove Cancelable from idsAleksey Kladov2019-01-151-7/+5
|
* remove Cancelable from Module APIAleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from source bindersAleksey Kladov2019-01-151-1/+1
|
* Small improvements from review commentsFlorian Diebold2019-01-121-4/+4
|
* Implement basic inherent method resolutionFlorian Diebold2019-01-121-8/+28
|
* Fix typos in ARCHITECTURE.md and a number of cratesMarcus Klaas de Vries2019-01-091-6/+6
| | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
* Fix typo defenition -> definitionMarcus Klaas de Vries2019-01-081-1/+1
|
* migrate ra_hir to rowan 2.0Aleksey Kladov2019-01-081-11/+11
|
* flatten module structureAleksey Kladov2019-01-061-1/+1
|
* split module source into decl/definAleksey Kladov2019-01-061-7/+7
|
* kill old moduleAleksey Kladov2019-01-061-11/+13
|
* Do impl collection per module, not per crateFlorian Diebold2019-01-041-27/+25
|
* Rename ImplBlock::target -> target_type, and add target_trait alreadyFlorian Diebold2019-01-041-5/+15
|
* Add HIR for impl blocksFlorian Diebold2019-01-041-0/+172
Since we need to be able to go from def to containing impl block, as well as the other direction, and to find all impls for a certain type, a design similar to the one for modules, where we collect all impls for the whole crate and keep them in an arena, seemed fitting. The ImplBlock type, which provides the public interface, then consists only of an Arc to the arena containing all impls, and the index into it.