aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2803bors[bot]2020-01-112-1/+46
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2803: Fix various names, e.g. Iterator not resolving in core prelude r=matklad a=flodiebold Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683. Co-authored-by: Florian Diebold <flodiebold@gmail.com>
| * Fix various names, e.g. Iterator not resolving in core preludeFlorian Diebold2020-01-112-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683.
* | Apply review suggestionsFlorian Diebold2020-01-115-34/+23
| |
* | Qualify some paths in 'add missing impl members'Florian Diebold2020-01-112-1/+48
| |
* | Use `self`Florian Diebold2020-01-111-0/+20
| |
* | CleanupFlorian Diebold2020-01-111-13/+25
| |
* | Handle cyclesFlorian Diebold2020-01-111-5/+54
| |
* | Use query for importable locationsFlorian Diebold2020-01-114-34/+77
| |
* | Use super, don't use private importsFlorian Diebold2020-01-111-2/+48
| |
* | Use shortest pathFlorian Diebold2020-01-111-4/+19
| |
* | handle most casesFlorian Diebold2020-01-112-11/+67
| |
* | basics workingFlorian Diebold2020-01-111-5/+113
| |
* | more WIPFlorian Diebold2020-01-112-12/+122
| |
* | find_path WIPFlorian Diebold2020-01-113-0/+58
|/
* Add `_query` suffix to `compute_crate_def_map` for consistencyMichal Terepeta2020-01-032-2/+2
| | | | Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
* Split `crate_def_map` into two methodsMichal Terepeta2020-01-032-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change: - introduces `compute_crate_def_map` query and renames `CrateDefMap::crate_def_map_query` for consistency, - annotates `crate_def_map` as `salsa::transparent` and adds a top-level `crate_def_map` wrapper function around that starts the profiler and immediately calls into `compute_crate_def_map` query. This allows us to better understand where we spent the time, in particular, how much is spent in the recomputaiton and how much in salsa. Example output (where we don't actually re-compute anything, but the query still takes a non-trivial amount of time): ``` 211ms - handle_inlay_hints 150ms - get_inlay_hints 150ms - SourceAnalyzer::new 65ms - def_with_body_from_child_node 65ms - analyze_container 65ms - analyze_container 65ms - Module::from_definition 65ms - Module::from_file 65ms - crate_def_map 1ms - parse_macro_query (6 calls) 0ms - raw_items_query (1 calls) 64ms - ??? ``` Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
* Remove a duplicate line in `collect_defs`Michal Terepeta2020-01-031-1/+0
| | | | Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
* Remove unused hard-coded pathsEmil Lauridsen2019-12-291-4/+0
|
* Add helpers for unpacking lang itemsEmil Lauridsen2019-12-291-0/+44
|
* Merge #2650bors[bot]2019-12-292-7/+19
|\ | | | | | | | | | | | | | | 2650: Add macro call support for SourceAnalyzer::type_of r=matklad a=edwin0cheng Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
| * Use pre-stored macro fileEdwin Cheng2019-12-233-14/+30
| |
| * Add macro call support for type_ofEdwin Cheng2019-12-232-11/+7
| |
* | Don't add non-impl/trait containers to scopeAleksey Kladov2019-12-291-1/+1
| |
* | visible_from -> is_visible_fromFlorian Diebold2019-12-272-7/+7
| |
* | Remove Arc from RawVisibilityFlorian Diebold2019-12-261-11/+6
| | | | | | | | | | Now that it's not used as a direct query return value anymore, it doesn't need to be cheaply cloneable anymore.
* | Fix cross-crate glob privacy handlingFlorian Diebold2019-12-263-6/+28
| |
* | Remove visibility query, instead add struct field visibility to dataFlorian Diebold2019-12-264-100/+33
| | | | | | | | | | Methods should be handled the same, and for items the visibility will be in the def map.
* | Rename ResolvedVisibility -> VisibilityFlorian Diebold2019-12-267-64/+51
| |
* | Rename Visibility -> RawVisibilityFlorian Diebold2019-12-266-40/+40
| |
* | Handle privacy for modulesFlorian Diebold2019-12-263-11/+36
| |
* | Take visibility into account for glob importsFlorian Diebold2019-12-267-43/+165
| |
* | Keep track of visibility during def collectionFlorian Diebold2019-12-266-54/+120
| |
* | Collect visibility of items during nameresFlorian Diebold2019-12-264-16/+57
| |
* | Add doc commentFlorian Diebold2019-12-261-0/+2
| |
* | Make enum variant fields publicFlorian Diebold2019-12-261-2/+9
| |
* | Add logic for resolving and checking visibilityFlorian Diebold2019-12-262-1/+60
| |
* | Add infrastructure for visibility on syntax and hir_def levelFlorian Diebold2019-12-263-1/+131
| |
* | Remove AsyncOwnerEdwin Cheng2019-12-241-3/+1
| |
* | FormattingEdwin Cheng2019-12-242-3/+4
| |
* | Implement infer await from async funcEdwin Cheng2019-12-242-2/+30
|/
* Rudimentary name resolution for local itemsAleksey Kladov2019-12-224-43/+102
|
* SimplifyAleksey Kladov2019-12-222-16/+17
|
* RefactorAleksey Kladov2019-12-222-10/+11
|
* Share impl Scope between modules and blocksAleksey Kladov2019-12-223-53/+56
|
* SimplifyAleksey Kladov2019-12-226-57/+40
|
* Remove unused parametersAleksey Kladov2019-12-222-23/+13
|
* Remove import fieldAleksey Kladov2019-12-222-19/+8
|
* Separate defs from importsAleksey Kladov2019-12-222-5/+8
|
* Refactor PerNs constructionAleksey Kladov2019-12-222-49/+52
|
* Minor renameAleksey Kladov2019-12-221-8/+8
|