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