1 // Copyright 2015 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Flags: --harmony-destructuring-bind 6 7 assertThrows(`for(const { method() {} } = this) {}`, SyntaxError); 8 assertThrows(`var { method() {} } = this;`, SyntaxError); 9 assertThrows(`for(const { *method() {} } = this) {}`, SyntaxError); 10 assertThrows(`var { *method() {} } = this;`, SyntaxError); 11 assertThrows(`for(var { get foo() {} } = this) {}`, SyntaxError); 12 assertThrows(`for(var { set foo() {} } = this) {}`, SyntaxError); 13 14 // Still OK in other objects 15 for (var { name = "" + { toString() { return "test" } } } in { a: 1}) break; 16 assertEquals(name, "test"); 17