// 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. 'use strict'; let xxx = 1; let f = undefined; { let inner_x = xxx; f = function() { return inner_x; }; } assertSame(1, f()); xxx = 42; { f = function() { return inner_x1; }; let inner_x1 = xxx; } assertSame(42, f()); xxx = 31; { let inner_x1 = xxx; try { throw new Error(); } catch (e) { f = function() { return inner_x1; }; } } assertSame(31, f());