Public Types | Public Member Functions | Static Public Member Functions | Public Attributes

JSScope Struct Reference

#include <jsscope.h>

Inheritance diagram for JSScope:
Collaboration diagram for JSScope:

List of all members.

Public Types

enum  {
  DICTIONARY_MODE = 0x0001, SEALED = 0x0002, BRANDED = 0x0004, INDEXED_PROPERTIES = 0x0008,
  OWN_SHAPE = 0x0010, METHOD_BARRIER = 0x0020, SHAPE_REGEN = 0x0040

Public Member Functions

JSScopePropertylastProperty () const
 JSScope (const JSObjectOps *ops, JSObject *obj=NULL)
void hold ()
bool drop (JSContext *cx, JSObject *obj)
JSEmptyScopegetEmptyScope (JSContext *cx, JSClass *clasp)
bool canProvideEmptyScope (JSObjectOps *ops, JSClass *clasp)
JSScopePropertylookup (jsid id)
bool hasProperty (jsid id)
bool hasProperty (JSScopeProperty *sprop)
JSScopePropertyaddProperty (JSContext *cx, jsid id, JSPropertyOp getter, JSPropertyOp setter, uint32 slot, uintN attrs, uintN flags, intN shortid)
JSScopePropertyaddDataProperty (JSContext *cx, jsid id, uint32 slot, uintN attrs)
JSScopePropertyputProperty (JSContext *cx, jsid id, JSPropertyOp getter, JSPropertyOp setter, uint32 slot, uintN attrs, uintN flags, intN shortid)
JSScopePropertychangeProperty (JSContext *cx, JSScopeProperty *sprop, uintN attrs, uintN mask, JSPropertyOp getter, JSPropertyOp setter)
bool removeProperty (JSContext *cx, jsid id)
void clear (JSContext *cx)
void extend (JSContext *cx, JSScopeProperty *sprop)
bool methodReadBarrier (JSContext *cx, JSScopeProperty *sprop, jsval *vp)
bool methodWriteBarrier (JSContext *cx, JSScopeProperty *sprop, jsval v)
bool methodWriteBarrier (JSContext *cx, uint32 slot, jsval v)
void trace (JSTracer *trc)
void brandingShapeChange (JSContext *cx, uint32 slot, jsval v)
void deletingShapeChange (JSContext *cx, JSScopeProperty *sprop)
bool methodShapeChange (JSContext *cx, JSScopeProperty *sprop, jsval toval)
bool methodShapeChange (JSContext *cx, uint32 slot, jsval toval)
void protoShapeChange (JSContext *cx)
void sealingShapeChange (JSContext *cx)
void shadowingShapeChange (JSContext *cx, JSScopeProperty *sprop)
bool inDictionaryMode ()
void setDictionaryMode ()
void clearDictionaryMode ()
bool sealed ()
void setSealed ()
bool branded ()
void setBranded ()
bool hadIndexedProperties ()
void setIndexedProperties ()
bool hasOwnShape ()
void setOwnShape ()
void clearOwnShape ()
bool hasRegenFlag (uint8 regenFlag)
bool hasMethodBarrier ()
void setMethodBarrier ()
bool brandedOrHasMethodBarrier ()
bool owned ()

Static Public Member Functions

static JSScopecreate (JSContext *cx, const JSObjectOps *ops, JSClass *clasp, JSObject *obj, uint32 shape)
static void destroy (JSContext *cx, JSScope *scope)

Public Attributes

JSTitle title
jsrefcount nrefs
uint32 freeslot
uint8 flags
int8 hashShift
uint16 spare
uint32 entryCount
uint32 removedCount
JSScopeProperty ** table

Member Enumeration Documentation

anonymous enum

Constructor & Destructor Documentation

JSScope::JSScope ( const JSObjectOps ops,
JSObject obj = NULL 
) [inline, explicit]

Member Function Documentation

JSScopeProperty* JSScope::addDataProperty ( JSContext cx,
jsid  id,
uint32  slot,
uintN  attrs 
) [inline]
JSScopeProperty* JSScope::addProperty ( JSContext cx,
jsid  id,
JSPropertyOp  getter,
JSPropertyOp  setter,
uint32  slot,
uintN  attrs,
uintN  flags,
intN  shortid 
bool JSScope::branded (  )  [inline]
bool JSScope::brandedOrHasMethodBarrier (  )  [inline]
void JSScope::brandingShapeChange ( JSContext cx,
uint32  slot,
jsval  v 
bool JSScope::canProvideEmptyScope ( JSObjectOps ops,
JSClass clasp 
) [inline]
JSScopeProperty* JSScope::changeProperty ( JSContext cx,
JSScopeProperty sprop,
uintN  attrs,
uintN  mask,
JSPropertyOp  getter,
JSPropertyOp  setter 
void JSScope::clear ( JSContext cx  ) 
void JSScope::clearDictionaryMode (  )  [inline]
void JSScope::clearOwnShape (  )  [inline]
static JSScope* JSScope::create ( JSContext cx,
const JSObjectOps ops,
JSClass clasp,
JSObject obj,
uint32  shape 
) [static]
void JSScope::deletingShapeChange ( JSContext cx,
JSScopeProperty sprop 
static void JSScope::destroy ( JSContext cx,
JSScope scope 
) [static]
bool JSScope::drop ( JSContext cx,
JSObject obj 
) [inline]
void JSScope::extend ( JSContext cx,
JSScopeProperty sprop 
JSEmptyScope * JSScope::getEmptyScope ( JSContext cx,
JSClass clasp 
) [inline]
bool JSScope::hadIndexedProperties (  )  [inline]
bool JSScope::hasMethodBarrier (  )  [inline]
bool JSScope::hasOwnShape (  )  [inline]
bool JSScope::hasProperty ( jsid  id  )  [inline]
bool JSScope::hasProperty ( JSScopeProperty sprop  )  [inline]
bool JSScope::hasRegenFlag ( uint8  regenFlag  )  [inline]
void JSScope::hold (  )  [inline]
bool JSScope::inDictionaryMode (  )  [inline]
JSScopeProperty * JSScope::lastProperty (  )  const [inline]
JSScopeProperty * JSScope::lookup ( jsid  id  )  [inline]
bool JSScope::methodReadBarrier ( JSContext cx,
JSScopeProperty sprop,
jsval vp 
bool JSScope::methodShapeChange ( JSContext cx,
JSScopeProperty sprop,
jsval  toval 
bool JSScope::methodShapeChange ( JSContext cx,
uint32  slot,
jsval  toval 
bool JSScope::methodWriteBarrier ( JSContext cx,
JSScopeProperty sprop,
jsval  v 
bool JSScope::methodWriteBarrier ( JSContext cx,
uint32  slot,
jsval  v 
bool JSScope::owned (  )  [inline]
void JSScope::protoShapeChange ( JSContext cx  ) 
JSScopeProperty* JSScope::putProperty ( JSContext cx,
jsid  id,
JSPropertyOp  getter,
JSPropertyOp  setter,
uint32  slot,
uintN  attrs,
uintN  flags,
intN  shortid 
bool JSScope::removeProperty ( JSContext cx,
jsid  id 
bool JSScope::sealed (  )  [inline]
void JSScope::sealingShapeChange ( JSContext cx  ) 
void JSScope::setBranded (  )  [inline]
void JSScope::setDictionaryMode (  )  [inline]
void JSScope::setIndexedProperties (  )  [inline]
void JSScope::setMethodBarrier (  )  [inline]
void JSScope::setOwnShape (  )  [inline]
void JSScope::setSealed (  )  [inline]
void JSScope::shadowingShapeChange ( JSContext cx,
JSScopeProperty sprop 
void JSScope::trace ( JSTracer trc  ) 

Member Data Documentation

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