| Summary: | Deconstruction object pattern node emits the wrong start/end text positions | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Saam Barati <saam> | ||||
| Component: | JavaScriptCore | Assignee: | Saam Barati <saam> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | commit-queue, fpizlo, ggaren | ||||
| Priority: | P2 | ||||||
| Version: | 528+ (Nightly build) | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
Created attachment 237252 [details]
patch
Fixes the problem by caching the JSToken before attempting
to parse an optional colon.
Comment on attachment 237252 [details]
patch
r=me
Comment on attachment 237252 [details] patch Clearing flags on attachment: 237252 Committed r173026: <http://trac.webkit.org/changeset/173026> All reviewed patches have been landed. Closing bug. |
Consider the program: var {x, y} = {x:20, y:50}; If looking at the start/end positions for the binding nodes representing x and y, they will be wrong. "x"s position will be at the first comma "y"s position will be at the first closing brace. This has to do with Parser::createBindingPattern will consume the location from m_token, but at this point, m_token is on the comma/closing brace. createBindingPattern should probably accept a token as its input for which it will get token location information.