pub struct MethodCallFact {
pub method_name: Box<str>,
pub text: Box<str>,
pub span: IrSpan,
pub receiver_ident: Option<Box<str>>,
pub receiver_span: IrSpan,
pub loop_depth: usize,
pub containing_fn: Option<usize>,
pub receiver_type: Option<Arc<str>>,
pub is_copy_receiver: bool,
}Expand description
A method call expression with receiver and loop context.
Fields§
§method_name: Box<str>Method identifier (e.g., clone, unwrap).
text: Box<str>Full rendered expression for pattern matching.
span: IrSpanLocation of the method call.
receiver_ident: Option<Box<str>>Simple identifier receiver, when not a complex expression.
receiver_span: IrSpanLocation of the receiver for diagnostic pointing.
loop_depth: usizeEnclosing loop count for clone-in-loop analysis.
containing_fn: Option<usize>Index into FileIr::functions; links to enclosing function.
receiver_type: Option<Arc<str>>Filled by semantic enrichment; canonical receiver type.
Arc<str> so multiple calls on the same binding share one allocation.
is_copy_receiver: boolFilled by semantic enrichment; suppresses clone-in-loop for Copy types.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MethodCallFact
impl RefUnwindSafe for MethodCallFact
impl Send for MethodCallFact
impl Sync for MethodCallFact
impl Unpin for MethodCallFact
impl UnsafeUnpin for MethodCallFact
impl UnwindSafe for MethodCallFact
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
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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