1// Copyright 2015 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 5// Flags: --harmony-sloppy 6 7 8(function Method() { 9 class C { 10 eval() { 11 return 1; 12 } 13 arguments() { 14 return 2; 15 } 16 static eval() { 17 return 3; 18 } 19 static arguments() { 20 return 4; 21 } 22 }; 23 24 assertEquals(1, new C().eval()); 25 assertEquals(2, new C().arguments()); 26 assertEquals(3, C.eval()); 27 assertEquals(4, C.arguments()); 28})(); 29 30 31(function Getters() { 32 class C { 33 get eval() { 34 return 1; 35 } 36 get arguments() { 37 return 2; 38 } 39 static get eval() { 40 return 3; 41 } 42 static get arguments() { 43 return 4; 44 } 45 }; 46 47 assertEquals(1, new C().eval); 48 assertEquals(2, new C().arguments); 49 assertEquals(3, C.eval); 50 assertEquals(4, C.arguments); 51})(); 52 53 54(function Setters() { 55 var x = 0; 56 class C { 57 set eval(v) { 58 x = v; 59 } 60 set arguments(v) { 61 x = v; 62 } 63 static set eval(v) { 64 x = v; 65 } 66 static set arguments(v) { 67 x = v; 68 } 69 }; 70 71 new C().eval = 1; 72 assertEquals(1, x); 73 new C().arguments = 2; 74 assertEquals(2, x); 75 C.eval = 3; 76 assertEquals(3, x); 77 C.arguments = 4; 78 assertEquals(4, x); 79})(); 80