Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #2803 | bors[bot] | 2020-01-11 | 2 | -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 prelude | Florian Diebold | 2020-01-11 | 2 | -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 suggestions | Florian Diebold | 2020-01-11 | 5 | -34/+23 |
| | | |||||
* | | Qualify some paths in 'add missing impl members' | Florian Diebold | 2020-01-11 | 2 | -1/+48 |
| | | |||||
* | | Use `self` | Florian Diebold | 2020-01-11 | 1 | -0/+20 |
| | | |||||
* | | Cleanup | Florian Diebold | 2020-01-11 | 1 | -13/+25 |
| | | |||||
* | | Handle cycles | Florian Diebold | 2020-01-11 | 1 | -5/+54 |
| | | |||||
* | | Use query for importable locations | Florian Diebold | 2020-01-11 | 4 | -34/+77 |
| | | |||||
* | | Use super, don't use private imports | Florian Diebold | 2020-01-11 | 1 | -2/+48 |
| | | |||||
* | | Use shortest path | Florian Diebold | 2020-01-11 | 1 | -4/+19 |
| | | |||||
* | | handle most cases | Florian Diebold | 2020-01-11 | 2 | -11/+67 |
| | | |||||
* | | basics working | Florian Diebold | 2020-01-11 | 1 | -5/+113 |
| | | |||||
* | | more WIP | Florian Diebold | 2020-01-11 | 2 | -12/+122 |
| | | |||||
* | | find_path WIP | Florian Diebold | 2020-01-11 | 3 | -0/+58 |
|/ | |||||
* | Add `_query` suffix to `compute_crate_def_map` for consistency | Michal Terepeta | 2020-01-03 | 2 | -2/+2 |
| | | | | Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com> | ||||
* | Split `crate_def_map` into two methods | Michal Terepeta | 2020-01-03 | 2 | -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 Terepeta | 2020-01-03 | 1 | -1/+0 |
| | | | | Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com> | ||||
* | Remove unused hard-coded paths | Emil Lauridsen | 2019-12-29 | 1 | -4/+0 |
| | |||||
* | Add helpers for unpacking lang items | Emil Lauridsen | 2019-12-29 | 1 | -0/+44 |
| | |||||
* | Merge #2650 | bors[bot] | 2019-12-29 | 2 | -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 file | Edwin Cheng | 2019-12-23 | 3 | -14/+30 |
| | | |||||
| * | Add macro call support for type_of | Edwin Cheng | 2019-12-23 | 2 | -11/+7 |
| | | |||||
* | | Don't add non-impl/trait containers to scope | Aleksey Kladov | 2019-12-29 | 1 | -1/+1 |
| | | |||||
* | | visible_from -> is_visible_from | Florian Diebold | 2019-12-27 | 2 | -7/+7 |
| | | |||||
* | | Remove Arc from RawVisibility | Florian Diebold | 2019-12-26 | 1 | -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 handling | Florian Diebold | 2019-12-26 | 3 | -6/+28 |
| | | |||||
* | | Remove visibility query, instead add struct field visibility to data | Florian Diebold | 2019-12-26 | 4 | -100/+33 |
| | | | | | | | | | | Methods should be handled the same, and for items the visibility will be in the def map. | ||||
* | | Rename ResolvedVisibility -> Visibility | Florian Diebold | 2019-12-26 | 7 | -64/+51 |
| | | |||||
* | | Rename Visibility -> RawVisibility | Florian Diebold | 2019-12-26 | 6 | -40/+40 |
| | | |||||
* | | Handle privacy for modules | Florian Diebold | 2019-12-26 | 3 | -11/+36 |
| | | |||||
* | | Take visibility into account for glob imports | Florian Diebold | 2019-12-26 | 7 | -43/+165 |
| | | |||||
* | | Keep track of visibility during def collection | Florian Diebold | 2019-12-26 | 6 | -54/+120 |
| | | |||||
* | | Collect visibility of items during nameres | Florian Diebold | 2019-12-26 | 4 | -16/+57 |
| | | |||||
* | | Add doc comment | Florian Diebold | 2019-12-26 | 1 | -0/+2 |
| | | |||||
* | | Make enum variant fields public | Florian Diebold | 2019-12-26 | 1 | -2/+9 |
| | | |||||
* | | Add logic for resolving and checking visibility | Florian Diebold | 2019-12-26 | 2 | -1/+60 |
| | | |||||
* | | Add infrastructure for visibility on syntax and hir_def level | Florian Diebold | 2019-12-26 | 3 | -1/+131 |
| | | |||||
* | | Remove AsyncOwner | Edwin Cheng | 2019-12-24 | 1 | -3/+1 |
| | | |||||
* | | Formatting | Edwin Cheng | 2019-12-24 | 2 | -3/+4 |
| | | |||||
* | | Implement infer await from async func | Edwin Cheng | 2019-12-24 | 2 | -2/+30 |
|/ | |||||
* | Rudimentary name resolution for local items | Aleksey Kladov | 2019-12-22 | 4 | -43/+102 |
| | |||||
* | Simplify | Aleksey Kladov | 2019-12-22 | 2 | -16/+17 |
| | |||||
* | Refactor | Aleksey Kladov | 2019-12-22 | 2 | -10/+11 |
| | |||||
* | Share impl Scope between modules and blocks | Aleksey Kladov | 2019-12-22 | 3 | -53/+56 |
| | |||||
* | Simplify | Aleksey Kladov | 2019-12-22 | 6 | -57/+40 |
| | |||||
* | Remove unused parameters | Aleksey Kladov | 2019-12-22 | 2 | -23/+13 |
| | |||||
* | Remove import field | Aleksey Kladov | 2019-12-22 | 2 | -19/+8 |
| | |||||
* | Separate defs from imports | Aleksey Kladov | 2019-12-22 | 2 | -5/+8 |
| | |||||
* | Refactor PerNs construction | Aleksey Kladov | 2019-12-22 | 2 | -49/+52 |
| | |||||
* | Minor rename | Aleksey Kladov | 2019-12-22 | 1 | -8/+8 |
| |