| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 var $createDate; | 5 var $createDate; |
| 6 | 6 |
| 7 // ------------------------------------------------------------------- | 7 // ------------------------------------------------------------------- |
| 8 | 8 |
| 9 (function(global, utils) { | 9 (function(global, utils) { |
| 10 | 10 |
| (...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 | 358 |
| 359 // ECMA 262 - 15.9.5.7 | 359 // ECMA 262 - 15.9.5.7 |
| 360 function DateToLocaleTimeString() { | 360 function DateToLocaleTimeString() { |
| 361 CHECK_DATE(this); | 361 CHECK_DATE(this); |
| 362 var t = UTC_DATE_VALUE(this); | 362 var t = UTC_DATE_VALUE(this); |
| 363 if (NUMBER_IS_NAN(t)) return kInvalidDate; | 363 if (NUMBER_IS_NAN(t)) return kInvalidDate; |
| 364 return TimeString(this); | 364 return TimeString(this); |
| 365 } | 365 } |
| 366 | 366 |
| 367 | 367 |
| 368 // 20.3.4.45 Date.prototype [ @@toPrimitive ] ( hint ) | |
| 369 function DateToPrimitive(hint) { | |
| 370 if (!IS_SPEC_OBJECT(this)) { | |
| 371 throw MakeTypeError(kIncompatibleMethodReceiver, | |
| 372 "Date.prototype [ @@toPrimitive ]", this); | |
| 373 } | |
| 374 if (hint === "default") { | |
| 375 hint = "string"; | |
| 376 } else if (hint !== "number" && hint !== "string") { | |
| 377 throw MakeTypeError(kInvalidHint, hint); | |
| 378 } | |
| 379 return %OrdinaryToPrimitive(this, hint); | |
| 380 } | |
| 381 | |
| 382 | |
| 383 // ECMA 262 - 15.9.5.8 | 368 // ECMA 262 - 15.9.5.8 |
| 384 function DateValueOf() { | 369 function DateValueOf() { |
| 385 CHECK_DATE(this); | 370 CHECK_DATE(this); |
| 386 return UTC_DATE_VALUE(this); | 371 return UTC_DATE_VALUE(this); |
| 387 } | 372 } |
| 388 | 373 |
| 389 | 374 |
| 390 // ECMA 262 - 15.9.5.9 | 375 // ECMA 262 - 15.9.5.9 |
| 391 function DateGetTime() { | 376 function DateGetTime() { |
| 392 CHECK_DATE(this); | 377 CHECK_DATE(this); |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 841 | 826 |
| 842 // Set up non-enumerable properties of the Date object itself. | 827 // Set up non-enumerable properties of the Date object itself. |
| 843 utils.InstallFunctions(GlobalDate, DONT_ENUM, [ | 828 utils.InstallFunctions(GlobalDate, DONT_ENUM, [ |
| 844 "UTC", DateUTC, | 829 "UTC", DateUTC, |
| 845 "parse", DateParse, | 830 "parse", DateParse, |
| 846 "now", DateNow | 831 "now", DateNow |
| 847 ]); | 832 ]); |
| 848 | 833 |
| 849 // Set up non-enumerable constructor property of the Date prototype object. | 834 // Set up non-enumerable constructor property of the Date prototype object. |
| 850 %AddNamedProperty(GlobalDate.prototype, "constructor", GlobalDate, DONT_ENUM); | 835 %AddNamedProperty(GlobalDate.prototype, "constructor", GlobalDate, DONT_ENUM); |
| 851 utils.SetFunctionName(DateToPrimitive, toPrimitiveSymbol); | |
| 852 %AddNamedProperty(GlobalDate.prototype, toPrimitiveSymbol, DateToPrimitive, | |
| 853 DONT_ENUM | READ_ONLY); | |
| 854 | 836 |
| 855 // Set up non-enumerable functions of the Date prototype object and | 837 // Set up non-enumerable functions of the Date prototype object and |
| 856 // set their names. | 838 // set their names. |
| 857 utils.InstallFunctions(GlobalDate.prototype, DONT_ENUM, [ | 839 utils.InstallFunctions(GlobalDate.prototype, DONT_ENUM, [ |
| 858 "toString", DateToString, | 840 "toString", DateToString, |
| 859 "toDateString", DateToDateString, | 841 "toDateString", DateToDateString, |
| 860 "toTimeString", DateToTimeString, | 842 "toTimeString", DateToTimeString, |
| 861 "toLocaleString", DateToLocaleString, | 843 "toLocaleString", DateToLocaleString, |
| 862 "toLocaleDateString", DateToLocaleDateString, | 844 "toLocaleDateString", DateToLocaleDateString, |
| 863 "toLocaleTimeString", DateToLocaleTimeString, | 845 "toLocaleTimeString", DateToLocaleTimeString, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 899 "toUTCString", DateToUTCString, | 881 "toUTCString", DateToUTCString, |
| 900 "getYear", DateGetYear, | 882 "getYear", DateGetYear, |
| 901 "setYear", DateSetYear, | 883 "setYear", DateSetYear, |
| 902 "toISOString", DateToISOString, | 884 "toISOString", DateToISOString, |
| 903 "toJSON", DateToJSON | 885 "toJSON", DateToJSON |
| 904 ]); | 886 ]); |
| 905 | 887 |
| 906 %InstallToContext(["create_date_fun", CreateDate]); | 888 %InstallToContext(["create_date_fun", CreateDate]); |
| 907 | 889 |
| 908 }) | 890 }) |
| OLD | NEW |