v8/test/mjsunit/harmony/regress/regress-4904.js
nikolaos 451fa77235 Re-scope inner scopes in arrow parameter initializers
This patch correctly re-scopes inner scopes that can appear in do
expressions used as initializers to arrow parameters.

R=rossberg@chromium.org
BUG=v8:4904
LOG=N

Review URL: https://codereview.chromium.org/1887743002

Cr-Commit-Position: refs/heads/master@{#35542}
2016-04-15 18:08:31 +00:00

25 lines
753 B
JavaScript

// 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.
// Flags: --harmony-do-expressions
(function testCatchScopeInDoExpression() {
var f = (s = 17, y = do { try { throw 25; } catch(e) { s += e; }; }) => s;
var result = f();
assertEquals(result, 42);
})();
(function testCatchScopeInDoExpression() {
var f = (s = 17, y = do { let t; try { throw 25; } catch(e) { s += e; }; }) => s;
var result = f();
assertEquals(result, 42);
})();
(function testCatchScopeInDoExpression() {
let t1;
var f = (s = 17, y = do { let t2; try { throw 25; } catch(e) { s += e; }; }) => s;
var result = f();
assertEquals(result, 42);
})();