| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 (function(global, utils) { | 5 (function(global, utils) { |
| 6 | 6 |
| 7 %CheckIsBootstrapping(); | 7 %CheckIsBootstrapping(); |
| 8 | 8 |
| 9 // ---------------------------------------------------------------------------- | 9 // ---------------------------------------------------------------------------- |
| 10 // Imports | 10 // Imports |
| (...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 // getOwnPropertySymbols is added in symbol.js. | 874 // getOwnPropertySymbols is added in symbol.js. |
| 875 "is", SameValue, // ECMA-262, Edition 6, section 19.1.2.10 | 875 "is", SameValue, // ECMA-262, Edition 6, section 19.1.2.10 |
| 876 // deliverChangeRecords, getNotifier, observe and unobserve are added | 876 // deliverChangeRecords, getNotifier, observe and unobserve are added |
| 877 // in object-observe.js. | 877 // in object-observe.js. |
| 878 ]); | 878 ]); |
| 879 | 879 |
| 880 | 880 |
| 881 // ---------------------------------------------------------------------------- | 881 // ---------------------------------------------------------------------------- |
| 882 // Boolean | 882 // Boolean |
| 883 | 883 |
| 884 function BooleanConstructor(x) { | |
| 885 // TODO(bmeurer): Move this to toplevel. | |
| 886 "use strict"; | |
| 887 if (!IS_UNDEFINED(new.target)) { | |
| 888 %_SetValueOf(this, TO_BOOLEAN(x)); | |
| 889 } else { | |
| 890 return TO_BOOLEAN(x); | |
| 891 } | |
| 892 } | |
| 893 | |
| 894 | |
| 895 function BooleanToString() { | 884 function BooleanToString() { |
| 896 // NOTE: Both Boolean objects and values can enter here as | 885 // NOTE: Both Boolean objects and values can enter here as |
| 897 // 'this'. This is not as dictated by ECMA-262. | 886 // 'this'. This is not as dictated by ECMA-262. |
| 898 var b = this; | 887 var b = this; |
| 899 if (!IS_BOOLEAN(b)) { | 888 if (!IS_BOOLEAN(b)) { |
| 900 if (!IS_BOOLEAN_WRAPPER(b)) { | 889 if (!IS_BOOLEAN_WRAPPER(b)) { |
| 901 throw MakeTypeError(kNotGeneric, 'Boolean.prototype.toString'); | 890 throw MakeTypeError(kNotGeneric, 'Boolean.prototype.toString'); |
| 902 } | 891 } |
| 903 b = %_ValueOf(b); | 892 b = %_ValueOf(b); |
| 904 } | 893 } |
| 905 return b ? 'true' : 'false'; | 894 return b ? 'true' : 'false'; |
| 906 } | 895 } |
| 907 | 896 |
| 908 | 897 |
| 909 function BooleanValueOf() { | 898 function BooleanValueOf() { |
| 910 // NOTE: Both Boolean objects and values can enter here as | 899 // NOTE: Both Boolean objects and values can enter here as |
| 911 // 'this'. This is not as dictated by ECMA-262. | 900 // 'this'. This is not as dictated by ECMA-262. |
| 912 if (!IS_BOOLEAN(this) && !IS_BOOLEAN_WRAPPER(this)) { | 901 if (!IS_BOOLEAN(this) && !IS_BOOLEAN_WRAPPER(this)) { |
| 913 throw MakeTypeError(kNotGeneric, 'Boolean.prototype.valueOf'); | 902 throw MakeTypeError(kNotGeneric, 'Boolean.prototype.valueOf'); |
| 914 } | 903 } |
| 915 return %_ValueOf(this); | 904 return %_ValueOf(this); |
| 916 } | 905 } |
| 917 | 906 |
| 918 | 907 |
| 919 // ---------------------------------------------------------------------------- | 908 // ---------------------------------------------------------------------------- |
| 920 | 909 |
| 921 %SetCode(GlobalBoolean, BooleanConstructor); | |
| 922 %FunctionSetPrototype(GlobalBoolean, new GlobalBoolean(false)); | 910 %FunctionSetPrototype(GlobalBoolean, new GlobalBoolean(false)); |
| 923 %AddNamedProperty(GlobalBoolean.prototype, "constructor", GlobalBoolean, | 911 %AddNamedProperty(GlobalBoolean.prototype, "constructor", GlobalBoolean, |
| 924 DONT_ENUM); | 912 DONT_ENUM); |
| 925 | 913 |
| 926 utils.InstallFunctions(GlobalBoolean.prototype, DONT_ENUM, [ | 914 utils.InstallFunctions(GlobalBoolean.prototype, DONT_ENUM, [ |
| 927 "toString", BooleanToString, | 915 "toString", BooleanToString, |
| 928 "valueOf", BooleanValueOf | 916 "valueOf", BooleanValueOf |
| 929 ]); | 917 ]); |
| 930 | 918 |
| 931 | 919 |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1161 to.ObjectDefineProperties = ObjectDefineProperties; | 1149 to.ObjectDefineProperties = ObjectDefineProperties; |
| 1162 to.ObjectDefineProperty = ObjectDefineProperty; | 1150 to.ObjectDefineProperty = ObjectDefineProperty; |
| 1163 to.ObjectHasOwnProperty = ObjectHasOwnProperty; | 1151 to.ObjectHasOwnProperty = ObjectHasOwnProperty; |
| 1164 }); | 1152 }); |
| 1165 | 1153 |
| 1166 %InstallToContext([ | 1154 %InstallToContext([ |
| 1167 "object_value_of", ObjectValueOf, | 1155 "object_value_of", ObjectValueOf, |
| 1168 ]); | 1156 ]); |
| 1169 | 1157 |
| 1170 }) | 1158 }) |
| OLD | NEW |