<?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>171543</bug_id>
          
          <creation_ts>2017-05-02 01:36:55 -0700</creation_ts>
          <short_desc>[ES6] Arrow function. Issue in access to this after eval(&apos;super()&apos;) within constructor</short_desc>
          <delta_ts>2017-05-06 10:16:17 -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>WebKit 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>
          
          <blocked>171274</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="GSkachkov">gskachkov</reporter>
          <assigned_to name="GSkachkov">gskachkov</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1303618</commentid>
    <comment_count>0</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2017-05-02 01:36:55 -0700</bug_when>
    <thetext>Hmm, during investigation error 171274 I faced in error in binding `this` &amp; superCall in arrow function.
```
class A extends Object {
    constructor () {
        var arrow = () =&gt; { eval(&apos;super()&apos;); print(this.id);} 
        arrow();
    }
};

new A // ReferenceError: Cannot access uninitialized variable. But should be OK.
```
Before I was sure that we always load `this` from virtual scope in arrow function within constructor, but it is not true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303756</commentid>
    <comment_count>1</comment_count>
      <attachid>308841</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2017-05-02 12:34:37 -0700</bug_when>
    <thetext>Created attachment 308841
Patch

Uplaoded fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305569</commentid>
    <comment_count>2</comment_count>
      <attachid>308841</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-06 09:47:14 -0700</bug_when>
    <thetext>Comment on attachment 308841
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305574</commentid>
    <comment_count>3</comment_count>
      <attachid>308841</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-06 10:16:15 -0700</bug_when>
    <thetext>Comment on attachment 308841
Patch

Clearing flags on attachment: 308841

Committed r216329: &lt;http://trac.webkit.org/changeset/216329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305575</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-06 10:16:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308841</attachid>
            <date>2017-05-02 12:34:37 -0700</date>
            <delta_ts>2017-05-06 10:16:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171543-20170502223435.patch</filename>
            <type>text/plain</type>
            <size>4271</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
OGNmOWYxMjAwZGE3Zjc4NmNjMTJjMGMxY2NhNDA3ZTIwOGYwZWEwLi43NzA0NWFkOTI0ZjM2NWZk
NmEyN2M1ZDUzNjBiODM1NzYyNzFlNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0wNS0wMiAgT2xla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBBcnJvdyBmdW5jdGlvbi4gSXNzdWUgaW4gYWNjZXNz
IHRvIHRoaXMgYWZ0ZXIgZXZhbCgnc3VwZXIoKScpIHdpdGhpbiBjb25zdHJ1Y3RvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNTQzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudCBwYXRjaCBm
b3JjZSB0byB1c2UgJ3RoaXMnIHdpdGhpbiBhcnJvdyBmdW5jdGlvbiBvciBldmFsIAorICAgICAg
ICBmcm9tIHZpcnR1YWwgc2NvcGUgZWFjaCB0aW1lLCBpbnN0ZWFkIG9mIHVzaW5nIHRoaXNSZWdp
c3Rlci4KKworICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6Cisg
ICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbnN1cmVUaGlzKToKKwogMjAxNy0wNC0z
MCAgT2xla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KIAogICAgICAgICBX
ZSBpbml0aWFsaXplIGZ1bmN0aW9ucyB0b28gZWFybHkgaW4gYW4gZXZhbApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cAppbmRleCBjNzA0MTViZTUzOWYxMzNiNzc0OGEzZTYxMTAzNDcxMzljOGZjYmFkLi4xNTg1ZTEz
OTJmMWQyM2E4MmMzYTQ2NDEwMTVhYzM4NzA5OWQ4NmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAt
NDYwMyw3ICs0NjAzLDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRMb2Fk
RGVyaXZlZENvbnN0cnVjdG9yRnJvbUFycm93RnVuY3Rpb25MZXhpY2EKIAogUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVuc3VyZVRoaXMoKQogewotICAgIGlmIChjb25zdHJ1Y3Rvcktp
bmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkV4dGVuZHMgJiYgbmVlZHNUb1VwZGF0ZUFycm93RnVu
Y3Rpb25Db250ZXh0KCkgJiYgaXNTdXBlckNhbGxVc2VkSW5Jbm5lckFycm93RnVuY3Rpb24oKSkK
KyAgICBpZiAoKGNvbnN0cnVjdG9yS2luZCgpID09IENvbnN0cnVjdG9yS2luZDo6RXh0ZW5kcyB8
fCBpc0Rlcml2ZWRDb25zdHJ1Y3RvckNvbnRleHQoKSkgICYmIG5lZWRzVG9VcGRhdGVBcnJvd0Z1
bmN0aW9uQ29udGV4dCgpICYmIGlzU3VwZXJDYWxsVXNlZEluSW5uZXJBcnJvd0Z1bmN0aW9uKCkp
CiAgICAgICAgIGVtaXRMb2FkVGhpc0Zyb21BcnJvd0Z1bmN0aW9uTGV4aWNhbEVudmlyb25tZW50
KCk7CiAKICAgICBpZiAoY29uc3RydWN0b3JLaW5kKCkgPT0gQ29uc3RydWN0b3JLaW5kOjpFeHRl
bmRzIHx8IGlzRGVyaXZlZENvbnN0cnVjdG9yQ29udGV4dCgpKQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA0MDQ2MDI3MmExMmY5MzkxZDcx
YmVmNDlhMDg5MTc2NzE3ZDRhMGY0Li42ZDExMjNmNTVhZDJhMmJmN2FmMzUxMWZlNjVhYzIxMzBh
NzJjZjZmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA1LTAyICBPbGVrc2FuZHIgU2thY2hrb3YgIDxn
c2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFycm93IGZ1bmN0aW9uLiBJc3N1
ZSBpbiBhY2Nlc3MgdG8gdGhpcyBhZnRlciBldmFsKCdzdXBlcigpJykgd2l0aGluIGNvbnN0cnVj
dG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE1
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0
cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYmluZC1zdXBlcmNhbGwtNC5qczoKKyAgICAgICAg
KEopOgorICAgICAgICAoSyk6CisKIDIwMTctMDQtMzAgIE9sZWtzYW5kciBTa2FjaGtvdiAgPGdz
a2FjaGtvdkBnbWFpbC5jb20+CiAKICAgICAgICAgV2UgaW5pdGlhbGl6ZSBmdW5jdGlvbnMgdG9v
IGVhcmx5IGluIGFuIGV2YWwKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tbGV4aWNhbC1iaW5kLXN1cGVyY2FsbC00LmpzIGIvSlNUZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1sZXhpY2FsLWJpbmQtc3VwZXJjYWxsLTQuanMKaW5kZXggMjFkOGYxOThhN2JhNWI5ZDQ2
YjE5Njc5MWQ0ZmQyOWRjNDllNzI2Yy4uZmI4ODdjMjZhZTFhZDEyNjIyMDliOGVmZjAwZjg0YTEx
NDRiZTM1MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2Fs
LWJpbmQtc3VwZXJjYWxsLTQuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLWJpbmQtc3VwZXJjYWxsLTQuanMKQEAgLTUsNiArNSw3IEBAIHZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CiB9OwogCiB2YXIgdGVzdFZh
bHVlICA9ICd0ZXN0LXZhbHVlJzsKK3ZhciB0ZXN0SWRWYWx1ZSAgPSAndGVzdC1pZC12YWx1ZSc7
CiAKIHZhciBBID0gY2xhc3MgQSB7CiAgICAgY29uc3RydWN0b3IoKSB7CkBAIC0xNjAsMyArMTYx
LDM4IEBAIHRlc3RDYXNlKGljLmlkVmFsdWUsIHRlc3RWYWx1ZSwgJ0Vycm9yOiBub3QgY29ycmVj
dCBiaW5kaW5nIHN1cGVyUHJvcGVydHkmdGhpcyBpCiBmb3IgKHZhciBpPTA7IGkgPCAxMDAwOyBp
KyspIHsKICAgICB0ZXN0RXhjZXB0aW9uKEksIGZhbHNlLCBpKTsKIH0KKworY2xhc3MgSiBleHRl
bmRzIEEgeworICAgIGNvbnN0cnVjdG9yIChiZWZvcmVTdXBlcikgeworICAgICAgaWYgKGJlZm9y
ZVN1cGVyKSB7CisgICAgICAgIGNvbnN0IGFyciA9ICgpID0+IHsgZXZhbCgnc3VwZXIoKScpOyAg
dGhpcy5faWQgPSB0ZXN0SWRWYWx1ZTsgfTsKKyAgICAgICAgYXJyKCk7CisgICAgICB9CisgICAg
ICB0ZXN0Q2FzZSh0aGlzLmlkVmFsdWUsIHRlc3RWYWx1ZSwgIkVycm9yOiBzdXBlcigpIHNob3Vs
ZCBjcmVhdGUgdGhpcyBhbmQgcHV0IHZhbHVlIGludG8gaWRWYWx1ZSBwcm9wZXJ0eSIpOworICAg
IH0KK307CisKK2xldCBqYyA9IG5ldyBKKHRydWUpOwordGVzdENhc2UoamMuaWRWYWx1ZSwgdGVz
dFZhbHVlLCAnRXJyb3I6IG5vdCBjb3JyZWN0IGJpbmRpbmcgc3VwZXJQcm9wZXJ0eSZ0aGlzIGlu
IGNvbnN0cnVjdG9yJyk7CisKK2ZvciAodmFyIGk9MDsgaSA8IDEwMDA7IGkrKykgeworICAgIHRl
c3RFeGNlcHRpb24oSiwgZmFsc2UsIGkpOworfQorCitjbGFzcyBLIGV4dGVuZHMgQSB7CisgICAg
Y29uc3RydWN0b3IgKGJlZm9yZVN1cGVyKSB7CisgICAgICBpZiAoYmVmb3JlU3VwZXIpIHsKKyAg
ICAgICAgY29uc3QgYXJyID0gKCkgPT4geyAoKCkgPT4gKCkgPT4gZXZhbCgnc3VwZXIoKScpKSgp
KCk7ICAoKCkgPT4geyB0aGlzLl9pZCA9IHRlc3RJZFZhbHVlOyB9KSgpOyB9OworICAgICAgICBh
cnIoKTsKKyAgICAgIH0KKyAgICAgICAgdGVzdENhc2UodGhpcy5pZFZhbHVlLCB0ZXN0VmFsdWUs
ICJFcnJvcjogc3VwZXIoKSBzaG91bGQgY3JlYXRlIHRoaXMgYW5kIHB1dCB2YWx1ZSBpbnRvIGlk
VmFsdWUgcHJvcGVydHkiKTsKKyAgICB9Cit9OworCitsZXQga2MgPSBuZXcgSyh0cnVlKTsKK3Rl
c3RDYXNlKGtjLmlkVmFsdWUsIHRlc3RWYWx1ZSwgJ0Vycm9yOiBub3QgY29ycmVjdCBiaW5kaW5n
IHN1cGVyUHJvcGVydHkmdGhpcyBpbiBjb25zdHJ1Y3RvcicpOworCitmb3IgKHZhciBpPTA7IGkg
PCAxMDAwOyBpKyspIHsKKyAgICB0ZXN0RXhjZXB0aW9uKEssIGZhbHNlLCBpKTsKK30KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>