function_object.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _FUNCTION_OBJECT_H_
00024 #define _FUNCTION_OBJECT_H_
00025
00026 #include "internal.h"
00027 #include "object_object.h"
00028 #include "function.h"
00029
00030 namespace KJS {
00031
00038 class FunctionPrototypeImp : public InternalFunctionImp {
00039 public:
00040 FunctionPrototypeImp(ExecState *exec);
00041 virtual ~FunctionPrototypeImp();
00042
00043 virtual bool implementsCall() const;
00044 virtual Value call(ExecState *exec, Object &thisObj, const List &args);
00045 };
00046
00053 class FunctionProtoFuncImp : public InternalFunctionImp {
00054 public:
00055 FunctionProtoFuncImp(ExecState *exec,
00056 FunctionPrototypeImp *funcProto, int i, int len);
00057
00058 virtual bool implementsCall() const;
00059 virtual Value call(ExecState *exec, Object &thisObj, const List &args);
00060
00061 enum { ToString, Apply, Call };
00062 private:
00063 int id;
00064 };
00065
00071 class FunctionObjectImp : public InternalFunctionImp {
00072 public:
00073 FunctionObjectImp(ExecState *exec, FunctionPrototypeImp *funcProto);
00074 virtual ~FunctionObjectImp();
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 // _FUNCTION_OBJECT_H_
This file is part of the documentation for kdelibs Version 3.1.4.