bool RegExpObjectBuilder::getOrCreateClone(RegExpObject *proto) { JS_ASSERT(!reobj_); JSObject *clone = NewObjectWithGivenProto(cx, &RegExpClass, proto, proto->getParent()); if (!clone) return false; clone->initPrivate(NULL); reobj_ = &clone->asRegExp(); return true; }
static JSBool regexp_compile(JSContext *cx, uintN argc, Value *vp) { CallArgs args = CallArgsFromVp(argc, vp); bool ok; JSObject *obj = NonGenericMethodGuard(cx, args, regexp_compile, &RegExpClass, &ok); if (!obj) return ok; RegExpObjectBuilder builder(cx, obj->asRegExp()); return CompileRegExpObject(cx, builder, args.length(), args.array(), &args.rval()); }
bool RegExpObjectBuilder::getOrCreateClone(RegExpObject *proto) { JS_ASSERT(!reobj_); JSObject *clone = NewNativeClassInstance(cx, &RegExpClass, proto, proto->getParent()); if (!clone) return false; clone->setPrivate(NULL); reobj_ = clone->asRegExp(); return true; }
bool RegExpObjectBuilder::getOrCreate() { if (reobj_) return true; JSObject *obj = NewBuiltinClassInstance(cx, &RegExpClass); if (!obj) return false; obj->initPrivate(NULL); reobj_ = &obj->asRegExp(); return true; }
static JSBool regexp_compile(JSContext *cx, unsigned argc, Value *vp) { CallArgs args = CallArgsFromVp(argc, vp); JSObject *thisObj; if (!NonGenericMethodGuard(cx, args, regexp_compile, &RegExpClass, &thisObj)) return false; if (!thisObj) return true; RegExpObjectBuilder builder(cx, &thisObj->asRegExp()); return CompileRegExpObject(cx, builder, args); }
static JSBool regexp_compile(JSContext *cx, uintN argc, Value *vp) { CallArgs args = CallArgsFromVp(argc, vp); bool ok; JSObject *obj = NonGenericMethodGuard(cx, args, regexp_compile, &RegExpClass, &ok); if (!obj) return ok; RegExpObject *reobj = obj->asRegExp(); ok = CompileRegExpObject(cx, reobj, args.length(), args.array(), &args.rval()); JS_ASSERT_IF(ok, reobj->getPrivate()); return ok; }
static JSBool regexp_toString(JSContext *cx, uintN argc, Value *vp) { CallArgs args = CallArgsFromVp(argc, vp); bool ok; JSObject *obj = NonGenericMethodGuard(cx, args, regexp_toString, &RegExpClass, &ok); if (!obj) return ok; JSString *str = obj->asRegExp()->toString(cx); if (!str) return false; *vp = StringValue(str); return true; }
static JSBool regexp_toString(JSContext *cx, unsigned argc, Value *vp) { CallArgs args = CallArgsFromVp(argc, vp); JSObject *thisObj; if (!NonGenericMethodGuard(cx, args, regexp_toString, &RegExpClass, &thisObj)) return false; if (!thisObj) return true; JSString *str = thisObj->asRegExp().toString(cx); if (!str) return false; *vp = StringValue(str); return true; }