1// Copyright JS Foundation and other contributors, http://js.foundation
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15var a = {get a(){return undefined}, set a(b){}}
16
17var b = {if:0, else:1, try:2, catch:3, finally:4, let:5}
18
19assert (b.if + b.else + b.try + b.catch + b.finally + b.let === 15)
20
21function c() {
22  "use strict"
23  var b = {let:15, enum:10}
24  assert (b.let + b.enum === 25)
25}
26c();
27
28function d () {
29  "use strict";
30
31  try {
32    /* 'let' is a FutureReservedWord in strict mode code */
33    eval ('var a = { get prop () { let = 1; } }');
34    assert (false);
35  } catch (e) {
36    assert (e instanceof SyntaxError);
37  }
38}
39d ();
40