Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

vcf/JavaScriptKit/js-impl/jsobj.h File Reference


Classes

struct  JSObjectMap
struct  JSObject
struct  JSSharpObjectMap

Defines

#define OBJ_LOOKUP_PROPERTY(cx, obj, id, objp, propp)   (obj)->map->ops->lookupProperty(cx,obj,id,objp,propp)
#define OBJ_DEFINE_PROPERTY(cx, obj, id, value, getter, setter, attrs, propp)   (obj)->map->ops->defineProperty(cx,obj,id,value,getter,setter,attrs,propp)
#define OBJ_GET_PROPERTY(cx, obj, id, vp)   (obj)->map->ops->getProperty(cx,obj,id,vp)
#define OBJ_SET_PROPERTY(cx, obj, id, vp)   (obj)->map->ops->setProperty(cx,obj,id,vp)
#define OBJ_GET_ATTRIBUTES(cx, obj, id, prop, attrsp)   (obj)->map->ops->getAttributes(cx,obj,id,prop,attrsp)
#define OBJ_SET_ATTRIBUTES(cx, obj, id, prop, attrsp)   (obj)->map->ops->setAttributes(cx,obj,id,prop,attrsp)
#define OBJ_DELETE_PROPERTY(cx, obj, id, rval)   (obj)->map->ops->deleteProperty(cx,obj,id,rval)
#define OBJ_DEFAULT_VALUE(cx, obj, hint, vp)   (obj)->map->ops->defaultValue(cx,obj,hint,vp)
#define OBJ_ENUMERATE(cx, obj, enum_op, statep, idp)   (obj)->map->ops->enumerate(cx,obj,enum_op,statep,idp)
#define OBJ_CHECK_ACCESS(cx, obj, id, mode, vp, attrsp)   (obj)->map->ops->checkAccess(cx,obj,id,mode,vp,attrsp)
#define OBJ_THIS_OBJECT(cx, obj)
#define OBJ_DROP_PROPERTY(cx, obj, prop)
#define OBJ_GET_REQUIRED_SLOT(cx, obj, slot)
#define OBJ_SET_REQUIRED_SLOT(cx, obj, slot, v)
#define OBJ_TO_INNER_OBJECT(cx, obj)
#define JSSLOT_PROTO   0
#define JSSLOT_PARENT   1
#define JSSLOT_CLASS   2
#define JSSLOT_PRIVATE   3
#define JSSLOT_START(clasp)
#define JSSLOT_FREE(clasp)
#define JS_INITIAL_NSLOTS   5
#define OBJ_CHECK_SLOT(obj, slot)   ((void)0)
#define LOCKED_OBJ_GET_SLOT(obj, slot)   (OBJ_CHECK_SLOT(obj, slot), (obj)->slots[slot])
#define LOCKED_OBJ_SET_SLOT(obj, slot, value)   (OBJ_CHECK_SLOT(obj, slot), (obj)->slots[slot] = (value))
#define LOCKED_OBJ_GET_PROTO(obj)   JSVAL_TO_OBJECT(LOCKED_OBJ_GET_SLOT(obj, JSSLOT_PROTO))
#define LOCKED_OBJ_GET_CLASS(obj)   ((JSClass *)JSVAL_TO_PRIVATE(LOCKED_OBJ_GET_SLOT(obj, JSSLOT_CLASS)))
#define OBJ_GET_SLOT(cx, obj, slot)   LOCKED_OBJ_GET_SLOT(obj,slot)
#define OBJ_SET_SLOT(cx, obj, slot, value)   LOCKED_OBJ_SET_SLOT(obj,slot,value)
#define GC_AWARE_GET_SLOT(cx, obj, slot)   LOCKED_OBJ_GET_SLOT(obj,slot)
#define OBJ_GET_PROTO(cx, obj)   JSVAL_TO_OBJECT(OBJ_GET_SLOT(cx, obj, JSSLOT_PROTO))
#define OBJ_SET_PROTO(cx, obj, proto)   OBJ_SET_SLOT(cx, obj, JSSLOT_PROTO, OBJECT_TO_JSVAL(proto))
#define OBJ_GET_PARENT(cx, obj)   JSVAL_TO_OBJECT(OBJ_GET_SLOT(cx, obj, JSSLOT_PARENT))
#define OBJ_SET_PARENT(cx, obj, parent)   OBJ_SET_SLOT(cx, obj, JSSLOT_PARENT, OBJECT_TO_JSVAL(parent))
#define OBJ_GET_CLASS(cx, obj)   ((JSClass *)JSVAL_TO_PRIVATE(OBJ_GET_SLOT(cx, obj, JSSLOT_CLASS)))
#define MAP_IS_NATIVE(map)
#define OBJ_IS_NATIVE(obj)   MAP_IS_NATIVE((obj)->map)
#define JSSLOT_BLOCK_DEPTH   (JSSLOT_PRIVATE + 1)
#define OBJ_BLOCK_COUNT(cx, obj)   ((obj)->map->freeslot - (JSSLOT_BLOCK_DEPTH + 1))
#define OBJ_BLOCK_DEPTH(cx, obj)   JSVAL_TO_INT(OBJ_GET_SLOT(cx, obj, JSSLOT_BLOCK_DEPTH))
#define OBJ_SET_BLOCK_DEPTH(cx, obj, depth)   OBJ_SET_SLOT(cx, obj, JSSLOT_BLOCK_DEPTH, INT_TO_JSVAL(depth))
#define SHARP_BIT   ((jsatomid) 1)
#define BUSY_BIT   ((jsatomid) 2)
#define SHARP_ID_SHIFT   2
#define IS_SHARP(he)   (JS_PTR_TO_UINT32((he)->value) & SHARP_BIT)
#define MAKE_SHARP(he)   ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)|SHARP_BIT))
#define IS_BUSY(he)   (JS_PTR_TO_UINT32((he)->value) & BUSY_BIT)
#define MAKE_BUSY(he)   ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)|BUSY_BIT))
#define CLEAR_BUSY(he)   ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)&~BUSY_BIT))

Functions

 JS_FRIEND_DATA (JSObjectOps) js_ObjectOps
JSObjectjs_NewWithObject (JSContext *cx, JSObject *proto, JSObject *parent, jsint depth)
JSObjectjs_NewBlockObject (JSContext *cx)
JSObjectjs_CloneBlockObject (JSContext *cx, JSObject *proto, JSObject *parent, JSStackFrame *fp)
JSBool js_PutBlockObject (JSContext *cx, JSObject *obj)
JSHashEntryjs_EnterSharpObject (JSContext *cx, JSObject *obj, JSIdArray **idap, jschar **sp)
void js_LeaveSharpObject (JSContext *cx, JSIdArray **idap)
void js_GCMarkSharpMap (JSContext *cx, JSSharpObjectMap *map)
JSBool js_obj_toSource (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
JSBool js_obj_toString (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
JSBool js_HasOwnPropertyHelper (JSContext *cx, JSObject *obj, JSLookupPropOp lookup, uintN argc, jsval *argv, jsval *rval)
JSObjectjs_InitBlockClass (JSContext *cx, JSObject *obj)
JSObjectjs_InitObjectClass (JSContext *cx, JSObject *obj)
void js_InitObjectMap (JSObjectMap *map, jsrefcount nrefs, JSObjectOps *ops, JSClass *clasp)
JSObjectMapjs_NewObjectMap (JSContext *cx, jsrefcount nrefs, JSObjectOps *ops, JSClass *clasp, JSObject *obj)
void js_DestroyObjectMap (JSContext *cx, JSObjectMap *map)
JSObjectMapjs_HoldObjectMap (JSContext *cx, JSObjectMap *map)
JSObjectMapjs_DropObjectMap (JSContext *cx, JSObjectMap *map, JSObject *obj)
JSBool js_GetClassId (JSContext *cx, JSClass *clasp, jsid *idp)
JSObjectjs_NewObject (JSContext *cx, JSClass *clasp, JSObject *proto, JSObject *parent)
JSBool js_GetClassObject (JSContext *cx, JSObject *obj, JSProtoKey key, JSObject **objp)
JSBool js_SetClassObject (JSContext *cx, JSObject *obj, JSProtoKey key, JSObject *cobj)
JSBool js_FindClassObject (JSContext *cx, JSObject *start, jsid id, jsval *vp)
JSObjectjs_ConstructObject (JSContext *cx, JSClass *clasp, JSObject *proto, JSObject *parent, uintN argc, jsval *argv)
void js_FinalizeObject (JSContext *cx, JSObject *obj)
JSBool js_AllocSlot (JSContext *cx, JSObject *obj, uint32 *slotp)
void js_FreeSlot (JSContext *cx, JSObject *obj, uint32 slot)
JSScopePropertyjs_AddHiddenProperty (JSContext *cx, JSObject *obj, jsid id, JSPropertyOp getter, JSPropertyOp setter, uint32 slot, uintN attrs, uintN flags, intN shortid)
JSBool js_LookupHiddenProperty (JSContext *cx, JSObject *obj, jsid id, JSObject **objp, JSProperty **propp)
JSScopePropertyjs_AddNativeProperty (JSContext *cx, JSObject *obj, jsid id, JSPropertyOp getter, JSPropertyOp setter, uint32 slot, uintN attrs, uintN flags, intN shortid)
JSScopePropertyjs_ChangeNativePropertyAttrs (JSContext *cx, JSObject *obj, JSScopeProperty *sprop, uintN attrs, uintN mask, JSPropertyOp getter, JSPropertyOp setter)
JSBool js_DefineProperty (JSContext *cx, JSObject *obj, jsid id, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs, JSProperty **propp)
JSBool js_DefineNativeProperty (JSContext *cx, JSObject *obj, jsid id, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs, uintN flags, intN shortid, JSProperty **propp)
 JS_FRIEND_API (JSBool) js_LookupProperty(JSContext *cx
JSBool js_LookupPropertyWithFlags (JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp, JSProperty **propp)
JSObjectjs_FindIdentifierBase (JSContext *cx, jsid id)
JSObjectjs_FindVariableScope (JSContext *cx, JSFunction **funp)
JSBool js_GetProperty (JSContext *cx, JSObject *obj, jsid id, jsval *vp)
JSBool js_SetProperty (JSContext *cx, JSObject *obj, jsid id, jsval *vp)
JSBool js_GetAttributes (JSContext *cx, JSObject *obj, jsid id, JSProperty *prop, uintN *attrsp)
JSBool js_SetAttributes (JSContext *cx, JSObject *obj, jsid id, JSProperty *prop, uintN *attrsp)
JSBool js_DeleteProperty (JSContext *cx, JSObject *obj, jsid id, jsval *rval)
JSBool js_DefaultValue (JSContext *cx, JSObject *obj, JSType hint, jsval *vp)
JSIdArrayjs_NewIdArray (JSContext *cx, jsint length)
JSIdArrayjs_SetIdArrayLength (JSContext *cx, JSIdArray *ida, jsint length)
JSBool js_Enumerate (JSContext *cx, JSObject *obj, JSIterateOp enum_op, jsval *statep, jsid *idp)
void js_MarkNativeIteratorStates (JSContext *cx)
JSBool js_CheckAccess (JSContext *cx, JSObject *obj, jsid id, JSAccessMode mode, jsval *vp, uintN *attrsp)
JSBool js_Call (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
JSBool js_Construct (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
JSBool js_HasInstance (JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
JSBool js_SetProtoOrParent (JSContext *cx, JSObject *obj, uint32 slot, JSObject *pobj)
JSBool js_IsDelegate (JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
JSBool js_GetClassPrototype (JSContext *cx, JSObject *scope, jsid id, JSObject **protop)
JSBool js_SetClassPrototype (JSContext *cx, JSObject *ctor, JSObject *proto, uintN attrs)
JSBool js_ValueToObject (JSContext *cx, jsval v, JSObject **objp)
JSObjectjs_ValueToNonNullObject (JSContext *cx, jsval v)
JSBool js_TryValueOf (JSContext *cx, JSObject *obj, JSType type, jsval *rval)
JSBool js_TryMethod (JSContext *cx, JSObject *obj, JSAtom *atom, uintN argc, jsval *argv, jsval *rval)
JSBool js_XDRObject (JSXDRState *xdr, JSObject **objp)
uint32 js_Mark (JSContext *cx, JSObject *obj, void *arg)
void js_Clear (JSContext *cx, JSObject *obj)
jsval js_GetRequiredSlot (JSContext *cx, JSObject *obj, uint32 slot)
JSBool js_SetRequiredSlot (JSContext *cx, JSObject *obj, uint32 slot, jsval v)
JSObjectjs_CheckScopeChainValidity (JSContext *cx, JSObject *scopeobj, const char *caller)
JSBool js_CheckPrincipalsAccess (JSContext *cx, JSObject *scopeobj, JSPrincipals *principals, JSAtom *caller)

Variables

JSClass js_ObjectClass
JSClass js_WithClass
JSClass js_BlockClass
const char js_watch_str []
const char js_unwatch_str []
const char js_hasOwnProperty_str []
const char js_isPrototypeOf_str []
const char js_propertyIsEnumerable_str []
const char js_defineGetter_str []
const char js_defineSetter_str []
const char js_lookupGetter_str []
const char js_lookupSetter_str []
JSObjectobj
JSObject jsid id
JSObject jsid JSObject ** objp
JSObject jsid JSObject JSProperty ** propp
jsid id
jsid JSObject ** objp
jsid JSObject JSObject ** pobjp
jsid JSObject JSObject JSProperty ** propp

Define Documentation

#define BUSY_BIT   ((jsatomid) 2)
 

#define CLEAR_BUSY he   )     ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)&~BUSY_BIT))
 

#define GC_AWARE_GET_SLOT cx,
obj,
slot   )     LOCKED_OBJ_GET_SLOT(obj,slot)
 

#define IS_BUSY he   )     (JS_PTR_TO_UINT32((he)->value) & BUSY_BIT)
 

#define IS_SHARP he   )     (JS_PTR_TO_UINT32((he)->value) & SHARP_BIT)
 

#define JS_INITIAL_NSLOTS   5
 

#define JSSLOT_BLOCK_DEPTH   (JSSLOT_PRIVATE + 1)
 

#define JSSLOT_CLASS   2
 

#define JSSLOT_FREE clasp   ) 
 

Value:

#define JSSLOT_PARENT   1
 

#define JSSLOT_PRIVATE   3
 

#define JSSLOT_PROTO   0
 

#define JSSLOT_START clasp   ) 
 

Value:

#define LOCKED_OBJ_GET_CLASS obj   )     ((JSClass *)JSVAL_TO_PRIVATE(LOCKED_OBJ_GET_SLOT(obj, JSSLOT_CLASS)))
 

#define LOCKED_OBJ_GET_PROTO obj   )     JSVAL_TO_OBJECT(LOCKED_OBJ_GET_SLOT(obj, JSSLOT_PROTO))
 

#define LOCKED_OBJ_GET_SLOT obj,
slot   )     (OBJ_CHECK_SLOT(obj, slot), (obj)->slots[slot])
 

#define LOCKED_OBJ_SET_SLOT obj,
slot,
value   )     (OBJ_CHECK_SLOT(obj, slot), (obj)->slots[slot] = (value))
 

#define MAKE_BUSY he   )     ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)|BUSY_BIT))
 

#define MAKE_SHARP he   )     ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)|SHARP_BIT))
 

#define MAP_IS_NATIVE map   ) 
 

Value:

((map)->ops == &js_ObjectOps ||                                           \
     ((map)->ops && (map)->ops->newObjectMap == js_ObjectOps.newObjectMap))

#define OBJ_BLOCK_COUNT cx,
obj   )     ((obj)->map->freeslot - (JSSLOT_BLOCK_DEPTH + 1))
 

#define OBJ_BLOCK_DEPTH cx,
obj   )     JSVAL_TO_INT(OBJ_GET_SLOT(cx, obj, JSSLOT_BLOCK_DEPTH))
 

#define OBJ_CHECK_ACCESS cx,
obj,
id,
mode,
vp,
attrsp   )     (obj)->map->ops->checkAccess(cx,obj,id,mode,vp,attrsp)
 

#define OBJ_CHECK_SLOT obj,
slot   )     ((void)0)
 

#define OBJ_DEFAULT_VALUE cx,
obj,
hint,
vp   )     (obj)->map->ops->defaultValue(cx,obj,hint,vp)
 

#define OBJ_DEFINE_PROPERTY cx,
obj,
id,
value,
getter,
setter,
attrs,
propp   )     (obj)->map->ops->defineProperty(cx,obj,id,value,getter,setter,attrs,propp)
 

#define OBJ_DELETE_PROPERTY cx,
obj,
id,
rval   )     (obj)->map->ops->deleteProperty(cx,obj,id,rval)
 

#define OBJ_DROP_PROPERTY cx,
obj,
prop   ) 
 

Value:

((obj)->map->ops->dropProperty                                            \
     ? (obj)->map->ops->dropProperty(cx,obj,prop)                             \
     : (void)0)

#define OBJ_ENUMERATE cx,
obj,
enum_op,
statep,
idp   )     (obj)->map->ops->enumerate(cx,obj,enum_op,statep,idp)
 

#define OBJ_GET_ATTRIBUTES cx,
obj,
id,
prop,
attrsp   )     (obj)->map->ops->getAttributes(cx,obj,id,prop,attrsp)
 

#define OBJ_GET_CLASS cx,
obj   )     ((JSClass *)JSVAL_TO_PRIVATE(OBJ_GET_SLOT(cx, obj, JSSLOT_CLASS)))
 

#define OBJ_GET_PARENT cx,
obj   )     JSVAL_TO_OBJECT(OBJ_GET_SLOT(cx, obj, JSSLOT_PARENT))
 

#define OBJ_GET_PROPERTY cx,
obj,
id,
vp   )     (obj)->map->ops->getProperty(cx,obj,id,vp)
 

#define OBJ_GET_PROTO cx,
obj   )     JSVAL_TO_OBJECT(OBJ_GET_SLOT(cx, obj, JSSLOT_PROTO))
 

#define OBJ_GET_REQUIRED_SLOT cx,
obj,
slot   ) 
 

Value:

((obj)->map->ops->getRequiredSlot                                         \
     ? (obj)->map->ops->getRequiredSlot(cx, obj, slot)                        \
     : JSVAL_VOID)

#define OBJ_GET_SLOT cx,
obj,
slot   )     LOCKED_OBJ_GET_SLOT(obj,slot)
 

#define OBJ_IS_NATIVE obj   )     MAP_IS_NATIVE((obj)->map)
 

#define OBJ_LOOKUP_PROPERTY cx,
obj,
id,
objp,
propp   )     (obj)->map->ops->lookupProperty(cx,obj,id,objp,propp)
 

#define OBJ_SET_ATTRIBUTES cx,
obj,
id,
prop,
attrsp   )     (obj)->map->ops->setAttributes(cx,obj,id,prop,attrsp)
 

#define OBJ_SET_BLOCK_DEPTH cx,
obj,
depth   )     OBJ_SET_SLOT(cx, obj, JSSLOT_BLOCK_DEPTH, INT_TO_JSVAL(depth))
 

#define OBJ_SET_PARENT cx,
obj,
parent   )     OBJ_SET_SLOT(cx, obj, JSSLOT_PARENT, OBJECT_TO_JSVAL(parent))
 

#define OBJ_SET_PROPERTY cx,
obj,
id,
vp   )     (obj)->map->ops->setProperty(cx,obj,id,vp)
 

#define OBJ_SET_PROTO cx,
obj,
proto   )     OBJ_SET_SLOT(cx, obj, JSSLOT_PROTO, OBJECT_TO_JSVAL(proto))
 

#define OBJ_SET_REQUIRED_SLOT cx,
obj,
slot,
v   ) 
 

Value:

((obj)->map->ops->setRequiredSlot                                         \
     ? (obj)->map->ops->setRequiredSlot(cx, obj, slot, v)                     \
     : JS_TRUE)

#define OBJ_SET_SLOT cx,
obj,
slot,
value   )     LOCKED_OBJ_SET_SLOT(obj,slot,value)
 

#define OBJ_THIS_OBJECT cx,
obj   ) 
 

Value:

((obj)->map->ops->thisObject                                              \
     ? (obj)->map->ops->thisObject(cx,obj)                                    \
     : (obj))

#define OBJ_TO_INNER_OBJECT cx,
obj   ) 
 

Value:

JS_BEGIN_MACRO                                                            \
        JSClass *clasp_ = OBJ_GET_CLASS(cx, obj);                             \
        if (clasp_->flags & JSCLASS_IS_EXTENDED) {                            \
            JSExtendedClass *xclasp_ = (JSExtendedClass*)clasp_;              \
            if (xclasp_->innerObject)                                         \
                obj = xclasp_->innerObject(cx, obj);                          \
        }                                                                     \
    JS_END_MACRO

#define SHARP_BIT   ((jsatomid) 1)
 

#define SHARP_ID_SHIFT   2
 


Function Documentation

JSScopeProperty* js_AddHiddenProperty JSContext cx,
JSObject obj,
jsid  id,
JSPropertyOp  getter,
JSPropertyOp  setter,
uint32  slot,
uintN  attrs,
uintN  flags,
intN  shortid
 

JSScopeProperty* js_AddNativeProperty JSContext cx,
JSObject obj,
jsid  id,
JSPropertyOp  getter,
JSPropertyOp  setter,
uint32  slot,
uintN  attrs,
uintN  flags,
intN  shortid
 

JSBool js_AllocSlot JSContext cx,
JSObject obj,
uint32 slotp
 

JSBool js_Call JSContext cx,
JSObject obj,
uintN  argc,
jsval argv,
jsval rval
 

JSScopeProperty* js_ChangeNativePropertyAttrs JSContext cx,
JSObject obj,
JSScopeProperty sprop,
uintN  attrs,
uintN  mask,
JSPropertyOp  getter,
JSPropertyOp  setter
 

JSBool js_CheckAccess JSContext cx,
JSObject obj,
jsid  id,
JSAccessMode  mode,
jsval vp,
uintN attrsp
 

JSBool js_CheckPrincipalsAccess JSContext cx,
JSObject scopeobj,
JSPrincipals principals,
JSAtom caller
 

JSObject* js_CheckScopeChainValidity JSContext cx,
JSObject scopeobj,
const char *  caller
 

void js_Clear JSContext cx,
JSObject obj
 

JSObject* js_CloneBlockObject JSContext cx,
JSObject proto,
JSObject parent,
JSStackFrame fp
 

JSBool js_Construct JSContext cx,
JSObject obj,
uintN  argc,
jsval argv,
jsval rval
 

JSObject* js_ConstructObject JSContext cx,
JSClass clasp,
JSObject proto,
JSObject parent,
uintN  argc,
jsval argv
 

JSBool js_DefaultValue JSContext cx,
JSObject obj,
JSType  hint,
jsval vp
 

JSBool js_DefineNativeProperty JSContext cx,
JSObject obj,
jsid  id,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs,
uintN  flags,
intN  shortid,
JSProperty **  propp
 

JSBool js_DefineProperty JSContext cx,
JSObject obj,
jsid  id,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs,
JSProperty **  propp
 

JSBool js_DeleteProperty JSContext cx,
JSObject obj,
jsid  id,
jsval rval
 

void js_DestroyObjectMap JSContext cx,
JSObjectMap map
 

JSObjectMap* js_DropObjectMap JSContext cx,
JSObjectMap map,
JSObject obj
 

JSHashEntry* js_EnterSharpObject JSContext cx,
JSObject obj,
JSIdArray **  idap,
jschar **  sp
 

JSBool js_Enumerate JSContext cx,
JSObject obj,
JSIterateOp  enum_op,
jsval statep,
jsid idp
 

void js_FinalizeObject JSContext cx,
JSObject obj
 

JSBool js_FindClassObject JSContext cx,
JSObject start,
jsid  id,
jsval vp
 

JSObject* js_FindIdentifierBase JSContext cx,
jsid  id
 

JSObject* js_FindVariableScope JSContext cx,
JSFunction **  funp
 

void js_FreeSlot JSContext cx,
JSObject obj,
uint32  slot
 

JS_FRIEND_API JSBool   ) 
 

JS_FRIEND_DATA JSObjectOps   ) 
 

void js_GCMarkSharpMap JSContext cx,
JSSharpObjectMap map
 

JSBool js_GetAttributes JSContext cx,
JSObject obj,
jsid  id,
JSProperty prop,
uintN attrsp
 

JSBool js_GetClassId JSContext cx,
JSClass clasp,
jsid idp
 

JSBool js_GetClassObject JSContext cx,
JSObject obj,
JSProtoKey  key,
JSObject **  objp
 

JSBool js_GetClassPrototype JSContext cx,
JSObject scope,
jsid  id,
JSObject **  protop
 

JSBool js_GetProperty JSContext cx,
JSObject obj,
jsid  id,
jsval vp
 

jsval js_GetRequiredSlot JSContext cx,
JSObject obj,
uint32  slot
 

JSBool js_HasInstance JSContext cx,
JSObject obj,
jsval  v,
JSBool bp
 

JSBool js_HasOwnPropertyHelper JSContext cx,
JSObject obj,
JSLookupPropOp  lookup,
uintN  argc,
jsval argv,
jsval rval
 

JSObjectMap* js_HoldObjectMap JSContext cx,
JSObjectMap map
 

JSObject* js_InitBlockClass JSContext cx,
JSObject obj
 

JSObject* js_InitObjectClass JSContext cx,
JSObject obj
 

void js_InitObjectMap JSObjectMap map,
jsrefcount  nrefs,
JSObjectOps ops,
JSClass clasp
 

JSBool js_IsDelegate JSContext cx,
JSObject obj,
jsval  v,
JSBool bp
 

void js_LeaveSharpObject JSContext cx,
JSIdArray **  idap
 

JSBool js_LookupHiddenProperty JSContext cx,
JSObject obj,
jsid  id,
JSObject **  objp,
JSProperty **  propp
 

JSBool js_LookupPropertyWithFlags JSContext cx,
JSObject obj,
jsid  id,
uintN  flags,
JSObject **  objp,
JSProperty **  propp
 

uint32 js_Mark JSContext cx,
JSObject obj,
void *  arg
 

void js_MarkNativeIteratorStates JSContext cx  ) 
 

JSObject* js_NewBlockObject JSContext cx  ) 
 

JSIdArray* js_NewIdArray JSContext cx,
jsint  length
 

JSObject* js_NewObject JSContext cx,
JSClass clasp,
JSObject proto,
JSObject parent
 

JSObjectMap* js_NewObjectMap JSContext cx,
jsrefcount  nrefs,
JSObjectOps ops,
JSClass clasp,
JSObject obj
 

JSObject* js_NewWithObject JSContext cx,
JSObject proto,
JSObject parent,
jsint  depth
 

JSBool js_obj_toSource JSContext cx,
JSObject obj,
uintN  argc,
jsval argv,
jsval rval
 

JSBool js_obj_toString JSContext cx,
JSObject obj,
uintN  argc,
jsval argv,
jsval rval
 

JSBool js_PutBlockObject JSContext cx,
JSObject obj
 

JSBool js_SetAttributes JSContext cx,
JSObject obj,
jsid  id,
JSProperty prop,
uintN attrsp
 

JSBool js_SetClassObject JSContext cx,
JSObject obj,
JSProtoKey  key,
JSObject cobj
 

JSBool js_SetClassPrototype JSContext cx,
JSObject ctor,
JSObject proto,
uintN  attrs
 

JSIdArray* js_SetIdArrayLength JSContext cx,
JSIdArray ida,
jsint  length
 

JSBool js_SetProperty JSContext cx,
JSObject obj,
jsid  id,
jsval vp
 

JSBool js_SetProtoOrParent JSContext cx,
JSObject obj,
uint32  slot,
JSObject pobj
 

JSBool js_SetRequiredSlot JSContext cx,
JSObject obj,
uint32  slot,
jsval  v
 

JSBool js_TryMethod JSContext cx,
JSObject obj,
JSAtom atom,
uintN  argc,
jsval argv,
jsval rval
 

JSBool js_TryValueOf JSContext cx,
JSObject obj,
JSType  type,
jsval rval
 

JSObject* js_ValueToNonNullObject JSContext cx,
jsval  v
 

JSBool js_ValueToObject JSContext cx,
jsval  v,
JSObject **  objp
 

JSBool js_XDRObject JSXDRState xdr,
JSObject **  objp
 


Variable Documentation

jsid id
 

JSObject jsid id
 

JSClass js_BlockClass
 

const char js_defineGetter_str[]
 

const char js_defineSetter_str[]
 

const char js_hasOwnProperty_str[]
 

const char js_isPrototypeOf_str[]
 

const char js_lookupGetter_str[]
 

const char js_lookupSetter_str[]
 

JSClass js_ObjectClass
 

const char js_propertyIsEnumerable_str[]
 

const char js_unwatch_str[]
 

const char js_watch_str[]
 

JSClass js_WithClass
 

JSObject* obj
 

jsid JSObject** objp
 

JSObject jsid JSObject** objp
 

jsid JSObject JSObject** pobjp
 

jsid JSObject JSObject JSProperty** propp
 

JSObject jsid JSObject JSProperty** propp
 

   Comments or Suggestions?    License Information