// Copyright 2015 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. assertThrows(`for(const { method() {} } = this) {}`, SyntaxError); assertThrows(`var { method() {} } = this;`, SyntaxError); assertThrows(`for(const { *method() {} } = this) {}`, SyntaxError); assertThrows(`var { *method() {} } = this;`, SyntaxError); assertThrows(`for(var { get foo() {} } = this) {}`, SyntaxError); assertThrows(`for(var { set foo() {} } = this) {}`, SyntaxError); // Still OK in other objects for (var { name = "" + { toString() { return "test" } } } in { a: 1}) break; assertEquals(name, "test");