pub struct ResolvedCallStep {
pub call_expr_span: (usize, usize),
pub function_span: (usize, usize),
pub target: ResolvedTarget,
pub arguments: Vec<String>,
pub result_type: Option<String>,
pub object_type: Option<String>,
pub object_instance_text: Option<String>,
pub originating_span_start: usize,
pub base_object_identifier_for_builtin: Option<String>,
}Expand description
Represents a single step in a potentially chained call sequence.
Fields§
§call_expr_span: (usize, usize)The byte offsets representing the span of this specific call expression (e.g., .method(...)).
function_span: (usize, usize)The byte offsets representing the span of the function/member being called (e.g., method in obj.method()).
target: ResolvedTargetThe resolved target for this call step.
arguments: Vec<String>Text representation of the arguments passed in this call step.
result_type: Option<String>The Solidity type name resolved for the result of this call step. This becomes the object type for the next step in the chain. None if the call returns void or resolution failed.
object_type: Option<String>The Solidity type name resolved for the object being called upon in this step.
None for simple function calls or new expressions.
object_instance_text: Option<String>The source text of the object instance being called upon.
e.g., “myVar” in “myVar.method()”, or “getStruct().field” in “getStruct().field.method()”.
None for simple function calls or new expressions.
originating_span_start: usizeThe start byte of the original expression that initiated this chain analysis. Used for sorting steps correctly.
base_object_identifier_for_builtin: Option<String>If the target is BuiltIn (like push/pop), this holds the name of the base variable identifier being acted upon (e.g., “allPairs” in “allPairs.push()”).
Trait Implementations§
Source§impl Clone for ResolvedCallStep
impl Clone for ResolvedCallStep
Source§fn clone(&self) -> ResolvedCallStep
fn clone(&self) -> ResolvedCallStep
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolvedCallStep
impl Debug for ResolvedCallStep
Source§impl Ord for ResolvedCallStep
impl Ord for ResolvedCallStep
Source§fn cmp(&self, other: &ResolvedCallStep) -> Ordering
fn cmp(&self, other: &ResolvedCallStep) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ResolvedCallStep
impl PartialEq for ResolvedCallStep
Source§impl PartialOrd for ResolvedCallStep
impl PartialOrd for ResolvedCallStep
impl Eq for ResolvedCallStep
impl StructuralPartialEq for ResolvedCallStep
Auto Trait Implementations§
impl Freeze for ResolvedCallStep
impl RefUnwindSafe for ResolvedCallStep
impl Send for ResolvedCallStep
impl Sync for ResolvedCallStep
impl Unpin for ResolvedCallStep
impl UnwindSafe for ResolvedCallStep
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
key and return true if they are equal.