| OLD | NEW | 
|     1 // Copyright 2014 the V8 project authors. All rights reserved. |     1 // Copyright 2014 the V8 project authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 // Flags: --harmony-classes |     5 // Flags: --harmony-classes --allow-natives-syntax | 
|     6  |     6  | 
|     7 (function TestSuperNamedLoads() { |     7 (function TestSuperNamedLoads() { | 
|     8   function Base() { } |     8   function Base() { } | 
|     9   function fBase() { } |     9   function fBase() { } | 
|    10   Base.prototype = { |    10   Base.prototype = { | 
|    11     f() { |    11     f() { | 
|    12       return "Base " + this.toString(); |    12       return "Base " + this.toString(); | 
|    13     }, |    13     }, | 
|    14     x: 15, |    14     x: 15, | 
|    15     toString() { |    15     toString() { | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
|    33       return "Derived"; |    33       return "Derived"; | 
|    34     } |    34     } | 
|    35   }; |    35   }; | 
|    36  |    36  | 
|    37   assertEquals("Base this is Base", new Base().f()); |    37   assertEquals("Base this is Base", new Base().f()); | 
|    38   assertEquals("Derived", new Derived().f()); |    38   assertEquals("Derived", new Derived().f()); | 
|    39 }()); |    39 }()); | 
|    40  |    40  | 
|    41  |    41  | 
|    42 (function TestSuperKeyedLoads() { |    42 (function TestSuperKeyedLoads() { | 
 |    43   'use strict'; | 
 |    44  | 
|    43   var x = 'x'; |    45   var x = 'x'; | 
|    44   var derivedDataProperty = 'derivedDataProperty'; |    46   var derivedDataProperty = 'derivedDataProperty'; | 
|    45   var f = 'f'; |    47   var f = 'f'; | 
|    46  |    48  | 
|    47   function Base() { } |    49   class Base { | 
|    48   function fBase() { return "Base " + this.toString(); } |    50     f() { | 
|    49   Base.prototype[f] = fBase.toMethod(Base.prototype); |    51       return "Base " + this.toString(); | 
 |    52     } | 
 |    53     toString() { | 
 |    54       return "this is Base"; | 
 |    55     } | 
 |    56   } | 
 |    57  | 
|    50   Base.prototype[x] = 15; |    58   Base.prototype[x] = 15; | 
|    51   Base.prototype.toString = function() { return "this is Base"; }; |  | 
|    52  |    59  | 
|    53   function Derived() { |    60   function Derived() { | 
|    54     this[derivedDataProperty] = "xxx"; |    61     this[derivedDataProperty] = "xxx"; | 
|    55   } |    62   } | 
|    56   Derived.prototype = { |    63   Derived.prototype = { | 
|    57     __proto__: Base.prototype, |    64     __proto__: Base.prototype, | 
|    58     toString() { return "this is Derived"; }, |    65     toString() { return "this is Derived"; }, | 
|    59     x: 27, |    66     x: 27, | 
|    60     f() { |    67     f() { | 
|    61       assertEquals("Base this is Derived", super[f]()); |    68       assertEquals("Base this is Derived", super[f]()); | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|    72 }()); |    79 }()); | 
|    73  |    80  | 
|    74  |    81  | 
|    75 (function TestSuperNumericKeyedLoads() { |    82 (function TestSuperNumericKeyedLoads() { | 
|    76   var x = 1; |    83   var x = 1; | 
|    77   var derivedDataProperty = 2; |    84   var derivedDataProperty = 2; | 
|    78   var f = 3; |    85   var f = 3; | 
|    79  |    86  | 
|    80   function Base() { } |    87   function Base() { } | 
|    81   function fBase() { return "Base " + this.toString(); } |    88   function fBase() { return "Base " + this.toString(); } | 
|    82   Base.prototype[f] = fBase.toMethod(Base.prototype); |    89   Base.prototype[f] = %ToMethod(fBase, Base.prototype); | 
|    83   Base.prototype[x] = 15; |    90   Base.prototype[x] = 15; | 
|    84   Base.prototype.toString = function() { return "this is Base"; }; |    91   Base.prototype.toString = function() { return "this is Base"; }; | 
|    85  |    92  | 
|    86   function Derived() { |    93   function Derived() { | 
|    87     this[derivedDataProperty] = "xxx"; |    94     this[derivedDataProperty] = "xxx"; | 
|    88   } |    95   } | 
|    89   Derived.prototype = { |    96   Derived.prototype = { | 
|    90     __proto__: Base.prototype, |    97     __proto__: Base.prototype, | 
|    91     toString() { return "this is Derived"; }, |    98     toString() { return "this is Derived"; }, | 
|    92     1: 27, |    99     1: 27, | 
| (...skipping 1822 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1915  |  1922  | 
|  1916   class C3 { |  1923   class C3 { | 
|  1917     constructor() { |  1924     constructor() { | 
|  1918       ; 'use strict';;;;; |  1925       ; 'use strict';;;;; | 
|  1919       // This is a comment. |  1926       // This is a comment. | 
|  1920       super(); |  1927       super(); | 
|  1921     } |  1928     } | 
|  1922   } |  1929   } | 
|  1923   new C3(); |  1930   new C3(); | 
|  1924 }()); |  1931 }()); | 
| OLD | NEW |