1// Copyright 2016 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
5export { myvar, mylet, myconst };
6
7var myvar = "VAR";
8assertEquals("VAR", myvar);
9let mylet = "LET";
10assertEquals("LET", mylet);
11const myconst = "CONST";
12assertEquals("CONST", myconst);
13
14function* gaga() { yield 1 }
15assertEquals(1, gaga().next().value);
16export {gaga};
17export default gaga;
18export {gaga as gigi};
19assertEquals(1, gaga().next().value);
20
21
22export let gugu = 42;
23
24{
25  assertEquals(42, gugu);
26}
27
28try {
29  assertEquals(42, gugu);
30} catch(_) {
31  assertUnreachable();
32}
33
34try {
35  throw {};
36} catch(_) {
37  assertEquals(42, gugu);
38}
39
40try {
41  throw {};
42} catch({x=gugu}) {
43  assertEquals(42, x);
44}
45
46assertEquals(5, eval("var x = 5; x"));
47