pub struct Call {
pub function: FunctionId,
pub inputs: Vec<VarUsage>,
pub coupon_input: Option<VarUsage>,
pub extra_ret_tys: Vec<TypeId>,
pub ret_tys: Vec<TypeId>,
pub location: LocationId,
}
Expand description
Generator for StatementCall. Note that builder.finalize_statement() must be called manually after ref bindings.
Fields§
§function: FunctionId
Called function.
inputs: Vec<VarUsage>
Inputs to function.
coupon_input: Option<VarUsage>
The __coupon__
input to the function, if exists.
extra_ret_tys: Vec<TypeId>
Types for ref
parameters of the function. An output variable will be introduced for each.
ret_tys: Vec<TypeId>
Types for the returns of the function. An output variable will be introduced for each.
location: LocationId
Location associated with this statement.
Implementations§
source§impl Call
impl Call
sourcepub fn add(
self,
ctx: &mut LoweringContext<'_, '_>,
builder: &mut StatementsBuilder,
) -> CallResult
pub fn add( self, ctx: &mut LoweringContext<'_, '_>, builder: &mut StatementsBuilder, ) -> CallResult
Adds a call statement to the builder.
Auto Trait Implementations§
impl Freeze for Call
impl RefUnwindSafe for Call
impl Send for Call
impl Sync for Call
impl Unpin for Call
impl UnwindSafe for Call
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> 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