pub struct Function {
pub name: Option<String>,
pub arguments: Vec<FunctionArgument>,
pub result: Option<FunctionResult>,
pub local_variables: Arena<LocalVariable>,
pub expressions: Arena<Expression>,
pub named_expressions: FastIndexMap<Handle<Expression>, String>,
pub body: Block,
}
Expand description
A function defined in the module.
Fields§
§name: Option<String>
Name of the function, if any.
arguments: Vec<FunctionArgument>
Information about function argument.
result: Option<FunctionResult>
The result of this function, if any.
local_variables: Arena<LocalVariable>
Local variables defined and used in the function.
expressions: Arena<Expression>
Expressions used inside this function.
An Expression
must occur before all other Expression
s that use its
value.
named_expressions: FastIndexMap<Handle<Expression>, String>
Map of expressions that have associated variable names
body: Block
Block of instructions comprising the body of the function.
Implementations§
Source§impl Function
impl Function
Sourcepub fn originating_global(
&self,
pointer: Handle<Expression>,
) -> Option<Handle<GlobalVariable>>
pub fn originating_global( &self, pointer: Handle<Expression>, ) -> Option<Handle<GlobalVariable>>
Return the global variable being accessed by the expression pointer
.
Assuming that pointer
is a series of Access
and AccessIndex
expressions that ultimately access some part of a GlobalVariable
,
return a handle for that global.
If the expression does not ultimately access a global variable, return
None
.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Function
impl RefUnwindSafe for Function
impl Send for Function
impl Sync for Function
impl Unpin for Function
impl UnwindSafe for Function
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)