#[repr(C)]pub struct FunctionDeclaration<'gc> {Show 14 fields
pub metadata: NodeMetadata<'gc>,
pub id: Option<&'gc Node<'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 generator: 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 FunctionDeclaration AST node.
Fields§
§metadata: NodeMetadata<'gc>Source range, debug location, paren count, and node id.
id: Option<&'gc Node<'gc>>ESTree id property.
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.
generator: Cell<bool>ESTree generator 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> FunctionDeclaration<'gc>
impl<'gc> FunctionDeclaration<'gc>
Sourcepub fn new(
metadata: NodeMetadata<'gc>,
id: Option<&'gc Node<'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>>,
generator: bool,
async: bool,
) -> Self
pub fn new( metadata: NodeMetadata<'gc>, id: Option<&'gc Node<'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>>, generator: bool, async: bool, ) -> Self
Build FunctionDeclaration from its metadata and ESTree.def fields.
Decoration fields start at their defaults.