pub struct CppVisitor<'a> {
pub file: &'a ProjectFile,
pub source: &'a str,
pub parsed: &'a mut ParsedFile,
pub recovered_class_sibling_scopes: HashMap<usize, ScopeInfo>,
pub consumed_fragment_regions: Vec<(usize, usize)>,
}Fields§
§file: &'a ProjectFile§source: &'a str§parsed: &'a mut ParsedFile§recovered_class_sibling_scopes: HashMap<usize, ScopeInfo>§consumed_fragment_regions: Vec<(usize, usize)>Byte regions whose contents were re-owned by a fragmented export-class
recovery (#938): the scattered members between the fragmented
declaration and its displaced closing brace are indexed as members of
the recovered class by the region reparse, so the ordinary sibling walk
must not ALSO index them as top-level declarations (that double-indexing
made a scattered nested class ambiguous between Inner and
Widget$Inner). Regions are rare (one per fragmented recovery), so a
linear scan at visit time is fine.
Implementations§
Auto Trait Implementations§
impl<'a> !UnwindSafe for CppVisitor<'a>
impl<'a> Freeze for CppVisitor<'a>
impl<'a> RefUnwindSafe for CppVisitor<'a>
impl<'a> Send for CppVisitor<'a>
impl<'a> Sync for CppVisitor<'a>
impl<'a> Unpin for CppVisitor<'a>
impl<'a> UnsafeUnpin for CppVisitor<'a>
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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