<?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>17018</bug_id>
          
          <creation_ts>2008-01-26 03:38:42 -0800</creation_ts>
          <short_desc>Incorrect code generated from Function.toString for get/setters in object literals</short_desc>
          <delta_ts>2008-02-11 17:04:44 -0800</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>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>darin</cc>
    
    <cc>jruderman</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68285</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-26 03:38:42 -0800</bug_when>
    <thetext>If you have a function:
function f() {
   ({ set g(x){} });
}

Then f.toString will produce incorrect (non-compilable) output as it quotes the identifier string:
function f() {
   ({ set &quot;g&quot;(x){} });
}

Found by jsfunfuzz -- maybe i had recopmilation set to not test these cases when i was running these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68287</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-26 03:58:17 -0800</bug_when>
    <thetext>Fix appears to be
diff --git a/JavaScriptCore/kjs/nodes2string.cpp b/JavaScriptCore/kjs/nodes2string.cpp
index 0432b7f..79a0675 100644
--- a/JavaScriptCore/kjs/nodes2string.cpp
+++ b/JavaScriptCore/kjs/nodes2string.cpp
@@ -370,11 +370,11 @@ void PropertyNode::streamTo(SourceStream&amp; s) const
         case Setter: {
             const FuncExprNode* func = static_cast&lt;const FuncExprNode*&gt;(assign.get());
             if (type == Getter)
-                s &lt;&lt; &quot;get \&quot;&quot;; 
+                s &lt;&lt; &quot;get &quot;; 
             else
-                s &lt;&lt; &quot;set \&quot;&quot;;
+                s &lt;&lt; &quot;set &quot;;
             s &lt;&lt; escapeStringForPrettyPrinting(name().ustring())
-                &lt;&lt; &quot;\&quot;(&quot; &lt;&lt; func-&gt;param &lt;&lt; &apos;)&apos; &lt;&lt; func-&gt;body;
+                &lt;&lt; &quot;(&quot; &lt;&lt; func-&gt;param &lt;&lt; &apos;)&apos; &lt;&lt; func-&gt;body;
             break;
         }
     }


But I can&apos;t see why they were ever escaped strings -- is there a case i am missing where &apos;set &quot;foo&quot;(x)&apos; would be valid?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68288</commentid>
    <comment_count>2</comment_count>
      <attachid>18706</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-26 04:41:26 -0800</bug_when>
    <thetext>Created attachment 18706
Patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68294</commentid>
    <comment_count>3</comment_count>
      <attachid>18706</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-26 08:13:46 -0800</bug_when>
    <thetext>Comment on attachment 18706
Patch!

r=me

What about getters and setters with unusual names?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69013</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-02-01 00:00:44 -0800</bug_when>
    <thetext>Fixed in r29812</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70342</commentid>
    <comment_count>5</comment_count>
    <who name="Jesse Ruderman">jruderman</who>
    <bug_when>2008-02-11 17:04:44 -0800</bug_when>
    <thetext>*** Bug 13621 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18706</attachid>
            <date>2008-01-26 04:41:26 -0800</date>
            <delta_ts>2008-01-26 08:13:46 -0800</delta_ts>
            <desc>Patch!</desc>
            <filename>getterfix.patch</filename>
            <type>text/plain</type>
            <size>3928</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBmNTc5NjM4Li40MTZmYmI3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMDgtMDEtMjYgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggQnVnIDE3MDE4OiBJ
bmNvcnJlY3QgY29kZSBnZW5lcmF0ZWQgZnJvbSBGdW5jdGlvbi50b1N0cmluZyBmb3IgZ2V0L3Nl
dHRlcnMgaW4gb2JqZWN0IGxpdGVyYWxzCisKKyAgICAgICAgRG9uJ3QgcXVvdGUgZ2V0dGVyIGFu
ZCBzZXR0ZXIgbmFtZXMgZHVyaW5nIG91dHB1dCwgYXMgdGhhdCBpcyBzaW1wbHkgd3JvbmcuCisK
KyAgICAgICAgKiBranMvbm9kZXMyc3RyaW5nLmNwcDoKKyAgICAgICAgKEtKUzo6UHJvcGVydHlO
b2RlOjpzdHJlYW1Ubyk6CisKIDIwMDgtMDEtMjYgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcuY3BwIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVz
MnN0cmluZy5jcHAKaW5kZXggMDQzMmI3Zi4uNzlhMDY3NSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUva2pzL25vZGVzMnN0cmluZy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVz
MnN0cmluZy5jcHAKQEAgLTM3MCwxMSArMzcwLDExIEBAIHZvaWQgUHJvcGVydHlOb2RlOjpzdHJl
YW1UbyhTb3VyY2VTdHJlYW0mIHMpIGNvbnN0CiAgICAgICAgIGNhc2UgU2V0dGVyOiB7CiAgICAg
ICAgICAgICBjb25zdCBGdW5jRXhwck5vZGUqIGZ1bmMgPSBzdGF0aWNfY2FzdDxjb25zdCBGdW5j
RXhwck5vZGUqPihhc3NpZ24uZ2V0KCkpOwogICAgICAgICAgICAgaWYgKHR5cGUgPT0gR2V0dGVy
KQotICAgICAgICAgICAgICAgIHMgPDwgImdldCBcIiI7IAorICAgICAgICAgICAgICAgIHMgPDwg
ImdldCAiOyAKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzIDw8ICJzZXQgXCIi
OworICAgICAgICAgICAgICAgIHMgPDwgInNldCAiOwogICAgICAgICAgICAgcyA8PCBlc2NhcGVT
dHJpbmdGb3JQcmV0dHlQcmludGluZyhuYW1lKCkudXN0cmluZygpKQotICAgICAgICAgICAgICAg
IDw8ICJcIigiIDw8IGZ1bmMtPnBhcmFtIDw8ICcpJyA8PCBmdW5jLT5ib2R5OworICAgICAgICAg
ICAgICAgIDw8ICIoIiA8PCBmdW5jLT5wYXJhbSA8PCAnKScgPDwgZnVuYy0+Ym9keTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYwM2FmMmIuLjM2NzgwMTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOC0wMS0yNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0ZXN0IGZvciBnZXR0ZXJzIGFuZCBzZXR0ZXJzIGFzIHBhcnQgb2YgZml4IGZvciBi
dWcgIzE3MDE4CisKKyAgICAgICAgKiBmYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5nLW9iamVjdC1s
aXRlcmFscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMvZnVuY3Rp
b24tdG9TdHJpbmctb2JqZWN0LWxpdGVyYWxzLmpzOgorCiAyMDA4LTAxLTI2ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5nLW9iamVjdC1saXRl
cmFscy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5n
LW9iamVjdC1saXRlcmFscy1leHBlY3RlZC50eHQKaW5kZXggZjBmZDE0NS4uZjk5YzQ3NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi10b1N0cmluZy1vYmplY3QtbGl0
ZXJhbHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZnVuY3Rpb24tdG9T
dHJpbmctb2JqZWN0LWxpdGVyYWxzLWV4cGVjdGVkLnR4dApAQCAtMTcsNiArMTcsOCBAQCBQQVNT
IGNvbXBpbGVBbmRTZXJpYWxpemUoJ2EgPSB7ICIxIjogbnVsbCB9JykgaXMgJ2EgPSB7IDE6IG51
bGwgfScKIFBBU1MgY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgIjFoaSI6IG51bGwgfScpIGlz
ICdhID0geyAiMWhpIjogbnVsbCB9JwogUEFTUyBjb21waWxlQW5kU2VyaWFsaXplKCdhID0geyAi
XCciOiBudWxsIH0nKSBpcyAnYSA9IHsgIlwnIjogbnVsbCB9JwogUEFTUyBjb21waWxlQW5kU2Vy
aWFsaXplKCdhID0geyAiXFwiIjogbnVsbCB9JykgaXMgJ2EgPSB7ICJcXCIiOiBudWxsIH0nCitQ
QVNTIGNvbXBpbGVBbmRTZXJpYWxpemUoJ2EgPSB7IGdldCB4KCkgeyB9IH0nKSBpcyAnYSA9IHsg
Z2V0IHgoKSB7IH0gfScKK1BBU1MgY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgc2V0IHgoeSkg
eyB9IH0nKSBpcyAnYSA9IHsgc2V0IHgoeSkgeyB9IH0nCiBQQVNTIGNvbXBpbGVBbmRTZXJpYWxp
emUoJ2EgPSB7IC0tMTogbnVsbCB9JykgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJz
ZSBlcnJvci4KIFBBU1MgY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgLU5hTjogbnVsbCB9Jykg
dGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvci4KIFBBU1MgY29tcGlsZUFu
ZFNlcmlhbGl6ZSgnYSA9IHsgLTA6IG51bGwgfScpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogUGFyc2UgZXJyb3IuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNl
cy9mdW5jdGlvbi10b1N0cmluZy1vYmplY3QtbGl0ZXJhbHMuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL3Jlc291cmNlcy9mdW5jdGlvbi10b1N0cmluZy1vYmplY3QtbGl0ZXJhbHMuanMKaW5kZXgg
ODc3ZmVjNy4uMWQ2YWQ5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJj
ZXMvZnVuY3Rpb24tdG9TdHJpbmctb2JqZWN0LWxpdGVyYWxzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL2Z1bmN0aW9uLXRvU3RyaW5nLW9iamVjdC1saXRlcmFscy5qcwpA
QCAtMzAsNiArMzAsOSBAQCBzaG91bGRCZSgiY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgXCIx
aGlcIjogbnVsbCB9JykiLCAiJ2EgPSB7IFwiMWhpXCI6IG51bGwgfQogc2hvdWxkQmUoImNvbXBp
bGVBbmRTZXJpYWxpemUoJ2EgPSB7IFwiXFxcJ1wiOiBudWxsIH0nKSIsICInYSA9IHsgXCJcXFwn
XCI6IG51bGwgfSciKTsKIHNob3VsZEJlKCJjb21waWxlQW5kU2VyaWFsaXplKCdhID0geyBcIlxc
XFxcIlwiOiBudWxsIH0nKSIsICInYSA9IHsgXCJcXFxcXCJcIjogbnVsbCB9JyIpOwogCitzaG91
bGRCZSgiY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgZ2V0IHgoKSB7IH0gfScpIiwgIidhID0g
eyBnZXQgeCgpIHsgfSB9JyIpOworc2hvdWxkQmUoImNvbXBpbGVBbmRTZXJpYWxpemUoJ2EgPSB7
IHNldCB4KHkpIHsgfSB9JykiLCAiJ2EgPSB7IHNldCB4KHkpIHsgfSB9JyIpOworCiBzaG91bGRU
aHJvdygiY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgLS0xOiBudWxsIH0nKSIpOwogc2hvdWxk
VGhyb3coImNvbXBpbGVBbmRTZXJpYWxpemUoJ2EgPSB7IC1OYU46IG51bGwgfScpIik7CiBzaG91
bGRUaHJvdygiY29tcGlsZUFuZFNlcmlhbGl6ZSgnYSA9IHsgLTA6IG51bGwgfScpIik7Cg==
</data>
<flag name="review"
          id="8168"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>