32 lines
790 B
JavaScript
32 lines
790 B
JavaScript
|
// Copyright 2018 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.
|
||
|
|
||
|
// Tests if class declarations in parameter list are correctly handled.
|
||
|
function v_2(
|
||
|
v_3 = class v_4 {
|
||
|
get [[] = ';']() { }
|
||
|
}
|
||
|
) { }
|
||
|
v_2();
|
||
|
|
||
|
// Test object inside a class in a parameter list
|
||
|
(function f(
|
||
|
v_3 = class v_4 {
|
||
|
get [{} = ';']() { }
|
||
|
}
|
||
|
) { })();
|
||
|
|
||
|
// Test destructuring of class in parameters
|
||
|
(function f( {p, q} = class C { get [[] = ';']() {} } ) {})();
|
||
|
|
||
|
// Test array destructuring of class in parameters
|
||
|
class C {};
|
||
|
C[Symbol.iterator] = function() {
|
||
|
return {
|
||
|
next: function() { return { done: true }; },
|
||
|
_first: true
|
||
|
};
|
||
|
};
|
||
|
(function f1([p, q] = class D extends C { get [[]]() {} }) { })();
|