Sha256: a25c21a711748f2d2a4fb90f1dc62597221f30684629c2b86a905020117a897b

Contents?: true

Size: 935 Bytes

Versions: 29

Compression:

Stored size: 935 Bytes

Contents

#include "global.h"

static JSBool enumerate(JSContext *js_context, JSObject *obj)
{
  return JS_EnumerateStandardClasses(js_context, obj);
}

static JSBool resolve(JSContext *js_context, JSObject *obj, jsval id, uintN flags, JSObject **objp)
{
  if ((flags & JSRESOLVE_ASSIGNING) == 0)
  {
    JSBool resolved_p;

    if (!JS_ResolveStandardClass(js_context, obj, id, &resolved_p))
      return JS_FALSE;
    
    if (resolved_p)
      *objp = obj;
  }

  return JS_TRUE;
}

static JSClass OurGlobalClass = {
  "global", JSCLASS_NEW_RESOLVE | JSCLASS_GLOBAL_FLAGS,
  JS_PropertyStub, // addProperty
  JS_PropertyStub, // delProperty
  JS_PropertyStub, // getProperty
  JS_PropertyStub, // setProperty
  enumerate,
  (JSResolveOp) resolve,
  JS_ConvertStub,
  JS_FinalizeStub,
  JSCLASS_NO_OPTIONAL_MEMBERS
};

JSObject* johnson_create_global_object(JSContext* context)
{
  return JS_NewObject(context, &OurGlobalClass, NULL, NULL);
}

Version data entries

29 entries across 23 versions & 3 rubygems

Version Path
jbarnette-johnson-1.0.0.200806240111 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.200807291507 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.200808062051 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.200808062111 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.200811251942 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20081126120511 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090127202936 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090225110820 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090326122910 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090326154650 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090326161333 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090402144841 ext/spidermonkey/global.c
jbarnette-johnson-1.0.0.20090402155420 ext/spidermonkey/global.c
johnson-2.0.0.pre1 ext/spidermonkey/global.c
johnson-2.0.0.pre1 ext/tracemonkey/global.cc
johnson-2.0.0.pre0 ext/spidermonkey/global.c
johnson-2.0.0.pre0 ext/tracemonkey/global.cc
johnson-1.2.0 ext/spidermonkey/global.c
smparkes-johnson-1.1.2.6 ext/spidermonkey/global.c
smparkes-johnson-1.1.2.6 ext/tracemonkey/global.cc