[Webkit-unassigned] [Bug 146934] [ES6] Arrow function syntax. Arrow function should support the destructuring parameters.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 13 11:46:40 PST 2016


https://bugs.webkit.org/show_bug.cgi?id=146934

--- Comment #5 from Saam Barati <sbarati at apple.com> ---
(In reply to comment #4)
> Comment on attachment 268657 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=268657&action=review
> 
> >> Source/JavaScriptCore/parser/Parser.h:1080
> >> +        
> > 
> > This code isn't correct.
> > It won't parse:
> > ```
> > (a, b, {c}, [d], {e, f}) => ...;
> > ```
> > 
> > I suggest an alternate approach here:
> > have this code check if we have the single parameter name with no parens case:
> > ```
> > let x = a=>a;
> > ``` 
> > and otherwise, we already know how to parse "(p1, p2, ...)" style parameter lists
> > in another function in the parser. We should use that same code here. Either we use
> > it directly as is (probably not possible), or we should abstract that code in such a way
> > that this code can use it. That way, we don't have to places in the parser where we parse parameters.
> > 
> > The reason we have this problem in the first place is that we have two places where we parse
> > parameters, lets not make that mistake again.
> 
> I've tried to use function that parse parameters - parseFormalParameters,
> however parseFormalParameters adds parsed parameters to current scope, so I
> had to make face scope to avoid errors. 
> Could you please check if it acceptable?

I think this approach is okay. It's unfortunate we have to create
a scope here, but this is probably the most reliable way to future-proof
this code.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160113/d86cdca9/attachment-0001.html>


More information about the webkit-unassigned mailing list