#ifndef BooleanObject_h
#define BooleanObject_h
#include "JSWrapperObject.h"
namespace JSC {
class BooleanObject : public JSWrapperObject {
protected:
JS_EXPORT_PRIVATE BooleanObject(VM&, Structure*);
JS_EXPORT_PRIVATE void finishCreation(VM&);
public:
typedef JSWrapperObject Base;
static BooleanObject* create(VM& vm, Structure* structure)
{
BooleanObject* boolean = new (NotNull, allocateCell<BooleanObject>(vm.heap)) BooleanObject(vm, structure);
boolean->finishCreation(vm);
return boolean;
}
static JS_EXPORTDATA const ClassInfo s_info;
static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
{
return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
}
};
BooleanObject* asBooleanObject(JSValue);
inline BooleanObject* asBooleanObject(JSValue value)
{
ASSERT(asObject(value)->inherits(&BooleanObject::s_info));
return static_cast<BooleanObject*>(asObject(value));
}
}
#endif // BooleanObject_h