// 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. function f0(a = eval("var b"), b) { } assertThrows(f0, SyntaxError); function f1(a = eval("var b = 0"), b) { } assertThrows(f1, SyntaxError); function f2(a = eval("function b(){}"), b) { } assertThrows(f2, SyntaxError); function f3(a = eval("{ function b(){} }"), b) { return b } assertEquals(undefined, f3()); function f4(b, a = eval("var b = 0")) { return b } assertThrows(f4, SyntaxError); function f5(b, a = eval("function b(){}")) { return b } assertThrows(f5, SyntaxError); function f6(b, a = eval("{ function b(){} }")) { return b } assertEquals(42, f6(42));