X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9dae56ea45a0f5f8136a5c93d6f3a7f99399ca73..refs/heads/master:/runtime/BooleanObject.h diff --git a/runtime/BooleanObject.h b/runtime/BooleanObject.h index 68941e3..6944db4 100644 --- a/runtime/BooleanObject.h +++ b/runtime/BooleanObject.h @@ -25,21 +25,36 @@ namespace JSC { - class BooleanObject : public JSWrapperObject { - public: - explicit BooleanObject(PassRefPtr); +class BooleanObject : public JSWrapperObject { +protected: + JS_EXPORT_PRIVATE BooleanObject(VM&, Structure*); + JS_EXPORT_PRIVATE void finishCreation(VM&); - virtual const ClassInfo* classInfo() const { return &info; } - static const ClassInfo info; - }; +public: + typedef JSWrapperObject Base; - BooleanObject* asBooleanObject(JSValuePtr); - - inline BooleanObject* asBooleanObject(JSValuePtr value) + static BooleanObject* create(VM& vm, Structure* structure) + { + BooleanObject* boolean = new (NotNull, allocateCell(vm.heap)) BooleanObject(vm, structure); + boolean->finishCreation(vm); + return boolean; + } + + DECLARE_EXPORT_INFO; + + static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) { - ASSERT(asObject(value)->inherits(&BooleanObject::info)); - return static_cast(asObject(value)); + return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info()); } +}; + +BooleanObject* asBooleanObject(JSValue); + +inline BooleanObject* asBooleanObject(JSValue value) +{ + ASSERT(asObject(value)->inherits(BooleanObject::info())); + return static_cast(asObject(value)); +} } // namespace JSC