Fixed <rdar://problem/
3682340> (error console does not include source urls or line numbers of event exceptions).
* kjs/function_object.cpp:
(FunctionObjectImp::construct):
* kjs/function_object.h:
* kjs/object.cpp:
(KJS::ObjectImp::construct):
* kjs/object.h:
(KJS::Object::construct):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2004-07-22 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Darin
+
+ Fixed <rdar://problem/3682340> (error console does not include source urls or line numbers of event exceptions).
+
+ * kjs/function_object.cpp:
+ (FunctionObjectImp::construct):
+ * kjs/function_object.h:
+ * kjs/object.cpp:
+ (KJS::ObjectImp::construct):
+ * kjs/object.h:
+ (KJS::Object::construct):
+
2004-07-21 Darin Adler <darin@apple.com>
* bindings/npruntime.h: Fixed typo.
}
// ECMA 15.3.2 The Function Constructor
-Object FunctionObjectImp::construct(ExecState *exec, const List &args)
+Object FunctionObjectImp::construct(ExecState *exec, const List &args, const UString &sourceURL, int lineNumber)
{
UString p("");
UString body;
int sid;
int errLine;
UString errMsg;
- ProgramNode *progNode = Parser::parse(UString(), 0, body.data(),body.size(),&sid,&errLine,&errMsg);
+ ProgramNode *progNode = Parser::parse(sourceURL, lineNumber, body.data(),body.size(),&sid,&errLine,&errMsg);
// notify debugger that source has been parsed
Debugger *dbg = exec->dynamicInterpreter()->imp()->debugger();
return ret;
}
+// ECMA 15.3.2 The Function Constructor
+Object FunctionObjectImp::construct(ExecState *exec, const List &args)
+{
+ return FunctionObjectImp::construct(exec, args, UString(), 0);
+}
+
+
bool FunctionObjectImp::implementsCall() const
{
return true;
virtual ~FunctionObjectImp();
virtual bool implementsConstruct() const;
+ virtual Object construct(ExecState *exec, const List &args, const UString &sourceURL, int lineNumber);
virtual Object construct(ExecState *exec, const List &args);
virtual bool implementsCall() const;
virtual Value call(ExecState *exec, Object &thisObj, const List &args);
return Object(0);
}
+Object ObjectImp::construct(ExecState *exec, const List &args, const UString &/*sourceURL*/, int /*lineNumber*/)
+{
+ return construct(exec, args);
+}
+
bool ObjectImp::implementsCall() const
{
return false;
* @return The newly created & initialized object
*/
Object construct(ExecState *exec, const List &args);
+ Object construct(ExecState *exec, const List &args, const UString &sourceURL, int lineNumber);
/**
* Whether or not the object implements the call() method. If this returns
* @see Object::construct()
*/
virtual Object construct(ExecState *exec, const List &args);
+ virtual Object construct(ExecState *exec, const List &args, const UString &sourceURL, int lineNumber);
virtual bool implementsCall() const;
/**
inline Object Object::construct(ExecState *exec, const List &args)
{ return imp()->construct(exec,args); }
+
+ inline Object Object::construct(ExecState *exec, const List &args, const UString &sourceURL, int lineNumber)
+ { return imp()->construct(exec,args,sourceURL,lineNumber); }
inline bool Object::implementsCall() const
{ return imp()->implementsCall(); }