aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def
Commit message (Collapse)AuthorAgeFilesLines
* Require ModPath for importingKirill Bulatov2020-02-021-2/+2
|
* Merge #2917bors[bot]2020-01-282-14/+86
|\ | | | | | | | | | | | | | | 2917: Prefer imports starting with std r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/2915 Co-authored-by: Kirill Bulatov <[email protected]>
| * Add the testsKirill Bulatov2020-01-282-0/+42
| |
| * Apply the proposed refactoringKirill Bulatov2020-01-281-38/+43
| |
| * Prefer imports starting with stdKirill Bulatov2020-01-271-6/+31
| |
* | Publicize debug printing of CrateDefMapAleksey Kladov2020-01-282-41/+42
|/
* Update cratesJeremy Kolb2020-01-261-1/+1
|
* Remove dead codeAleksey Kladov2020-01-161-34/+2
|
* Make FromSource privateAleksey Kladov2020-01-161-1/+3
|
* Merge #2837bors[bot]2020-01-151-1/+1
|\ | | | | | | | | | | | | | | | | | | 2837: Accidentally quadratic r=matklad a=matklad Our syntax highlighting is accdentally quadratic. Current state of the PR fixes it in a pretty crude way, looks like for the proper fix we need to redo how source-analyzer works. **NB:** don't be scared by diff stats, that's mostly a test-data file Co-authored-by: Aleksey Kladov <[email protected]>
| * Introduce SourceBinderAleksey Kladov2020-01-151-1/+1
| |
* | RenameAleksey Kladov2020-01-153-17/+14
|/
* Don't parse child modules when doing diagnosticsAleksey Kladov2020-01-151-0/+7
|
* 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 <[email protected]>
| * 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 <[email protected]>
* 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 <[email protected]>
* Remove a duplicate line in `collect_defs`Michal Terepeta2020-01-031-1/+0
| | | | Signed-off-by: Michal Terepeta <[email protected]>
* 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 <[email protected]>
| * 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
| |