aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/nameres/collector.rs
Commit message (Collapse)AuthorAgeFilesLines
* Merge #8352bors[bot]2021-04-051-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 codeBrandon2021-04-051-9/+3
| |
* | Use shrink_to_fit to reduce DefMap sizesJonas Schievink2021-04-031-1/+3
| |
* | Intern `ModPath` in `Import`Jonas Schievink2021-04-031-2/+6
| | | | | | | | Minor savings only
* | Support `#[rustc_builtin_macro = "builtin_name"]`Jonas Schievink2021-04-031-1/+11
| |
* | Only populate prelude for crate-level DefMapsJonas Schievink2021-04-021-14/+16
| |
* | Intern Attr, MacroCall and Path componentsJonas Schievink2021-04-011-1/+1
| |
* | Basic Support Macro 2.0Edwin Cheng2021-03-271-39/+63
|/
* Merge bang-macros and derives in name resolutionJonas Schievink2021-03-231-86/+79
|
* Expand legacy-scoped macro during collectionJonas Schievink2021-03-211-6/+7
|
* Fix handling of `#![cfg]` in outline module fileJonas Schievink2021-03-191-21/+29
|
* Rename derive-specific APIsJonas Schievink2021-03-191-4/+4
|
* Record custom derive helpers in `DefMap`Jonas Schievink2021-03-181-24/+9
| | | | Also clean up proc macro attribute parsing a bit
* Store an `AstId` for procedural macrosJonas Schievink2021-03-181-6/+7
|
* Make MacroDefId's `AstId` mandatory when possibleJonas Schievink2021-03-181-4/+1
|
* Rename `item_tree` query to `file_item_tree`Jonas Schievink2021-03-181-4/+4
|
* Make `ItemTreeId` its own typeJonas Schievink2021-03-181-6/+6
|
* Fix `use crate as <name>;` importsJonas Schievink2021-03-171-16/+18
|
* Use first early expansion error during nameresJonas Schievink2021-03-171-1/+3
|
* Update crates/hir_def/src/nameres/collector.rsbrandondong2021-03-151-1/+1
| | | Co-authored-by: Jonas Schievink <[email protected]>
* Fix incorrect diagnositics for failing built in eager macrosBrandon2021-03-141-10/+23
|
* Delete `ContainerId`Jonas Schievink2021-03-091-12/+11
|
* Stop using `ContainerId` in `AssocContainerId`Jonas Schievink2021-03-091-3/+3
|
* Use upstream cov-markLaurențiu Nicola2021-03-081-9/+8
|
* For unresolved macros, hightlight only the last segmentAleksey Kladov2021-02-281-33/+48
|
* is_visible_from_def_map: handle block expressionsJonas Schievink2021-02-231-2/+2
|
* Make `ModPath`'s representation privateJonas Schievink2021-02-041-2/+2
|
* Don't keep the parent DefMap alive via ArcJonas Schievink2021-02-041-4/+5
| | | | | This seems like it could easily leak a lot of memory since we don't currently run GC
* Use the right `DefMap` when looking up modulesJonas Schievink2021-02-021-1/+7
|
* Honor #![macro_use] in mod source filesLukas Wirth2021-01-311-8/+9
|
* Fix incorrect `FileId` and remove broken shortcutJonas Schievink2021-01-281-7/+6
| | | | | Apparently we were using the crate's root file instead of the file containing the block.
* Fix legacy macro resolution in block expressionsJonas Schievink2021-01-271-1/+4
|
* Create all `ModuleId`s through a `DefMap` methodJonas Schievink2021-01-251-17/+10
| | | | | `ModuleId` needs to be able to represent blocks, and only the associated `DefMap` will know how to construct that `ModuleId`
* Obtain `ModuleId`'s `DefMap` through a methodJonas Schievink2021-01-221-1/+1
|
* Add name resolution query for block expressionsJonas Schievink2021-01-211-17/+41
|
* Rename `CrateDefMap` to `DefMap`Jonas Schievink2021-01-181-7/+7
|
* prepare to publish el libro de arenaAleksey Kladov2021-01-141-1/+1
|
* Fixed typos in code commentsVincent Esche2021-01-091-4/+4
|
* Emit diagnostics for unresolved item-level macrosJonas Schievink2021-01-051-1/+32
|
* More accurate `#[derive]` parsingJonas Schievink2020-12-191-14/+14
| | | | This now allows full paths to the derive macro
* Don't look at attributes when lowering to ItemTreeJonas Schievink2020-12-181-5/+26
| | | | Resolves 2 `cfg_attr` FIXMEs
* Refactor attributes API to allow handling cfg_attrJonas Schievink2020-12-181-19/+29
|
* Avoid querying attributes in item tree loweringJonas Schievink2020-12-161-8/+26
| | | | | | | | ItemTree is per-file, so there is no unique crate associated with it. This means that it cannot know the active CfgOptions and thus couldn't handle `cfg_attr`. Prepare it for `cfg_attr`s by avoiding accessing attributes.
* Make macro def krate mandatoryJonas Schievink2020-12-151-12/+6
| | | | Refactors builtin derive support to go through proper name resolution
* Basic support for decl macros 2.0Jonas Schievink2020-12-151-1/+28
|
* Move to upstream `macro_rules!` modelJonas Schievink2020-12-151-37/+28
|
* Publish diagnostics for macro expansion errorsJonas Schievink2020-11-271-2/+25
|
* Don't store `SyntaxNodePtr` in `CrateDefMap`Jonas Schievink2020-11-261-4/+2
| | | | It is volatile across reparses and makes incrementality worse.
* Don't stack overflow on circular modulesAleksey Kladov2020-11-041-11/+14
| | | | closes #6453
* Deny unreachable-pubAleksey Kladov2020-11-021-7/+7
| | | | | | | | It's very useful when `pub` is equivalent to "this is crate's public API", let's enforce this! Ideally, we should enforce it for local `cargo test`, and only during CI, but that needs https://github.com/rust-lang/cargo/issues/5034.