Bug 141272

Summary: Parser::parseVarDeclarationList gets the wrong JSToken for the last identifier
Product: WebKit Reporter: Saam Barati <saam>
Component: JavaScriptCoreAssignee: Saam Barati <saam>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, fpizlo, ggaren, mark.lam, mhahnenb, msaboff, oliver
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch
none
patch oliver: review+

Saam Barati
Reported 2015-02-04 16:11:15 PST
parseVarDeclarationList will turn its last identifier into a pattern if it's not already a pattern node. But, when doing so, it will pass in the token right after the identifier, not the token corresponding to the identifier.
Attachments
patch (1.29 KB, patch)
2015-02-04 16:55 PST, Saam Barati
no flags
patch (6.44 KB, patch)
2015-02-10 00:33 PST, Saam Barati
oliver: review+
Saam Barati
Comment 1 2015-02-04 16:55:59 PST
Created attachment 246069 [details] patch will upload with changelog later tonight
Brent Fulgham
Comment 2 2015-02-05 09:55:26 PST
Do you have a test case showing this problem so we can avoid hitting it in the future?
Saam Barati
Comment 3 2015-02-06 01:16:00 PST
(In reply to comment #2) > Do you have a test case showing this problem so we can avoid hitting it in > the future? Not directly for asserting the token is at a given location, but the tests I will include when I land: https://bugs.webkit.org/show_bug.cgi?id=141241 will fail if we break the token location. That said, this breakage is dependent on the Type Profiler's internal organization of data using text ranges. This is unlikely to change, but there is no guarantee. Is there a more direct way to assert against the token location of given statement in a JS test?
Darin Adler
Comment 4 2015-02-07 08:16:44 PST
Comment on attachment 246069 [details] patch Bug fix looks good. Needs a change log and a test case.
Saam Barati
Comment 5 2015-02-10 00:33:18 PST
Saam Barati
Comment 6 2015-02-10 11:02:36 PST
Note You need to log in before you can comment on or make changes to this bug.