object_object.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef _OBJECT_OBJECT_H_
00023
#define _OBJECT_OBJECT_H_
00024
00025
#include "internal.h"
00026
#include "function.h"
00027
00028
namespace KJS {
00029
00030
class FunctionPrototypeImp;
00031
00038
class ObjectPrototypeImp :
public ObjectImp {
00039
public:
00040 ObjectPrototypeImp(
ExecState *exec,
FunctionPrototypeImp *funcProto);
00041 };
00042
00049
class ObjectProtoFuncImp :
public InternalFunctionImp {
00050
public:
00051 ObjectProtoFuncImp(
ExecState *exec,
FunctionPrototypeImp *funcProto,
00052
int i,
int len,
const Identifier &_ident);
00053
00054
virtual bool implementsCall() const;
00055 virtual
Value call(
ExecState *exec,
Object &thisObj, const
List &args);
00056
00057 enum { ToString, ToLocaleString, ValueOf, HasOwnProperty,
00058 IsPrototypeOf, PropertyIsEnumerable };
00059
00060
private:
00061
int id;
00062 };
00063
00069
class ObjectObjectImp :
public InternalFunctionImp {
00070
public:
00071
00072 ObjectObjectImp(
ExecState *exec,
00073 ObjectPrototypeImp *objProto,
00074
FunctionPrototypeImp *funcProto);
00075
00076
virtual bool implementsConstruct() const;
00077 virtual
Object construct(
ExecState *exec, const
List &args);
00078 virtual
bool implementsCall() const;
00079 virtual
Value call(
ExecState *exec,
Object &thisObj, const
List &args);
00080 };
00081
00082 }
00083
00084 #endif
This file is part of the documentation for kjs Library Version 3.2.3.