[webkit-reviews] review granted: [Bug 16901] Convert remaining JS
function objects to use the new PrototypeFunction class :
[Attachment 18490] patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jan 17 09:17:54 PST 2008
Darin Adler <darin at apple.com> has granted Sam Weinig <sam at webkit.org>'s request
for review:
Bug 16901: Convert remaining JS function objects to use the new
PrototypeFunction class
http://bugs.webkit.org/show_bug.cgi?id=16901
Attachment 18490: patch
http://bugs.webkit.org/attachment.cgi?id=18490&action=edit
------- Additional Comments from Darin Adler <darin at apple.com>
104 if (args.size() > 0)
105 b = args[0]->toBoolean(exec);
106 else
107 b = false;
I know this is not new code, but the check of args.size is entirely unnecessary
because undefined already turns into false.
116 if (args.isEmpty())
117 return jsBoolean(false);
122118 return jsBoolean(args[0]->toBoolean(exec)); /* TODO: optimize for
bool case */
Here too.
48 // Functions
49 JSValue* booleanProtoFuncToString(ExecState*, JSObject*, const List&);
50 JSValue* booleanProtoFuncValueOf(ExecState*, JSObject*, const List&);
49 // Functions
50 JSValue* numberProtoFuncToString(ExecState*, JSObject*, const List&);
51 JSValue* numberProtoFuncToLocaleString(ExecState*, JSObject*, const
List&);
52 JSValue* numberProtoFuncValueOf(ExecState*, JSObject*, const List&);
53 JSValue* numberProtoFuncToFixed(ExecState*, JSObject*, const List&);
54 JSValue* numberProtoFuncToExponential(ExecState*, JSObject*, const
List&);
55 JSValue* numberProtoFuncToPrecision(ExecState*, JSObject*, const
List&);
39 JSValue* regExpProtoFuncTest(ExecState*, JSObject*, const List&);
40 JSValue* regExpProtoFuncExec(ExecState*, JSObject*, const List&);
41 JSValue* regExpProtoFuncCompile(ExecState*, JSObject*, const List&);
42 JSValue* regExpProtoFuncToString(ExecState*, JSObject*, const List&);
These need not be declared in the headers. I suggest the functions be given
internal linkage.
830 JSValue* globalFuncUnEscape(ExecState* exec, JSObject*, const List& args)
This should not have a capital "E". The word "unescape" is a single word.
159 double parseIntOverflow(const char* s, int length, int radix);
Please omit the "s" here.
91 UString pattern = args.isEmpty() ? UString("") :
arg0->toString(exec);
In the future we should investigate if this can be changed to
arg0->isUndefined() instead of args.isEmpty().
r=me
More information about the webkit-reviews
mailing list