aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2982bors[bot]2020-02-021-1/+2
|\ | | | | | | | | | | | | | | 2982: Merge imports when auto importing r=flodiebold a=SomeoneToIgnore Co-authored-by: Kirill Bulatov <[email protected]>
| * Code review fixesKirill Bulatov2020-02-021-1/+1
| |
| * Require ModPath for importingKirill Bulatov2020-02-021-1/+2
| |
* | Auto import functionsKirill Bulatov2020-02-011-6/+11
|/
* Re-sync queries for memory usage measurnmentAleksey Kladov2020-01-291-9/+13
|
* Code review fixesKirill Bulatov2020-01-271-3/+2
|
* Adjust the testsKirill Bulatov2020-01-261-0/+1
|
* Have a better trait interfaceKirill Bulatov2020-01-261-1/+2
|
* Initial auto import action implementationKirill Bulatov2020-01-261-1/+1
|
* Fix commentAleksey Kladov2020-01-161-3/+1
|
* Correctly discover module containersAleksey Kladov2020-01-161-11/+15
|
* Create modules via SourceBinderAleksey Kladov2020-01-163-58/+28
|
* Move module to SourceBinderAleksey Kladov2020-01-162-34/+48
|
* Cache source for genericsAleksey Kladov2020-01-161-1/+20
|
* Move more stuff to SourceBinderAleksey Kladov2020-01-162-64/+68
|
* More natural trait setupAleksey Kladov2020-01-162-22/+44
|
* Removed FromSourceAleksey Kladov2020-01-161-165/+16
|
* Make FromSource privateAleksey Kladov2020-01-163-18/+53
|
* TyposAleksey Kladov2020-01-151-1/+1
|
* Make syntax highlighting linearAleksey Kladov2020-01-151-3/+5
|
* Flip genericsAleksey Kladov2020-01-151-12/+12
|
* Store DB in SourceBinderAleksey Kladov2020-01-153-32/+33
|
* Introduce SourceBinderAleksey Kladov2020-01-153-99/+215
|
* Don't parse child modules when doing diagnosticsAleksey Kladov2020-01-151-3/+3
|
* Move Type API to typeAleksey Kladov2020-01-142-66/+78
|
* Push resolver further upAleksey Kladov2020-01-141-2/+16
|
* Move impls_future to Type, where it belongsAleksey Kladov2020-01-142-25/+19
|
* Use lang-items to resolve future traitAleksey Kladov2020-01-141-10/+9
|
* Move utility functions downAleksey Kladov2020-01-141-58/+58
|
* Rename fileAleksey Kladov2020-01-142-2/+2
|
* Use attr location for builtin macro goto-impEdwin Cheng2020-01-121-1/+23
|
* Apply review suggestionsFlorian Diebold2020-01-112-2/+4
|
* Qualify some paths in 'add missing impl members'Florian Diebold2020-01-113-0/+33
|
* Split `infer` query into two for better profilingMichal Terepeta2020-01-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same change as we did with `crate_def_map` and it does seem that we mostly spend time in salsa, without recomputing much on rust-analyzer side. Example output: ``` 233ms - handle_inlay_hints 163ms - get_inlay_hints 163ms - SourceAnalyzer::new 67ms - def_with_body_from_child_node 67ms - analyze_container 67ms - analyze_container 67ms - Module::from_definition 67ms - Module::from_file 67ms - crate_def_map 0ms - parse_macro_query (6 calls) 0ms - raw_items_query (1 calls) 66ms - ??? 0ms - crate_def_map (1 calls) 0ms - crate_def_map (1 calls) 96ms - infer 2ms - trait_solve_query (2 calls) 94ms - ??? 0ms - body_with_source_map_query (1 calls) 0ms - crate_def_map (1 calls) [...] ``` Signed-off-by: Michal Terepeta <[email protected]>
* Split `crate_def_map` into two methodsMichal Terepeta2020-01-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* Add `profile` calls to {Module,Function}::diagnosticsMichal Terepeta2020-01-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | With this change the output `ra_prof` gives a better indication where the time is spent. Example output: ``` 213ms - publish_diagnostics 213ms - diagnostics 70ms - Module::from_definition 70ms - Module::from_file 132ms - Module::diagnostics 78ms - Function::diagnostics 0ms - body_with_source_map_query (1 calls) 2ms - trait_solve_query (1 calls) 76ms - ??? 15ms - Function::diagnostics 0ms - body_with_source_map_query (1 calls) 15ms - trait_solve_query (5 calls) 38ms - Function::diagnostics (51 calls) 8ms - parse_query (1 calls) ``` Signed-off-by: Michal Terepeta <[email protected]>
* Merge #2650bors[bot]2019-12-291-1/+25
|\ | | | | | | | | | | | | | | 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-231-19/+21
| |
| * Add macro call support for type_ofEdwin Cheng2019-12-231-2/+24
| |
* | visible_from -> is_visible_fromFlorian Diebold2019-12-271-2/+2
| |
* | Remove visibility query, instead add struct field visibility to dataFlorian Diebold2019-12-261-2/+2
| | | | | | | | | | Methods should be handled the same, and for items the visibility will be in the def map.
* | Rename ResolvedVisibility -> VisibilityFlorian Diebold2019-12-261-3/+3
| |
* | Add visibility in code model for fieldsFlorian Diebold2019-12-262-3/+20
| |
* | Fill in type params in 'add missing impl members' assistFlorian Diebold2019-12-241-0/+11
|/
* SimplifyAleksey Kladov2019-12-221-1/+1
|
* More profilingAleksey Kladov2019-12-211-2/+7
|
* Merge #2637bors[bot]2019-12-212-0/+7
|\ | | | | | | | | | | | | | | 2637: Optimize and profile r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Optimize and profileAleksey Kladov2019-12-212-0/+7
| |
* | Remove import source mapAleksey Kladov2019-12-211-2/+2
|/
* Remove imports from hirAleksey Kladov2019-12-213-27/+8
|