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 // This file relies on the fact that the following declarations have been made | 5 // This file relies on the fact that the following declarations have been made |
6 // in runtime.js: | 6 // in runtime.js: |
7 // var $Function = global.Function; | 7 // var $Function = global.Function; |
8 // var $Array = global.Array; | 8 // var $Array = global.Array; |
9 | 9 |
10 "use strict"; | 10 "use strict"; |
11 | 11 |
| 12 function FunctionToMethod(homeObject) { |
| 13 if (!IS_SPEC_FUNCTION(this)) { |
| 14 throw MakeTypeError('toMethod_non_function', |
| 15 [%ToString(this), typeof this]); |
12 | 16 |
13 (function() { | |
14 function FunctionToMethod(homeObject) { | |
15 if (!IS_SPEC_FUNCTION(this)) { | |
16 throw MakeTypeError('toMethod_non_function', | |
17 [%ToString(this), typeof this]); | |
18 | |
19 } | |
20 | |
21 if (!IS_SPEC_OBJECT(homeObject)) { | |
22 throw MakeTypeError('toMethod_non_object', | |
23 [%ToString(homeObject)]); | |
24 } | |
25 | |
26 return %ToMethod(this, homeObject); | |
27 } | 17 } |
28 | 18 |
| 19 if (!IS_SPEC_OBJECT(homeObject)) { |
| 20 throw MakeTypeError('toMethod_non_object', |
| 21 [%ToString(homeObject)]); |
| 22 } |
| 23 |
| 24 return %ToMethod(this, homeObject); |
| 25 } |
| 26 |
| 27 function SetupHarmonyClasses() { |
29 %CheckIsBootstrapping(); | 28 %CheckIsBootstrapping(); |
30 | 29 |
31 InstallFunctions($Function.prototype, DONT_ENUM, $Array( | 30 InstallFunctions($Function.prototype, DONT_ENUM, $Array( |
32 "toMethod", FunctionToMethod | 31 "toMethod", FunctionToMethod |
33 )); | 32 )); |
34 }()); | 33 } |
| 34 |
| 35 SetupHarmonyClasses(); |
OLD | NEW |