pub struct CppReconciledDefinitionIndex {
pub rekeyed: Vec<CodeUnit>,
pub provisional_of: HashMap<CodeUnit, CodeUnit>,
}Expand description
The #1134 resolution-time identity-reconciliation overlay for one queried
canonical fq_name.
For each out-of-line member definition whose per-file provisional identity
the include-visible class table re-keys to this name, it holds a re-keyed
CodeUnit – a synthetic unit carrying the canonical identity but the
definition’s real .cpp source – so a canonical query resolves the
definition alongside its header declaration across every resolution surface
(definitions, source blocks, occurrence roles, canonical selectors). The
re-keyed unit is not in the store, so provisional_of maps it back to the
stored provisional unit for range and signature-metadata lookups.
Fields§
§rekeyed: Vec<CodeUnit>Re-keyed definitions belonging under the queried canonical fq_name.
provisional_of: HashMap<CodeUnit, CodeUnit>Re-keyed unit -> the stored provisional unit its indexed data lives under.
Trait Implementations§
Source§impl Default for CppReconciledDefinitionIndex
impl Default for CppReconciledDefinitionIndex
Source§fn default() -> CppReconciledDefinitionIndex
fn default() -> CppReconciledDefinitionIndex
Auto Trait Implementations§
impl Freeze for CppReconciledDefinitionIndex
impl RefUnwindSafe for CppReconciledDefinitionIndex
impl Send for CppReconciledDefinitionIndex
impl Sync for CppReconciledDefinitionIndex
impl Unpin for CppReconciledDefinitionIndex
impl UnsafeUnpin for CppReconciledDefinitionIndex
impl UnwindSafe for CppReconciledDefinitionIndex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more