#[repr(C)]pub struct Identifier<'gc> {
pub metadata: NodeMetadata<'gc>,
pub name: Cell<NodeLabel>,
pub type_annotation: Option<&'gc Node<'gc>>,
pub optional: Cell<bool>,
pub unresolvable: Cell<bool>,
pub decl_state: Cell<u8>,
pub decl: Cell<Option<SemaId>>,
}Expand description
The Identifier AST node.
Fields§
§metadata: NodeMetadata<'gc>Source range, debug location, paren count, and node id.
name: Cell<NodeLabel>ESTree name property.
type_annotation: Option<&'gc Node<'gc>>ESTree typeAnnotation property.
optional: Cell<bool>ESTree optional property.
unresolvable: Cell<bool>Sema: unresolvable because of an enclosing eval or with.
decl_state: Cell<u8>Sema: how to read decl — the BitHave* bits of ESTree.h’s
IdentifierDecoration.
decl: Cell<Option<SemaId>>Sema: the declaration this identifier resolves to; None until a
resolution is recorded.
Implementations§
Source§impl<'gc> Identifier<'gc>
impl<'gc> Identifier<'gc>
Trait Implementations§
Auto Trait Implementations§
impl<'gc> !Freeze for Identifier<'gc>
impl<'gc> !RefUnwindSafe for Identifier<'gc>
impl<'gc> !Send for Identifier<'gc>
impl<'gc> !Sync for Identifier<'gc>
impl<'gc> !UnwindSafe for Identifier<'gc>
impl<'gc> Unpin for Identifier<'gc>
impl<'gc> UnsafeUnpin for Identifier<'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