X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/f9bf01c6616d5ddcf65b13b33cedf9e387ff7a63..refs/heads/master:/runtime/BooleanObject.h?ds=sidebyside diff --git a/runtime/BooleanObject.h b/runtime/BooleanObject.h index 4b02acb..6944db4 100644 --- a/runtime/BooleanObject.h +++ b/runtime/BooleanObject.h @@ -25,26 +25,36 @@ namespace JSC { - class BooleanObject : public JSWrapperObject { - public: - explicit BooleanObject(NonNullPassRefPtr); +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; - - static PassRefPtr createStructure(JSValue prototype) - { - return Structure::create(prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount); - } - }; - - BooleanObject* asBooleanObject(JSValue); +public: + typedef JSWrapperObject Base; - 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