namespace JSC {
class BooleanObject : public JSWrapperObject {
- public:
- explicit BooleanObject(PassRefPtr<Structure>);
+ protected:
+ BooleanObject(JSGlobalData&, Structure*);
+ void finishCreation(JSGlobalData&);
- virtual const ClassInfo* classInfo() const { return &info; }
- static const ClassInfo info;
+ public:
+ typedef JSWrapperObject Base;
+
+ static BooleanObject* create(JSGlobalData& globalData, Structure* structure)
+ {
+ BooleanObject* boolean = new (NotNull, allocateCell<BooleanObject>(globalData.heap)) BooleanObject(globalData, structure);
+ boolean->finishCreation(globalData);
+ return boolean;
+ }
+
+ static const ClassInfo s_info;
+
+ static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
+ {
+ return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
+ }
};
BooleanObject* asBooleanObject(JSValue);
inline BooleanObject* asBooleanObject(JSValue value)
{
- ASSERT(asObject(value)->inherits(&BooleanObject::info));
+ ASSERT(asObject(value)->inherits(&BooleanObject::s_info));
return static_cast<BooleanObject*>(asObject(value));
}