mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Split out syntax-bridge into a separate crate
This commit is contained in:
parent
670a5ab4a9
commit
d2dd4f6d5f
30 changed files with 268 additions and 140 deletions
|
@ -79,6 +79,10 @@ impl SyntaxContextId {
|
|||
#[derive(Copy, Clone, Hash, PartialEq, Eq)]
|
||||
pub struct SyntaxContextData {
|
||||
/// Invariant: Only [`SyntaxContextId::ROOT`] has a [`None`] outer expansion.
|
||||
// FIXME: The None case needs to encode the context crate id. We can encode that as the MSB of
|
||||
// MacroCallId is reserved anyways so we can do bit tagging here just fine.
|
||||
// The bigger issue is that that will cause interning to now create completely separate chains
|
||||
// per crate. Though that is likely not a problem as `MacroCallId`s are already crate calling dependent.
|
||||
pub outer_expn: Option<MacroCallId>,
|
||||
pub outer_transparency: Transparency,
|
||||
pub parent: SyntaxContextId,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue