aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/nameres/collector.rs
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Handle #![cfg] in crate rootJonas Schievink2020-10-261-2/+5
|
* Emit better #[cfg] diagnosticsJonas Schievink2020-10-221-12/+17
|
* Add a (hint) diagnostic for unconfigured itemsJonas Schievink2020-10-201-0/+13
|
* Account for proc macro helpers when parsing attrJonas Schievink2020-10-051-1/+2
|
* Add more comments about proc macro resolutionJonas Schievink2020-09-281-0/+20
|
* Reduce visibility of non-proc-macrosJonas Schievink2020-09-181-0/+19
| | | | | proc-macro crates only export proc-macros, but currently other items are also considered public (and show up in completion)
* Remove obsolete proc macro collection codeJonas Schievink2020-09-181-19/+0
| | | | The new attribute-based resolution takes care of this
* Use hir_def to resolve proc macrosJonas Schievink2020-09-181-2/+48
|
* Rename `CustomDerive` to `ProcMacro`Jonas Schievink2020-09-181-1/+1
| | | | | It handles fn-like macros too, and will handle attribute macros in the future
* Invert condition to unindent codeJonas Schievink2020-09-181-158/+157
|
* Give `ExternCrate` a `Name`, not a `ModPath`Jonas Schievink2020-09-171-10/+7
|
* Don't diagnose imports whose base crate is missingJonas Schievink2020-09-171-17/+40
|
* Track import sources and emit diagnosticsJonas Schievink2020-09-161-12/+49
|
* Leave extern crate items unresolved if they areJonas Schievink2020-09-161-1/+5
|
* Add diagnostic types for unresolved crates/importsJonas Schievink2020-09-161-7/+5
|
* Rename ra_hir_def -> hir_defAleksey Kladov2020-08-131-0/+1279