FunctionConstructor.h [plain text]
#ifndef FunctionConstructor_h
#define FunctionConstructor_h
#include "InternalFunction.h"
namespace JSC {
class FunctionPrototype;
class FunctionConstructor : public InternalFunction {
public:
typedef InternalFunction Base;
static FunctionConstructor* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, FunctionPrototype* funcPrototype)
{
return new (allocateCell<FunctionConstructor>(*exec->heap())) FunctionConstructor(exec, globalObject, structure, funcPrototype);
}
private:
FunctionConstructor(ExecState*, JSGlobalObject*, Structure*, FunctionPrototype*);
virtual ConstructType getConstructData(ConstructData&);
virtual CallType getCallData(CallData&);
};
JSObject* constructFunction(ExecState*, JSGlobalObject*, const ArgList&, const Identifier& functionName, const UString& sourceURL, int lineNumber);
JSObject* constructFunction(ExecState*, JSGlobalObject*, const ArgList&);
JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState*, JSGlobalObject*, const ArgList&, const Identifier&, const UString&, int lineNumber);
}
#endif // FunctionConstructor_h