[webkit-changes] [WebKit/WebKit] 8900c3: Function epxression, class expression and template...

Yusuke Suzuki noreply at github.com
Wed Nov 9 14:27:52 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8900c3f92d08991dbd8f95f08d7cd42f8e2d812d
      https://github.com/WebKit/WebKit/commit/8900c3f92d08991dbd8f95f08d7cd42f8e2d812d
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2022-11-09 (Wed, 09 Nov 2022)

  Changed paths:
    A JSTests/stress/class-expression-assignment.js
    A JSTests/stress/function-expression-assignment.js
    A JSTests/stress/template-literal-assignment.js
    M Source/JavaScriptCore/parser/Parser.cpp

  Log Message:
  -----------
  Function epxression, class expression and template literal should reset noLHSCount
https://bugs.webkit.org/show_bug.cgi?id=247606
rdar://102148789

Reviewed by Mark Lam and Justin Michaud.

While they can parse Expression internally, it does not mean that it is involved in the last part of this expression,
since they are PrimaryExpression. Thus we should save and restore noLHSCount for them.

* JSTests/stress/class-expression-assignment.js: Added.
(A):
* JSTests/stress/function-expression-assignment.js: Added.
(a):
* JSTests/stress/template-literal-assignment.js: Added.
* Source/JavaScriptCore/parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClassExpression):
(JSC::Parser<LexerType>::parseFunctionExpression):
(JSC::Parser<LexerType>::parseTemplateLiteral):

Canonical link: https://commits.webkit.org/256500@main




More information about the webkit-changes mailing list