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: FastHashMap<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 Expressions that use its value.

named_expressions: FastHashMap<Handle<Expression>, String>

Map of expressions that have associated variable names

body: Block

Block of instructions comprising the body of the function.

Implementations

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

Generate an arbitrary value of Self from the given unstructured data. Read more

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.