Public Member Functions | Public Attributes

JSParseNode Struct Reference

#include <jsparse.h>

Inheritance diagram for JSParseNode:
Collaboration diagram for JSParseNode:

List of all members.

Public Member Functions

JSParseNodeexpr () const
JSDefinitionlexdef () const
JSParseNodemaybeExpr ()
JSDefinitionmaybeLexDef ()
uintN frameLevel () const
uintN frameSlot () const
bool test (uintN flag) const
bool isLet () const
bool isConst () const
bool isInitialized () const
bool isTopLevel () const
bool isBlockChild () const
bool isPlaceholder () const
bool isAssigned () const
bool isFunArg () const
void setFunArg ()
void become (JSParseNode *pn2)
void clear ()
bool isLiteral () const
bool isDirectivePrologueMember () const
bool isDirective () const
JSParseNodelast () const
void makeEmpty ()
void initList (JSParseNode *pn)
void append (JSParseNode *pn)

Public Attributes

uint32 pn_type:16
uint32 pn_op:8
uint32 pn_arity:5
uint32 pn_parens:1
uint32 pn_used:1
uint32 pn_defn:1
JSTokenPos pn_pos
int32 pn_offset
JSParseNodepn_next
JSParseNodepn_link
union {
   struct {
      JSParseNode *   head
      JSParseNode **   tail
      uint32   count
      uint32   xflags:12
      uint32   blockid:20
   }   list
   struct {
      JSParseNode *   kid1
      JSParseNode *   kid2
      JSParseNode *   kid3
   }   ternary
   struct {
      JSParseNode *   left
      JSParseNode *   right
      jsval   val
      uintN   iflags
   }   binary
   struct {
      JSParseNode *   kid
      jsint   num
      JSBool   hidden
   }   unary
   struct {
      union {
         JSAtom *   atom
         JSFunctionBox *   funbox
         JSObjectBox *   objbox
      } 
      union {
         JSParseNode *   expr
         JSDefinition *   lexdef
      } 
      uint32   cookie
      uint32   dflags:12
      uint32   blockid:20
   }   name
   struct {
      JSAtomSet   names
      JSParseNode *   tree
   }   nameset
   struct {
      JSAtom *   atom
      JSAtom *   atom2
   }   apair
   jsdouble   dval
pn_u

Member Function Documentation

void JSParseNode::append ( JSParseNode pn  )  [inline]
void JSParseNode::become ( JSParseNode pn2  ) 
void JSParseNode::clear (  ) 
JSParseNode* JSParseNode::expr (  )  const [inline]
uintN JSParseNode::frameLevel (  )  const [inline]
uintN JSParseNode::frameSlot (  )  const [inline]
void JSParseNode::initList ( JSParseNode pn  )  [inline]
bool JSParseNode::isAssigned (  )  const [inline]

Reimplemented in JSDefinition.

bool JSParseNode::isBlockChild (  )  const [inline]
bool JSParseNode::isConst (  )  const [inline]
bool JSParseNode::isDirective (  )  const [inline]
bool JSParseNode::isDirectivePrologueMember (  )  const [inline]
bool JSParseNode::isFunArg (  )  const [inline]

Reimplemented in JSDefinition.

bool JSParseNode::isInitialized (  )  const [inline]
bool JSParseNode::isLet (  )  const [inline]
bool JSParseNode::isLiteral (  )  const [inline]
bool JSParseNode::isPlaceholder (  )  const [inline]
bool JSParseNode::isTopLevel (  )  const [inline]
JSParseNode* JSParseNode::last (  )  const [inline]
JSDefinition* JSParseNode::lexdef (  )  const [inline]
void JSParseNode::makeEmpty (  )  [inline]
JSParseNode* JSParseNode::maybeExpr (  )  [inline]
JSDefinition* JSParseNode::maybeLexDef (  )  [inline]
void JSParseNode::setFunArg (  )  [inline]
bool JSParseNode::test ( uintN  flag  )  const [inline]

Reimplemented in JSDefinition.


Member Data Documentation

struct { ... } JSParseNode::apair
struct { ... } JSParseNode::binary
struct { ... } JSParseNode::list
struct { ... } JSParseNode::name
struct { ... } JSParseNode::nameset
union { ... } JSParseNode::pn_u
struct { ... } JSParseNode::ternary
struct { ... } JSParseNode::unary

The documentation for this struct was generated from the following file: