#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;
}
DECLARE_EXPORT_INFO;
static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
{
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<BooleanObject*>(asObject(value));
}
}
#endif // BooleanObject_h