test262/test/staging
Luis Fernando Pardo Sixtos 2020cfbe66 [decorators] Support private auto-accessors
Support for the accessor keywords for private class fields as part of
the decorators proposal.

Changes to AST:

- Add an AUTO_ACCESSOR value to the ClassLiteralProperty::Kind enum.
- Add an AutoAccessorInfo class to be used in ClassLiteralProperty
  objects of kind AUTO_ACCESSOR to hold the information about the
  generated getters/setters and backing storage.
- Add AutoAccessorGetterBody and AutoAccessorSetterBody statements to
  implement the logic of generated getters and setters.

Changes to Parser:
- Add logic to parse the "accessor" keyword and throw when used on non
  field class properties.
- Add preparser logic to mock the function scopes and variable
  declarations required for the generated getters/setters.
- Add parser logic to synthetically create statements for the
  generated setters/getters. 

Changes to the Bytecode Generator:
- Add logic to BuildClassLiteral to build auto accessor storage
  private names.
- Add logic to set the generated getters/setters in the accessor pair.
- Add logic to initialize the accessor storage in BuildClassProperty.
- Add AutoAccessorGetterBody and AutoAccessorSetterBody visitors.

Tests:
- Add parsing-unittests for parsing converage.
- Add test262 tests for functionality coverage.
- Add test-debug test for devtools support coverage.

Bug: 42202709
Change-Id: Ibb9bee3bbd0c09341108856f969e0c22bbb8b9cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5547688
Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
Commit-Queue: Luis Pardo <lpardosixtos@microsoft.com>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#95612}
2024-08-13 19:35:08 +02:00
..
ArrayBuffer/resizable Add `Array.prototype.includes` and `exponentiation` features (#3799) 2023-03-23 10:51:08 +01:00
Intl402/Temporal/old Temporal: Fix Japanese era test 2024-07-29 14:17:24 +02:00
JSON Add V8 tests for JSON.parse with source to staging/ (#3806) 2023-03-27 17:21:29 -07:00
Temporal Temporal: Add staging test to check June 2024 API removals 2024-07-05 10:43:53 +02:00
built-ins [test262] Add staging test for RegExp named groups (search) 2024-02-16 18:21:13 +01:00
decorators [decorators] Support private auto-accessors 2024-08-13 19:35:08 +02:00
explicit-resource-management Merge branch 'main' into chromium-export-7eb56ce860 2024-05-19 12:19:57 +02:00
set-methods [test262] Add set method tests to staging 2023-10-27 19:28:54 +02:00
top-level-await Use explicit relative paths 2024-07-10 16:02:53 +02:00
set-is-subset-on-set-like.js [test262] Add staging tests for isSubsetOf set method 2023-11-27 18:49:17 +01:00
set-is-subset-table-receiver-cleared.js [test262] Add staging tests for isSubsetOf set method 2023-11-27 18:49:17 +01:00
set-is-subset-table-transition.js [test262] Add staging tests for isSubsetOf set method 2023-11-27 18:49:17 +01:00