Jonas Schievink
45f4a1e559
Remove StructDefKind
2021-05-21 21:08:06 +02:00
Jonas Schievink
d00bc9c2fc
Don't lower extern block in the ItemTree
2021-05-21 18:27:25 +02:00
Jonas Schievink
6f19484c93
Support #[register_attr]
and #[register_tool]
2021-05-20 20:40:02 +02:00
Jonas Schievink
df824c2f81
Rename ignore_attrs_on
to skip_attrs
2021-05-20 20:18:53 +02:00
Jonas Schievink
9ac5a90522
Simplify
2021-05-20 20:08:39 +02:00
Jonas Schievink
036e5b2806
Refactor name resolution to resolve derive helpers
2021-05-20 19:56:04 +02:00
Jonas Schievink
f088606d89
Rename unexpanded_macros
to unresolved_macros
2021-05-20 13:12:29 +02:00
Jonas Schievink
d4eb6708d9
Track in-scope derive helpers during nameres
2021-05-19 23:35:09 +02:00
Jonas Schievink
4a84c3fb21
Fix unresolved attribute fallback again
2021-05-19 22:08:34 +02:00
bors[bot]
49922cb2c3
Merge #8885 #8887
...
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 <jonasschievink@gmail.com>
2021-05-19 19:07:05 +00:00
Jonas Schievink
274d813cff
Fix derive collection after unresolved attribute fallback
2021-05-19 21:05:58 +02:00
Jonas Schievink
ea8555b155
Simplify eager macro representation
2021-05-19 20:19:08 +02:00
bors[bot]
1cf0794f5e
Merge #8882
...
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 <jonasschievink@gmail.com>
2021-05-19 17:06:49 +00:00
Jonas Schievink
383635a13e
Rewrite resolve_imports
to use an iterator
...
This allows reusing the original vector's allocation
2021-05-19 19:05:03 +02:00
Jonas Schievink
aebb60de5c
Restructure nameres loop to be a bit clearer
2021-05-19 18:56:00 +02:00
Jonas Schievink
3e186d4778
internal: resolve attributes in name resolution
2021-05-19 15:17:57 +02:00
bors[bot]
16b03d21dc
Merge #8871
...
8871: internal: Simplify `DefCollector::resolve_macros` r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-18 19:02:32 +00:00
Jonas Schievink
4884d9ec1d
Simplify DefCollector::resolve_macros
2021-05-18 17:51:02 +02:00
ivan770
999217374f
Added cov mark
2021-05-17 11:37:24 +02:00
ivan770
a79b54ef73
Fix #8834
2021-05-16 20:05:52 +02:00
Jonas Schievink
a87bec5148
Move AttrId
back into hir_def
2021-05-10 16:35:06 +02:00
Jonas Schievink
9cf8d325a2
Precompute macro fragment kind
2021-05-09 01:36:06 +02:00
Jonas Schievink
ff858376aa
Include path in unresolved-macro-call
diagnostic
2021-04-16 15:48:03 +02:00
Jonas Schievink
75614b126b
Resolve prelude and crate root names in the root DefMap
2021-04-09 15:29:42 +02:00
Jonas Schievink
c0dd36fd42
Store #[derive]
attribute ID along macro invoc
2021-04-09 13:38:01 +02:00
Jonas Schievink
86b7861612
Use named fields in MacroCallKind
2021-04-08 20:43:07 +02:00
Jonas Schievink
014774764a
Track recursion limit when expanding custom derive
2021-04-08 18:49:30 +02:00
Jonas Schievink
f04f38d3d7
nameres: collect unnamed consts
2021-04-07 03:12:40 +02:00
bors[bot]
72781085bb
Merge #8352
...
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 <brandondong604@hotmail.com>
2021-04-05 19:00:27 +00:00
Brandon
4dbec2d545
Remove dead legacy macro expansion code
2021-04-05 11:47:06 -07:00
Jonas Schievink
d1bce6070d
Use shrink_to_fit to reduce DefMap sizes
2021-04-03 23:45:27 +02:00
Jonas Schievink
f7e6b186e1
Intern ModPath
in Import
...
Minor savings only
2021-04-03 20:57:25 +02:00
Jonas Schievink
5742cdf3f1
Support #[rustc_builtin_macro = "builtin_name"]
2021-04-03 03:13:04 +02:00
Jonas Schievink
7ceaba21df
Only populate prelude for crate-level DefMaps
2021-04-02 19:00:26 +02:00
Jonas Schievink
39d992ef55
Intern Attr, MacroCall and Path components
2021-04-01 20:35:21 +02:00
Edwin Cheng
a193666361
Basic Support Macro 2.0
2021-03-27 13:44:54 +08:00
Jonas Schievink
1d5d44f7f7
Merge bang-macros and derives in name resolution
2021-03-23 17:23:10 +01:00
Jonas Schievink
5322cd830e
Expand legacy-scoped macro during collection
2021-03-21 01:45:24 +01:00
Jonas Schievink
cf494a515f
Fix handling of #![cfg]
in outline module file
2021-03-19 18:24:04 +01:00
Jonas Schievink
54c78c96db
Rename derive-specific APIs
2021-03-19 14:23:13 +01:00
Jonas Schievink
268f45a099
Record custom derive helpers in DefMap
...
Also clean up proc macro attribute parsing a bit
2021-03-18 19:56:37 +01:00
Jonas Schievink
c05a1a6e37
Store an AstId
for procedural macros
2021-03-18 16:11:18 +01:00
Jonas Schievink
b84efbaacf
Make MacroDefId's AstId
mandatory when possible
2021-03-18 15:37:14 +01:00
Jonas Schievink
5fbb97a0f0
Rename item_tree
query to file_item_tree
2021-03-18 01:53:37 +01:00
Jonas Schievink
759f8c83e5
Make ItemTreeId
its own type
2021-03-18 01:53:22 +01:00
Jonas Schievink
a54564378b
Fix use crate as <name>;
imports
2021-03-17 22:24:51 +01:00
Jonas Schievink
c64adfe706
Use first early expansion error during nameres
2021-03-17 21:41:32 +01:00
brandondong
ebb10da563
Update crates/hir_def/src/nameres/collector.rs
...
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-03-15 11:16:58 -07:00
Brandon
2df637f419
Fix incorrect diagnositics for failing built in eager macros
2021-03-13 21:28:10 -08:00
Jonas Schievink
b885e6bdee
Delete ContainerId
2021-03-09 19:09:02 +01:00