Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | internal: move diagnostics to hir | Aleksey Kladov | 2021-05-25 | 1 | -244/+8 |
| | | | | | | | | | | | | | | | | | | | | | | | The idea here is to eventually get rid of `dyn Diagnostic` and `DiagnosticSink` infrastructure altogether, and just have a `enum hir::Diagnostic` instead. The problem with `dyn Diagnostic` is that it is defined in the lowest level of the stack (hir_expand), but is used by the highest level (ide). As a first step, we free hir_expand and hir_def from `dyn Diagnostic` and kick the can up to `hir_ty`, as an intermediate state. The plan is then to move DiagnosticSink similarly to the hir crate, and, as final third step, remove its usage from the ide. One currently unsolved problem is testing. You can notice that the test which checks precise diagnostic ranges, unresolved_import_in_use_tree, was moved to the ide layer. Logically, only IDE should have the infra to render a specific range. At the same time, the range is determined with the data produced in hir_def and hir crates, so this layering is rather unfortunate. Working on hir_def shouldn't require compiling `ide` for testing. | ||||
* | Precompute macro fragment kind | Jonas Schievink | 2021-05-09 | 1 | -1/+1 |
| | |||||
* | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 1 | -0/+1 |
| | |||||
* | Add failing local items test | Jonas Schievink | 2021-04-21 | 1 | -0/+14 |
| | |||||
* | Include path in `unresolved-macro-call` diagnostic | Jonas Schievink | 2021-04-16 | 1 | -4/+9 |
| | |||||
* | Store `#[derive]` attribute ID along macro invoc | Jonas Schievink | 2021-04-09 | 1 | -1/+1 |
| | |||||
* | Use named fields in `MacroCallKind` | Jonas Schievink | 2021-04-08 | 1 | -14/+14 |
| | |||||
* | Use exhaustive matches in shrink_to_fit impls | Jonas Schievink | 2021-04-04 | 1 | -5/+19 |
| | |||||
* | Use shrink_to_fit to reduce DefMap sizes | Jonas Schievink | 2021-04-03 | 1 | -0/+11 |
| | |||||
* | resolver: manually traverse nested block scopes | Jonas Schievink | 2021-03-22 | 1 | -0/+17 |
| | |||||
* | Rename derive-specific APIs | Jonas Schievink | 2021-03-19 | 1 | -2/+2 |
| | |||||
* | Record custom derive helpers in `DefMap` | Jonas Schievink | 2021-03-18 | 1 | -1/+11 |
| | | | | Also clean up proc macro attribute parsing a bit | ||||
* | Rename `item_tree` query to `file_item_tree` | Jonas Schievink | 2021-03-18 | 1 | -1/+1 |
| | |||||
* | Fix `find_path` when inner items are present | Jonas Schievink | 2021-03-01 | 1 | -0/+12 |
| | |||||
* | For unresolved macros, hightlight only the last segment | Aleksey Kladov | 2021-02-28 | 1 | -0/+14 |
| | |||||
* | is_visible_from_def_map: handle block expressions | Jonas Schievink | 2021-02-23 | 1 | -0/+6 |
| | |||||
* | Make `with_ancestor_maps` public | Jonas Schievink | 2021-02-09 | 1 | -1/+1 |
| | |||||
* | Don't keep the parent DefMap alive via Arc | Jonas Schievink | 2021-02-04 | 1 | -19/+41 |
| | | | | | This seems like it could easily leak a lot of memory since we don't currently run GC | ||||
* | Split out ItemScope::dump from DefMap::dump | Jonas Schievink | 2021-02-03 | 1 | -21/+1 |
| | |||||
* | Add newline between block and crate maps | Jonas Schievink | 2021-02-03 | 1 | -0/+1 |
| | |||||
* | Update `DefMap` and `block_def_map` docs | Jonas Schievink | 2021-02-03 | 1 | -1/+10 |
| | |||||
* | Shortcut `block_def_map` if there's no inner items | Jonas Schievink | 2021-02-03 | 1 | -4/+9 |
| | | | | | This previously didn't work, but apparently only because of the wonky test setup | ||||
* | Fix resolution of `crate` paths from within blocks | Jonas Schievink | 2021-02-02 | 1 | -0/+5 |
| | | | | | They resolve to the crate root, not the DefMap's root module (which can be a block) | ||||
* | Use the right `DefMap` when looking up modules | Jonas Schievink | 2021-02-02 | 1 | -0/+4 |
| | |||||
* | Revert "Use block_def_map in body lowering" | Jonas Schievink | 2021-02-02 | 1 | -4/+2 |
| | |||||
* | Shortcut `block_def_map` if there's no inner items | Jonas Schievink | 2021-02-01 | 1 | -2/+4 |
| | | | | | This previously didn't work, but apparently only because of the wonky test setup | ||||
* | Fix incorrect `FileId` and remove broken shortcut | Jonas Schievink | 2021-01-28 | 1 | -9/+3 |
| | | | | | Apparently we were using the crate's root file instead of the file containing the block. | ||||
* | Fix legacy macro resolution in block expressions | Jonas Schievink | 2021-01-27 | 1 | -0/+11 |
| | |||||
* | Intern block locations and handle them in ModuleId | Jonas Schievink | 2021-01-25 | 1 | -47/+26 |
| | |||||
* | Create all `ModuleId`s through a `DefMap` method | Jonas Schievink | 2021-01-25 | 1 | -0/+4 |
| | | | | | `ModuleId` needs to be able to represent blocks, and only the associated `DefMap` will know how to construct that `ModuleId` | ||||
* | Include `countme` crate to count important data structures. | Aleksey Kladov | 2021-01-21 | 1 | -0/+3 |
| | |||||
* | Add name resolution query for block expressions | Jonas Schievink | 2021-01-21 | 1 | -17/+78 |
| | |||||
* | Treat BlockExpr as a potential module origin | Jonas Schievink | 2021-01-20 | 1 | -2/+10 |
| | |||||
* | DefMap: hide remaining crate-visible fields | Jonas Schievink | 2021-01-20 | 1 | -3/+15 |
| | |||||
* | Make public DefMap fields private | Jonas Schievink | 2021-01-20 | 1 | -2/+10 |
| | |||||
* | Rename `CrateDefMap` to `DefMap` | Jonas Schievink | 2021-01-18 | 1 | -6/+6 |
| | |||||
* | prepare to publish el libro de arena | Aleksey Kladov | 2021-01-14 | 1 | -1/+1 |
| | |||||
* | Remove some unneeded string allocations | Lukas Wirth | 2020-12-31 | 1 | -1/+1 |
| | |||||
* | Avoid a couple of allocations | Laurențiu Nicola | 2020-12-29 | 1 | -1/+1 |
| | |||||
* | More accurately place proc-macro diagnostic | Jonas Schievink | 2020-11-27 | 1 | -3/+38 |
| | |||||
* | Publish diagnostics for macro expansion errors | Jonas Schievink | 2020-11-27 | 1 | -2/+50 |
| | |||||
* | Don't store `SyntaxNodePtr` in `CrateDefMap` | Jonas Schievink | 2020-11-26 | 1 | -4/+5 |
| | | | | It is volatile across reparses and makes incrementality worse. | ||||
* | Emit better #[cfg] diagnostics | Jonas Schievink | 2020-10-22 | 1 | -4/+12 |
| | |||||
* | Rename UnconfiguredCode -> InactiveCode | Jonas Schievink | 2020-10-20 | 1 | -1/+1 |
| | |||||
* | Add a (hint) diagnostic for unconfigured items | Jonas Schievink | 2020-10-20 | 1 | -1/+14 |
| | |||||
* | Rename declaration_name -> display_name | Aleksey Kladov | 2020-10-20 | 1 | -5/+1 |
| | | | | | | | | Declaration names sounds like a name of declaration -- something you can use for analysis. It empathically isn't, and is just a label displayed in various UI. It's important not to confuse the two, least we accidentally mix semantics with UI (I believe, there's already a case of this in the FamousDefs at least). | ||||
* | Properly name the field | Kirill Bulatov | 2020-10-02 | 1 | -1/+1 |
| | |||||
* | Add diagnostic types for unresolved crates/imports | Jonas Schievink | 2020-09-16 | 1 | -12/+81 |
| | |||||
* | Rename ra_hir_def -> hir_def | Aleksey Kladov | 2020-08-13 | 1 | -0/+326 |