#[repr(C)]pub struct ArrowFunctionExpression<'gc> {Show 13 fields
pub metadata: NodeMetadata<'gc>,
pub params: NodeList<'gc>,
pub body: &'gc Node<'gc>,
pub type_parameters: Option<&'gc Node<'gc>>,
pub return_type: Option<&'gc Node<'gc>>,
pub predicate: Option<&'gc Node<'gc>>,
pub expression: Cell<bool>,
pub async: Cell<bool>,
pub scope: Cell<Option<SemaId>>,
pub sem_info: Cell<Option<SemaId>>,
pub strictness: Cell<Strictness>,
pub is_method_definition: Cell<bool>,
pub decorations: Cell<NodeList<'gc>>,
}Expand description
The ArrowFunctionExpression AST node.
Fields§
§metadata: NodeMetadata<'gc>Source range, debug location, paren count, and node id.
params: NodeList<'gc>ESTree params property.
body: &'gc Node<'gc>ESTree body property.
type_parameters: Option<&'gc Node<'gc>>ESTree typeParameters property.
return_type: Option<&'gc Node<'gc>>ESTree returnType property.
predicate: Option<&'gc Node<'gc>>ESTree predicate property.
expression: Cell<bool>ESTree expression property.
async: Cell<bool>ESTree async property.
scope: Cell<Option<SemaId>>Sema: the lexical scope created by this node, if any.
sem_info: Cell<Option<SemaId>>Sema: FunctionInfo for this function.
strictness: Cell<Strictness>Sema: strict-mode state of this function.
is_method_definition: Cell<bool>Whether this function is a method definition (getters and setters
included) rather than a function. Used for lazy reparsing.
decorations: Cell<NodeList<'gc>>Decorations attached to this function by Hermes.decorate(...)
calls in typed mode; each entry wraps a decoration expression.
Implementations§
Source§impl<'gc> ArrowFunctionExpression<'gc>
impl<'gc> ArrowFunctionExpression<'gc>
Sourcepub fn new(
metadata: NodeMetadata<'gc>,
params: NodeList<'gc>,
body: &'gc Node<'gc>,
type_parameters: Option<&'gc Node<'gc>>,
return_type: Option<&'gc Node<'gc>>,
predicate: Option<&'gc Node<'gc>>,
expression: bool,
async: bool,
) -> Self
pub fn new( metadata: NodeMetadata<'gc>, params: NodeList<'gc>, body: &'gc Node<'gc>, type_parameters: Option<&'gc Node<'gc>>, return_type: Option<&'gc Node<'gc>>, predicate: Option<&'gc Node<'gc>>, expression: bool, async: bool, ) -> Self
Build ArrowFunctionExpression from its metadata and ESTree.def
fields.
Decoration fields start at their defaults.