<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:caitp&#64;igalia.com" title="Caitlin Potter (:caitp) &lt;caitp&#64;igalia.com&gt;"> <span class="fn">Caitlin Potter (:caitp)</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [JSC] Implement parsing of Async Functions"
   href="https://bugs.webkit.org/show_bug.cgi?id=161409">bug 161409</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Attachment #289289 is obsolete</td>
           <td>1
           </td>
           <td>
               &nbsp;
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [JSC] Implement parsing of Async Functions"
   href="https://bugs.webkit.org/show_bug.cgi?id=161409#c36">Comment # 36</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [JSC] Implement parsing of Async Functions"
   href="https://bugs.webkit.org/show_bug.cgi?id=161409">bug 161409</a>
              from <span class="vcard"><a class="email" href="mailto:caitp&#64;igalia.com" title="Caitlin Potter (:caitp) &lt;caitp&#64;igalia.com&gt;"> <span class="fn">Caitlin Potter (:caitp)</span></a>
</span></b>
        <pre>Comment on <span class=""><a href="attachment.cgi?id=289289&amp;action=diff" name="attach_289289" title="Async Function Parsing v5">attachment 289289</a> <a href="attachment.cgi?id=289289&amp;action=edit" title="Async Function Parsing v5">[details]</a></span>
Async Function Parsing v5

View in context: <a href="https://bugs.webkit.org/attachment.cgi?id=289289&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=289289&amp;action=review</a>

I've uploaded the patch instead of manually committing, I'd like someone to sign off on the changes to build-jsc, just in case it's not quite right (and I haven't tested the cmake build for it at all)

<span class="quote">&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:3174
&gt;&gt; +            ExpressionErrorClassifier classifier(this);
&gt; 
&gt; Is this necessary? parseAssignmentExpression(context) has ExpressionErrorClassifier inside it.</span >

Acknowledged

<span class="quote">&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:3522
&gt;&gt; +    // AwaitExpression desugared to YieldExpression
&gt; 
&gt; This comment is not necessary.</span >

Acknowledged

<span class="quote">&gt;&gt; Source/JavaScriptCore/parser/Parser.h:320
&gt;&gt; +    }
&gt; 
&gt; What is the purpose of this `isModule()`?</span >

m_moduleScopeData used to be a member of Scope, so this made sense back then. I've gotten rid of this method, and just check if the one in the parser is null or not instead.

This seems to fix a bug where modules allow &quot;await&quot; as an identifier in nested functions (which was incorrect per <a href="https://tc39.github.io/ecma262/#prod-FutureReservedWord">https://tc39.github.io/ecma262/#prod-FutureReservedWord</a>)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>