#ifndef _BOOL_OBJECT_H_
#define _BOOL_OBJECT_H_
#include "internal.h"
#include "function_object.h"
namespace KJS {
class BooleanInstanceImp : public ObjectImp {
public:
BooleanInstanceImp(ObjectImp *proto);
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
};
class BooleanPrototypeImp : public BooleanInstanceImp {
public:
BooleanPrototypeImp(ExecState *exec,
ObjectPrototypeImp *objectProto,
FunctionPrototypeImp *funcProto);
};
class BooleanProtoFuncImp : public InternalFunctionImp {
public:
BooleanProtoFuncImp(ExecState *exec,
FunctionPrototypeImp *funcProto, int i, int len);
virtual bool implementsCall() const;
virtual Value call(ExecState *exec, Object &thisObj, const List &args);
enum { ToString, ValueOf };
private:
int id;
};
class BooleanObjectImp : public InternalFunctionImp {
friend class BooleanProtoFuncImp;
public:
BooleanObjectImp(ExecState *exec, FunctionPrototypeImp *funcProto,
BooleanPrototypeImp *booleanProto);
virtual bool implementsConstruct() const;
virtual Object construct(ExecState *exec, const List &args);
virtual bool implementsCall() const;
virtual Value call(ExecState *exec, Object &thisObj, const List &args);
};
};
#endif