Bug 188952

Summary: output of toString() of Generator is wrong
Product: WebKit Reporter: sunlili
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, fpizlo, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch saam: review+

sunlili
Reported 2018-08-26 00:30:00 PDT
Executing following code : -------------------------------------- var f = function* () {} print(f.toString()); -------------------------------------- Output of JavaScriptCore is : function () {} However, the output should be : function* () {} BT group 2018.08.26
Attachments
Patch (11.48 KB, patch)
2018-08-30 11:09 PDT, Yusuke Suzuki
saam: review+
Yusuke Suzuki
Comment 1 2018-08-30 11:09:56 PDT
Saam Barati
Comment 2 2018-08-30 11:12:02 PDT
Comment on attachment 348511 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348511&action=review r=me > Source/JavaScriptCore/runtime/FunctionPrototype.cpp:136 > + case SourceParseMode::AsyncGeneratorWrapperMethodMode: Shouldn't this async generator method be "async* " since that's the syntax?
Yusuke Suzuki
Comment 3 2018-08-30 12:04:13 PDT
Comment on attachment 348511 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348511&action=review Thanks! >> Source/JavaScriptCore/runtime/FunctionPrototype.cpp:136 >> + case SourceParseMode::AsyncGeneratorWrapperMethodMode: > > Shouldn't this async generator method be "async* " since that's the syntax? Right now, we always emit `async function* ...` even for async generator methods, as we emit `function xxx() { }` for methods. When https://tc39.github.io/Function-prototype-toString-revision/ is integrated into JSC, we should revisit these cases.
Yusuke Suzuki
Comment 4 2018-08-30 12:06:27 PDT
Radar WebKit Bug Importer
Comment 5 2018-08-31 08:56:34 PDT
Note You need to log in before you can comment on or make changes to this bug.