logo
pub enum Function {
    Native {
        function: BuiltInFunction,
        constructable: bool,
    },
    Closure {
        function: Box<dyn ClosureFunction>,
        constructable: bool,
        captures: Captures,
    },
    Ordinary {
        flags: FunctionFlags,
        body: RcStatementList,
        params: Box<[FormalParameter]>,
        environment: Environment,
    },
}
Expand description

Boa representation of a Function Object.

FunctionBody is specific to this interpreter, it will either be Rust code or JavaScript code (AST Node)

https://tc39.es/ecma262/#sec-ecmascript-function-objects

Variants

Native

Fields

function: BuiltInFunction
constructable: bool

Closure

Fields

function: Box<dyn ClosureFunction>
constructable: bool
captures: Captures

Ordinary

Fields

params: Box<[FormalParameter]>
environment: Environment

Implementations

Returns true if the function object is constructable.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Executes the destructor for this type. Read more
Marks all contained Gcs.
Increments the root-count of all contained Gcs.
Decrements the root-count of all contained Gcs.
Runs Finalize::finalize() on this object and all contained subobjects 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.

Convert the Rust type which implements NativeObject to a &dyn Any.
Convert the Rust type which implements NativeObject to a &mut dyn Any.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
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.