X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/ba379fdc102753d6be2c4d937058fe40257329fe..refs/heads/master:/runtime/BooleanObject.h diff --git a/runtime/BooleanObject.h b/runtime/BooleanObject.h index cfd55fe..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(JSValue); - - inline BooleanObject* asBooleanObject(JSValue 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