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.
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.