Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Stop expanding UseTrees during ItemTree lowering | Jonas Schievink | 2021-05-26 | 1 | -29/+37 |
| | |||||
* | internal: move diagnostics to hir | Aleksey Kladov | 2021-05-25 | 1 | -3/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | internal: intern `AttrInput` | Jonas Schievink | 2021-05-24 | 1 | -1/+1 |
| | |||||
* | Work around non-unique AttrIds | Jonas Schievink | 2021-05-22 | 1 | -8/+22 |
| | |||||
* | Remove `StructDefKind` | Jonas Schievink | 2021-05-21 | 1 | -3/+3 |
| | |||||
* | Don't lower extern block in the ItemTree | Jonas Schievink | 2021-05-21 | 1 | -0/+1 |
| | |||||
* | Support `#[register_attr]` and `#[register_tool]` | Jonas Schievink | 2021-05-20 | 1 | -32/+75 |
| | |||||
* | Rename `ignore_attrs_on` to `skip_attrs` | Jonas Schievink | 2021-05-20 | 1 | -6/+6 |
| | |||||
* | Simplify | Jonas Schievink | 2021-05-20 | 1 | -4/+2 |
| | |||||
* | Refactor name resolution to resolve derive helpers | Jonas Schievink | 2021-05-20 | 1 | -85/+113 |
| | |||||
* | Rename `unexpanded_macros` to `unresolved_macros` | Jonas Schievink | 2021-05-20 | 1 | -15/+31 |
| | |||||
* | Track in-scope derive helpers during nameres | Jonas Schievink | 2021-05-19 | 1 | -8/+26 |
| | |||||
* | Fix unresolved attribute fallback again | Jonas Schievink | 2021-05-19 | 1 | -4/+4 |
| | |||||
*-. | Merge #8885 #8887 | bors[bot] | 2021-05-19 | 1 | -13/+14 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8885: internal: greatly simplify eager macro representation r=jonas-schievink a=jonas-schievink - Share structures with lazy macros, make both use `MacroCallLoc`. - Remove `intern_eager_expansion`, `EagerCallLoc`, `EagerMacroId`, and *many* matches on `MacroCallId`. - Make a lot of FIXMEs obsolete since the code no longer distinguishes between eager and lazy macros. - Add `EagerCallInfo`, which is `Some` for calls to eager macros and holds the argument or expansion result and the included file. 8887: fix: fix derive collection after unresolved attribute fallback r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/pull/8882#issuecomment-844379170 bors r+ Co-authored-by: Jonas Schievink <[email protected]> | ||||
| | * | Fix derive collection after unresolved attribute fallback | Jonas Schievink | 2021-05-19 | 1 | -1/+5 |
| |/ |/| | |||||
| * | Simplify eager macro representation | Jonas Schievink | 2021-05-19 | 1 | -12/+9 |
|/ | |||||
* | Merge #8882 | bors[bot] | 2021-05-19 | 1 | -27/+153 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 8882: internal: resolve attributes in name resolution (minimal version) r=jonas-schievink a=jonas-schievink Closes https://github.com/rust-analyzer/rust-analyzer/pull/7049 This should not have any observable effect, since we don't attempt to expand attribute macros yet, and I have implemented a fallback that treats items with unresolved attributes as if the attribute wasn't there. Derive helpers are not yet resolved. `#![register_{attr,tool}]` are not yet supported. Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | Rewrite `resolve_imports` to use an iterator | Jonas Schievink | 2021-05-19 | 1 | -19/+23 |
| | | | | | | | | This allows reusing the original vector's allocation | ||||
| * | Restructure nameres loop to be a bit clearer | Jonas Schievink | 2021-05-19 | 1 | -38/+41 |
| | | |||||
| * | internal: resolve attributes in name resolution | Jonas Schievink | 2021-05-19 | 1 | -2/+121 |
| | | |||||
* | | Merge #8871 | bors[bot] | 2021-05-18 | 1 | -23/+13 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8871: internal: Simplify `DefCollector::resolve_macros` r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | | Simplify `DefCollector::resolve_macros` | Jonas Schievink | 2021-05-18 | 1 | -23/+13 |
| |/ | |||||
* | | Added cov mark | ivan770 | 2021-05-17 | 1 | -0/+1 |
| | | |||||
* | | Fix #8834 | ivan770 | 2021-05-16 | 1 | -0/+4 |
|/ | |||||
* | Move `AttrId` back into `hir_def` | Jonas Schievink | 2021-05-10 | 1 | -2/+2 |
| | |||||
* | Precompute macro fragment kind | Jonas Schievink | 2021-05-09 | 1 | -6/+14 |
| | |||||
* | Include path in `unresolved-macro-call` diagnostic | Jonas Schievink | 2021-04-16 | 1 | -4/+5 |
| | |||||
* | Resolve prelude and crate root names in the root DefMap | Jonas Schievink | 2021-04-09 | 1 | -1/+2 |
| | |||||
* | Store `#[derive]` attribute ID along macro invoc | Jonas Schievink | 2021-04-09 | 1 | -7/+11 |
| | |||||
* | Use named fields in `MacroCallKind` | Jonas Schievink | 2021-04-08 | 1 | -1/+1 |
| | |||||
* | Track recursion limit when expanding custom derive | Jonas Schievink | 2021-04-08 | 1 | -1/+1 |
| | |||||
* | nameres: collect unnamed consts | Jonas Schievink | 2021-04-07 | 1 | -13/+21 |
| | |||||
* | Merge #8352 | bors[bot] | 2021-04-05 | 1 | -9/+3 |
|\ | | | | | | | | | | | | | | | 8352: Remove dead legacy macro expansion code r=lnicola a=brandondong I was investigating some unrelated macro issue when I noticed this dead code. This legacy macro expansion logic was changed in https://github.com/rust-analyzer/rust-analyzer/pull/8128. Co-authored-by: Brandon <[email protected]> | ||||
| * | Remove dead legacy macro expansion code | Brandon | 2021-04-05 | 1 | -9/+3 |
| | | |||||
* | | Use shrink_to_fit to reduce DefMap sizes | Jonas Schievink | 2021-04-03 | 1 | -1/+3 |
| | | |||||
* | | Intern `ModPath` in `Import` | Jonas Schievink | 2021-04-03 | 1 | -2/+6 |
| | | | | | | | | Minor savings only | ||||
* | | Support `#[rustc_builtin_macro = "builtin_name"]` | Jonas Schievink | 2021-04-03 | 1 | -1/+11 |
| | | |||||
* | | Only populate prelude for crate-level DefMaps | Jonas Schievink | 2021-04-02 | 1 | -14/+16 |
| | | |||||
* | | Intern Attr, MacroCall and Path components | Jonas Schievink | 2021-04-01 | 1 | -1/+1 |
| | | |||||
* | | Basic Support Macro 2.0 | Edwin Cheng | 2021-03-27 | 1 | -39/+63 |
|/ | |||||
* | Merge bang-macros and derives in name resolution | Jonas Schievink | 2021-03-23 | 1 | -86/+79 |
| | |||||
* | Expand legacy-scoped macro during collection | Jonas Schievink | 2021-03-21 | 1 | -6/+7 |
| | |||||
* | Fix handling of `#![cfg]` in outline module file | Jonas Schievink | 2021-03-19 | 1 | -21/+29 |
| | |||||
* | Rename derive-specific APIs | Jonas Schievink | 2021-03-19 | 1 | -4/+4 |
| | |||||
* | Record custom derive helpers in `DefMap` | Jonas Schievink | 2021-03-18 | 1 | -24/+9 |
| | | | | Also clean up proc macro attribute parsing a bit | ||||
* | Store an `AstId` for procedural macros | Jonas Schievink | 2021-03-18 | 1 | -6/+7 |
| | |||||
* | Make MacroDefId's `AstId` mandatory when possible | Jonas Schievink | 2021-03-18 | 1 | -4/+1 |
| | |||||
* | Rename `item_tree` query to `file_item_tree` | Jonas Schievink | 2021-03-18 | 1 | -4/+4 |
| | |||||
* | Make `ItemTreeId` its own type | Jonas Schievink | 2021-03-18 | 1 | -6/+6 |
| | |||||
* | Fix `use crate as <name>;` imports | Jonas Schievink | 2021-03-17 | 1 | -16/+18 |
| |