<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>136304</bug_id>
          
          <creation_ts>2014-08-27 13:28:01 -0700</creation_ts>
          <short_desc>Deconstruction object pattern node emits the wrong start/end text positions</short_desc>
          <delta_ts>2014-08-27 15:34:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031758</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2014-08-27 13:28:01 -0700</bug_when>
    <thetext>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.
&quot;x&quot;s position will be at the first comma
&quot;y&quot;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031781</commentid>
    <comment_count>1</comment_count>
      <attachid>237252</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2014-08-27 14:22:26 -0700</bug_when>
    <thetext>Created attachment 237252
patch

Fixes the problem by caching the JSToken before attempting
to parse an optional colon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031795</commentid>
    <comment_count>2</comment_count>
      <attachid>237252</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-08-27 14:57:38 -0700</bug_when>
    <thetext>Comment on attachment 237252
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031815</commentid>
    <comment_count>3</comment_count>
      <attachid>237252</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-27 15:34:19 -0700</bug_when>
    <thetext>Comment on attachment 237252
patch

Clearing flags on attachment: 237252

Committed r173026: &lt;http://trac.webkit.org/changeset/173026&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031816</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-27 15:34:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237252</attachid>
            <date>2014-08-27 14:22:26 -0700</date>
            <delta_ts>2014-08-27 15:34:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>5462</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTczMDE2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDE0LTA4LTI3ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IERlY29uc3RydWN0aW9uIG9iamVjdCBwYXR0ZXJuIG5vZGUgZW1pdHMgdGhlIHdyb25nIHN0YXJ0
L2VuZCB0ZXh0IHBvc2l0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM2MzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgT2JqZWN0IHBhdHRlcm4gbm9kZXMgdGhhdCB1c2VkIHRoZSBzeW50YWN0aWMg
c3VnYXIgYmluZGluZzogCisgICAgICAgICd2YXIge2Zvb30gPSB7Zm9vOjIwfScgaW5zdGVhZCBv
ZiAndmFyIHtmb286Zm9vfSA9IHtmb286MjB9JyAKKyAgICAgICAgd291bGQgZ2V0IHRoZSB3cm9u
ZyB0ZXh0IHBvc2l0aW9uIGZvciB2YXJpYWJsZSAnZm9vJy4gVGhlIHBvc2l0aW9uIAorICAgICAg
ICB3b3VsZCBiZSBwbGFjZWQgb24gdGhlIGNvbW1hKHMpL2Nsb3NpbmcgYnJhY2UgaW5zdGVhZCBv
ZiB0aGUgaWRlbnRpZmllci4gCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBidWcgYnkg
Y2FjaGluZyB0aGUgaWRlbnRpZmllcidzIEpTVG9rZW4gYmVmb3JlIAorICAgICAgICB0cnlpbmcg
dG8gcGFyc2UgYW4gb3B0aW9uYWwgY29sb24uCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNw
cDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyRGVjbGFyYXRpb25M
aXN0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZUJpbmRpbmdQYXR0
ZXJuKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisKIDIwMTQtMDgtMjcgIEp1
bGllbiBCcmlhbmNlYXUgICA8amJyaWFuY2VAY2lzY28uY29tPgogCiAgICAgICAgIFRha2UgYWR2
YW50YWdlIG9mIDMgcGFyYW1ldGVycyBvcjMyKCkgY2FsbHMKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAJKHJldmlzaW9uIDE3MzAwOCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDk4LDEyICs0
OTgsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzcwogICAgICAg
ICAgICAgdmFyRGVjbHMgPSBjb250ZXh0LmNvbWJpbmVDb21tYU5vZGVzKGxvY2F0aW9uLCB2YXJE
ZWNscywgbm9kZSk7CiAgICAgfSB3aGlsZSAobWF0Y2goQ09NTUEpKTsKICAgICBpZiAobGFzdElk
ZW50KQotICAgICAgICBsYXN0UGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQs
IERlY29uc3RydWN0VG9WYXJpYWJsZXMsICpsYXN0SWRlbnQsIDApOworICAgICAgICBsYXN0UGF0
dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9WYXJpYWJs
ZXMsICpsYXN0SWRlbnQsIDAsIG1fdG9rZW4pOwogICAgIHJldHVybiB2YXJEZWNsczsKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlQmlu
ZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImIGNvbnRleHQsIERlY29uc3RydWN0aW9uS2luZCBraW5k
LCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBpbnQgZGVwdGgpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNy
ZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBEZWNvbnN0cnVjdGlvbktp
bmQga2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwgaW50IGRlcHRoLCBKU1Rva2VuIHRva2Vu
KQogewogICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkpOwogICAgIEFTU0VSVCghbmFtZS5pc051
bGwoKSk7CkBAIC01NTIsNyArNTUyLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRGVjb25zdAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbihtX3Rva2VuLm1fbG9jYXRpb24sIG5hbWUsIG1f
dG9rZW4ubV9zdGFydFBvc2l0aW9uLCBtX3Rva2VuLm1fZW5kUG9zaXRpb24pOworICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0
b2tlbi5tX3N0YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgpAQCAtNjEwLDExICs2MTAsMTIgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdAogICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9u
IGxvY2F0aW9uID0gbV90b2tlbi5tX2xvY2F0aW9uOwogICAgICAgICAgICAgaWYgKG1hdGNoKElE
RU5UKSkgewogICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZSA9ICptX3Rva2VuLm1fZGF0YS5p
ZGVudDsKKyAgICAgICAgICAgICAgICBKU1Rva2VuIGlkZW50aWZpZXJUb2tlbiA9IG1fdG9rZW47
CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgICAgIGlmIChjb25zdW1lKENP
TE9OKSkKICAgICAgICAgICAgICAgICAgICAgaW5uZXJQYXR0ZXJuID0gcGFyc2VEZWNvbnN0cnVj
dGlvblBhdHRlcm4oY29udGV4dCwga2luZCwgZGVwdGggKyAxKTsKICAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgIGlubmVyUGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0
ZXJuKGNvbnRleHQsIGtpbmQsIHByb3BlcnR5TmFtZSwgZGVwdGgpOworICAgICAgICAgICAgICAg
ICAgICBpbm5lclBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBw
cm9wZXJ0eU5hbWUsIGRlcHRoLCBpZGVudGlmaWVyVG9rZW4pOwogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlw
ZTsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC02NjUsNyAr
NjY2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdAogICAgICAg
ICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKCJ2YXJpYWJsZSBuYW1lIik7CiAgICAg
ICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFyYW1ldGVyIHBhdHRlcm4gb3Ig
YSAnKScgaW4gcGFyYW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQotICAgICAgICBwYXR0ZXJuID0g
Y3JlYXRlQmluZGluZ1BhdHRlcm4oY29udGV4dCwga2luZCwgKm1fdG9rZW4ubV9kYXRhLmlkZW50
LCBkZXB0aCk7CisgICAgICAgIHBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0
LCBraW5kLCAqbV90b2tlbi5tX2RhdGEuaWRlbnQsIGRlcHRoLCBtX3Rva2VuKTsKICAgICAgICAg
bmV4dCgpOwogICAgICAgICBicmVhazsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmgJKHJldmlzaW9uIDE3MzAwOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyNyw3ICs3MjcsNyBAQCBwcml2
YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFy
c2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0
SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYg
aW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERl
Y2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBjcmVhdGVCaW5k
aW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgY29uc3QgSWRlbnRp
ZmllciYsIGludCBkZXB0aCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihU
cmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBk
ZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVy
bihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1
aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBi
b29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMs
IEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBjb25zdCBJ
ZGVudGlmaWVyKiYsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0JiwgVHJlZUZ1bmN0aW9uQm9keSYs
IHVuc2lnbmVkJiBvcGVuQnJhY2VPZmZzZXQsIHVuc2lnbmVkJiBjbG9zZUJyYWNlT2Zmc2V0LCBp
bnQmIGJvZHlTdGFydExpbmUsIHVuc2lnbmVkJiBib2R5U3RhcnRDb2x1bW4pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>