#[repr(C)]pub struct HookDeclaration<'gc> {
pub metadata: NodeMetadata<'gc>,
pub id: &'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 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 HookDeclaration AST node.
Fields§
§metadata: NodeMetadata<'gc>Source range, debug location, paren count, and node id.
id: &'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.
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> HookDeclaration<'gc>
impl<'gc> HookDeclaration<'gc>
Sourcepub fn new(
metadata: NodeMetadata<'gc>,
id: &'gc Node<'gc>,
params: NodeList<'gc>,
body: &'gc Node<'gc>,
type_parameters: Option<&'gc Node<'gc>>,
return_type: Option<&'gc Node<'gc>>,
async: bool,
) -> Self
pub fn new( metadata: NodeMetadata<'gc>, id: &'gc Node<'gc>, params: NodeList<'gc>, body: &'gc Node<'gc>, type_parameters: Option<&'gc Node<'gc>>, return_type: Option<&'gc Node<'gc>>, async: bool, ) -> Self
Build HookDeclaration from its metadata and ESTree.def fields.
Decoration fields start at their defaults.
Trait Implementations§
Auto Trait Implementations§
impl<'gc> !Freeze for HookDeclaration<'gc>
impl<'gc> !RefUnwindSafe for HookDeclaration<'gc>
impl<'gc> !Send for HookDeclaration<'gc>
impl<'gc> !Sync for HookDeclaration<'gc>
impl<'gc> !UnwindSafe for HookDeclaration<'gc>
impl<'gc> Unpin for HookDeclaration<'gc>
impl<'gc> UnsafeUnpin for HookDeclaration<'gc>
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