pub struct CppDisplacedPreprocessorBoundary {
pub end_byte: usize,
pub end_line: usize,
}Expand description
The effective end of a conditional whose real terminator tree-sitter displaced into declaration recovery.
Most damaged conditionals retain a concrete #endif token below an
ERROR; cpp_displaced_preprocessor_terminator supplies that exact
boundary. A preprocessor family that selects the middle of a declaration
can lose the directive tokens entirely. In that shape tree-sitter leaves
the declaration’s typedef token as the sole child of the immediately
preceding top-level ERROR, and puts a multiline ERROR plus the trailing
declarator name inside the conditional’s first declaration. The declaration
end is then the smallest structured boundary that contains the whole split
declaration.
Fields§
§end_byte: usize§end_line: usizeTrait Implementations§
Source§impl Clone for CppDisplacedPreprocessorBoundary
impl Clone for CppDisplacedPreprocessorBoundary
Source§fn clone(&self) -> CppDisplacedPreprocessorBoundary
fn clone(&self) -> CppDisplacedPreprocessorBoundary
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CppDisplacedPreprocessorBoundary
impl Eq for CppDisplacedPreprocessorBoundary
impl StructuralPartialEq for CppDisplacedPreprocessorBoundary
Auto Trait Implementations§
impl Freeze for CppDisplacedPreprocessorBoundary
impl RefUnwindSafe for CppDisplacedPreprocessorBoundary
impl Send for CppDisplacedPreprocessorBoundary
impl Sync for CppDisplacedPreprocessorBoundary
impl Unpin for CppDisplacedPreprocessorBoundary
impl UnsafeUnpin for CppDisplacedPreprocessorBoundary
impl UnwindSafe for CppDisplacedPreprocessorBoundary
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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