array_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 _ARRAY_OBJECT_H_
00023
#define _ARRAY_OBJECT_H_
00024
00025
#include "internal.h"
00026
#include "function_object.h"
00027
00028
namespace KJS {
00029
00030
class ArrayPrototypeImp :
public ArrayInstanceImp {
00031
public:
00032 ArrayPrototypeImp(
ExecState *exec,
00033 ObjectPrototypeImp *objProto);
00034
Value get(
ExecState *exec,
const Identifier &p)
const;
00035
virtual const ClassInfo *classInfo()
const {
return &info; }
00036
static const ClassInfo info;
00037 };
00038
00039
class ArrayProtoFuncImp :
public InternalFunctionImp {
00040
public:
00041 ArrayProtoFuncImp(
ExecState *exec,
int i,
int len);
00042
00043
virtual bool implementsCall() const;
00044 virtual
Value call(
ExecState *exec,
Object &thisObj, const
List &args);
00045
00046 enum { ToString, ToLocaleString, Concat, Join, Pop, Push,
00047 Reverse, Shift, Slice, Sort, Splice, UnShift };
00048
private:
00049
int id;
00050 };
00051
00052
class ArrayObjectImp :
public InternalFunctionImp {
00053
public:
00054 ArrayObjectImp(
ExecState *exec,
00055
FunctionPrototypeImp *funcProto,
00056 ArrayPrototypeImp *arrayProto);
00057
00058
virtual bool implementsConstruct() const;
00059 virtual
Object construct(
ExecState *exec, const
List &args);
00060 virtual
bool implementsCall() const;
00061 virtual
Value call(
ExecState *exec,
Object &thisObj, const
List &args);
00062
00063 };
00064
00065 }
00066
00067 #endif
This file is part of the documentation for kjs Library Version 3.2.3.