// Copyright 2019 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Test the reindexer visiting classes, avoiding repeat visits of the same // function. // // For each test, create function literals inside a class, where the functions // have to be reindexed due to the whole thing being inside an arrow head scope. ((arg = (function wrapper() { // Class with field that has computed property name with a function in the // computation. class g { [{b: function in_computed_field_name() {}}] } })) => {})(); ((arg = (function wrapper() { // Class with initialized field that has computed property name with a // function in the computation. class g { [{b: function in_computed_field_name_with_init() {}}] = "" } })) => {})(); ((arg = (function wrapper() { // Class with initialized field that has literal property name with a function // in the initializer value. class g { b = (function in_init_value_of_field(){})() } })) => {})(); ((arg = (function wrapper() { // Class with initialized field that has private property name with a function // in the initializer value. class g { #b = (function in_init_value_of_private_field(){})() } })) => {})(); ((arg = (function wrapper() { // Class with initialized field that has computed property name with a // function in the initializer value. class g { ["b"] = (function in_init_value_of_computed_field_name(){})() } })) => {})(); ((arg = (function wrapper() { // Class with method that has computed property name with a function in the // computation. class g { [{b: function in_computed_method_name() {}}] () {} } })) => {})(); ((arg = (function wrapper() { // Class with method that has an argument with a default function init. class g { b(arg = function in_method_arg_default_init() {}) {} } })) => {})(); ((arg = (function wrapper() { // Class with method that has a computed property name and an argument with a // default function init. class g { ["b"] (arg = function in_computed_method_arg_default_init() {}) {} } })) => {})();