Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c99e9b77dcb663545aed3758bacae744a6b3ecd9
      
https://github.com/WebKit/WebKit/commit/c99e9b77dcb663545aed3758bacae744a6b3ecd9
  Author: Ross Kirsling <rkirsl...@gmail.com>
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
    A JSTests/stress/function-name-property.js
    M Source/JavaScriptCore/parser/Parser.cpp

  Log Message:
  -----------
  [JSC] Align Function#name behavior with spec
https://bugs.webkit.org/show_bug.cgi?id=247725

Reviewed by Yusuke Suzuki.

This patch fixes two bugs in our Function#name implementation, which were 
reported in the same BZ issue
(each is due to misalignment between object literals and class bodies -- one 
issue in each direction):

1. `class C { async ['f']() {} }`
   Async class methods with computed names were given the function name "async",
   because we were storing the async identifier *anytime* we encountered it.

2. `{ 0: () => {} }`
   Object literal function properties with Number literal names were given an 
empty function name (as would
   be correct behavior for Array). Incidentally, BigInt literal names were 
already behaving properly here.

* JSTests/stress/function-name-property.js: Added.
* Source/JavaScriptCore/parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to