OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "use strict"; | 5 "use strict"; |
6 | 6 |
7 // ECMAScript 402 API implementation. | 7 // ECMAScript 402 API implementation. |
8 | 8 |
9 /** | 9 /** |
10 * Intl object is a single object that has some named properties, | 10 * Intl object is a single object that has some named properties, |
(...skipping 924 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
935 return collator; | 935 return collator; |
936 } | 936 } |
937 | 937 |
938 | 938 |
939 /** | 939 /** |
940 * Constructs Intl.Collator object given optional locales and options | 940 * Constructs Intl.Collator object given optional locales and options |
941 * parameters. | 941 * parameters. |
942 * | 942 * |
943 * @constructor | 943 * @constructor |
944 */ | 944 */ |
945 %AddProperty(Intl, 'Collator', function() { | 945 %AddNamedProperty(Intl, 'Collator', function() { |
946 var locales = %_Arguments(0); | 946 var locales = %_Arguments(0); |
947 var options = %_Arguments(1); | 947 var options = %_Arguments(1); |
948 | 948 |
949 if (!this || this === Intl) { | 949 if (!this || this === Intl) { |
950 // Constructor is called as a function. | 950 // Constructor is called as a function. |
951 return new Intl.Collator(locales, options); | 951 return new Intl.Collator(locales, options); |
952 } | 952 } |
953 | 953 |
954 return initializeCollator(ToObject(this), locales, options); | 954 return initializeCollator(ToObject(this), locales, options); |
955 }, | 955 }, |
956 DONT_ENUM | 956 DONT_ENUM |
957 ); | 957 ); |
958 | 958 |
959 | 959 |
960 /** | 960 /** |
961 * Collator resolvedOptions method. | 961 * Collator resolvedOptions method. |
962 */ | 962 */ |
963 %AddProperty(Intl.Collator.prototype, 'resolvedOptions', function() { | 963 %AddNamedProperty(Intl.Collator.prototype, 'resolvedOptions', function() { |
964 if (%_IsConstructCall()) { | 964 if (%_IsConstructCall()) { |
965 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 965 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
966 } | 966 } |
967 | 967 |
968 if (!%IsInitializedIntlObjectOfType(this, 'collator')) { | 968 if (!%IsInitializedIntlObjectOfType(this, 'collator')) { |
969 throw new $TypeError('resolvedOptions method called on a non-object ' + | 969 throw new $TypeError('resolvedOptions method called on a non-object ' + |
970 'or on a object that is not Intl.Collator.'); | 970 'or on a object that is not Intl.Collator.'); |
971 } | 971 } |
972 | 972 |
973 var coll = this; | 973 var coll = this; |
(...skipping 16 matching lines...) Expand all Loading... |
990 %FunctionRemovePrototype(Intl.Collator.prototype.resolvedOptions); | 990 %FunctionRemovePrototype(Intl.Collator.prototype.resolvedOptions); |
991 %SetNativeFlag(Intl.Collator.prototype.resolvedOptions); | 991 %SetNativeFlag(Intl.Collator.prototype.resolvedOptions); |
992 | 992 |
993 | 993 |
994 /** | 994 /** |
995 * Returns the subset of the given locale list for which this locale list | 995 * Returns the subset of the given locale list for which this locale list |
996 * has a matching (possibly fallback) locale. Locales appear in the same | 996 * has a matching (possibly fallback) locale. Locales appear in the same |
997 * order in the returned list as in the input list. | 997 * order in the returned list as in the input list. |
998 * Options are optional parameter. | 998 * Options are optional parameter. |
999 */ | 999 */ |
1000 %AddProperty(Intl.Collator, 'supportedLocalesOf', function(locales) { | 1000 %AddNamedProperty(Intl.Collator, 'supportedLocalesOf', function(locales) { |
1001 if (%_IsConstructCall()) { | 1001 if (%_IsConstructCall()) { |
1002 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1002 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1003 } | 1003 } |
1004 | 1004 |
1005 return supportedLocalesOf('collator', locales, %_Arguments(1)); | 1005 return supportedLocalesOf('collator', locales, %_Arguments(1)); |
1006 }, | 1006 }, |
1007 DONT_ENUM | 1007 DONT_ENUM |
1008 ); | 1008 ); |
1009 %FunctionSetName(Intl.Collator.supportedLocalesOf, 'supportedLocalesOf'); | 1009 %FunctionSetName(Intl.Collator.supportedLocalesOf, 'supportedLocalesOf'); |
1010 %FunctionRemovePrototype(Intl.Collator.supportedLocalesOf); | 1010 %FunctionRemovePrototype(Intl.Collator.supportedLocalesOf); |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1162 return numberFormat; | 1162 return numberFormat; |
1163 } | 1163 } |
1164 | 1164 |
1165 | 1165 |
1166 /** | 1166 /** |
1167 * Constructs Intl.NumberFormat object given optional locales and options | 1167 * Constructs Intl.NumberFormat object given optional locales and options |
1168 * parameters. | 1168 * parameters. |
1169 * | 1169 * |
1170 * @constructor | 1170 * @constructor |
1171 */ | 1171 */ |
1172 %AddProperty(Intl, 'NumberFormat', function() { | 1172 %AddNamedProperty(Intl, 'NumberFormat', function() { |
1173 var locales = %_Arguments(0); | 1173 var locales = %_Arguments(0); |
1174 var options = %_Arguments(1); | 1174 var options = %_Arguments(1); |
1175 | 1175 |
1176 if (!this || this === Intl) { | 1176 if (!this || this === Intl) { |
1177 // Constructor is called as a function. | 1177 // Constructor is called as a function. |
1178 return new Intl.NumberFormat(locales, options); | 1178 return new Intl.NumberFormat(locales, options); |
1179 } | 1179 } |
1180 | 1180 |
1181 return initializeNumberFormat(ToObject(this), locales, options); | 1181 return initializeNumberFormat(ToObject(this), locales, options); |
1182 }, | 1182 }, |
1183 DONT_ENUM | 1183 DONT_ENUM |
1184 ); | 1184 ); |
1185 | 1185 |
1186 | 1186 |
1187 /** | 1187 /** |
1188 * NumberFormat resolvedOptions method. | 1188 * NumberFormat resolvedOptions method. |
1189 */ | 1189 */ |
1190 %AddProperty(Intl.NumberFormat.prototype, 'resolvedOptions', function() { | 1190 %AddNamedProperty(Intl.NumberFormat.prototype, 'resolvedOptions', function() { |
1191 if (%_IsConstructCall()) { | 1191 if (%_IsConstructCall()) { |
1192 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1192 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1193 } | 1193 } |
1194 | 1194 |
1195 if (!%IsInitializedIntlObjectOfType(this, 'numberformat')) { | 1195 if (!%IsInitializedIntlObjectOfType(this, 'numberformat')) { |
1196 throw new $TypeError('resolvedOptions method called on a non-object' + | 1196 throw new $TypeError('resolvedOptions method called on a non-object' + |
1197 ' or on a object that is not Intl.NumberFormat.'); | 1197 ' or on a object that is not Intl.NumberFormat.'); |
1198 } | 1198 } |
1199 | 1199 |
1200 var format = this; | 1200 var format = this; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1236 %FunctionRemovePrototype(Intl.NumberFormat.prototype.resolvedOptions); | 1236 %FunctionRemovePrototype(Intl.NumberFormat.prototype.resolvedOptions); |
1237 %SetNativeFlag(Intl.NumberFormat.prototype.resolvedOptions); | 1237 %SetNativeFlag(Intl.NumberFormat.prototype.resolvedOptions); |
1238 | 1238 |
1239 | 1239 |
1240 /** | 1240 /** |
1241 * Returns the subset of the given locale list for which this locale list | 1241 * Returns the subset of the given locale list for which this locale list |
1242 * has a matching (possibly fallback) locale. Locales appear in the same | 1242 * has a matching (possibly fallback) locale. Locales appear in the same |
1243 * order in the returned list as in the input list. | 1243 * order in the returned list as in the input list. |
1244 * Options are optional parameter. | 1244 * Options are optional parameter. |
1245 */ | 1245 */ |
1246 %AddProperty(Intl.NumberFormat, 'supportedLocalesOf', function(locales) { | 1246 %AddNamedProperty(Intl.NumberFormat, 'supportedLocalesOf', function(locales) { |
1247 if (%_IsConstructCall()) { | 1247 if (%_IsConstructCall()) { |
1248 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1248 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1249 } | 1249 } |
1250 | 1250 |
1251 return supportedLocalesOf('numberformat', locales, %_Arguments(1)); | 1251 return supportedLocalesOf('numberformat', locales, %_Arguments(1)); |
1252 }, | 1252 }, |
1253 DONT_ENUM | 1253 DONT_ENUM |
1254 ); | 1254 ); |
1255 %FunctionSetName(Intl.NumberFormat.supportedLocalesOf, 'supportedLocalesOf'); | 1255 %FunctionSetName(Intl.NumberFormat.supportedLocalesOf, 'supportedLocalesOf'); |
1256 %FunctionRemovePrototype(Intl.NumberFormat.supportedLocalesOf); | 1256 %FunctionRemovePrototype(Intl.NumberFormat.supportedLocalesOf); |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 return dateFormat; | 1555 return dateFormat; |
1556 } | 1556 } |
1557 | 1557 |
1558 | 1558 |
1559 /** | 1559 /** |
1560 * Constructs Intl.DateTimeFormat object given optional locales and options | 1560 * Constructs Intl.DateTimeFormat object given optional locales and options |
1561 * parameters. | 1561 * parameters. |
1562 * | 1562 * |
1563 * @constructor | 1563 * @constructor |
1564 */ | 1564 */ |
1565 %AddProperty(Intl, 'DateTimeFormat', function() { | 1565 %AddNamedProperty(Intl, 'DateTimeFormat', function() { |
1566 var locales = %_Arguments(0); | 1566 var locales = %_Arguments(0); |
1567 var options = %_Arguments(1); | 1567 var options = %_Arguments(1); |
1568 | 1568 |
1569 if (!this || this === Intl) { | 1569 if (!this || this === Intl) { |
1570 // Constructor is called as a function. | 1570 // Constructor is called as a function. |
1571 return new Intl.DateTimeFormat(locales, options); | 1571 return new Intl.DateTimeFormat(locales, options); |
1572 } | 1572 } |
1573 | 1573 |
1574 return initializeDateTimeFormat(ToObject(this), locales, options); | 1574 return initializeDateTimeFormat(ToObject(this), locales, options); |
1575 }, | 1575 }, |
1576 DONT_ENUM | 1576 DONT_ENUM |
1577 ); | 1577 ); |
1578 | 1578 |
1579 | 1579 |
1580 /** | 1580 /** |
1581 * DateTimeFormat resolvedOptions method. | 1581 * DateTimeFormat resolvedOptions method. |
1582 */ | 1582 */ |
1583 %AddProperty(Intl.DateTimeFormat.prototype, 'resolvedOptions', function() { | 1583 %AddNamedProperty(Intl.DateTimeFormat.prototype, 'resolvedOptions', function() { |
1584 if (%_IsConstructCall()) { | 1584 if (%_IsConstructCall()) { |
1585 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1585 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1586 } | 1586 } |
1587 | 1587 |
1588 if (!%IsInitializedIntlObjectOfType(this, 'dateformat')) { | 1588 if (!%IsInitializedIntlObjectOfType(this, 'dateformat')) { |
1589 throw new $TypeError('resolvedOptions method called on a non-object or ' + | 1589 throw new $TypeError('resolvedOptions method called on a non-object or ' + |
1590 'on a object that is not Intl.DateTimeFormat.'); | 1590 'on a object that is not Intl.DateTimeFormat.'); |
1591 } | 1591 } |
1592 | 1592 |
1593 var format = this; | 1593 var format = this; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1629 %FunctionRemovePrototype(Intl.DateTimeFormat.prototype.resolvedOptions); | 1629 %FunctionRemovePrototype(Intl.DateTimeFormat.prototype.resolvedOptions); |
1630 %SetNativeFlag(Intl.DateTimeFormat.prototype.resolvedOptions); | 1630 %SetNativeFlag(Intl.DateTimeFormat.prototype.resolvedOptions); |
1631 | 1631 |
1632 | 1632 |
1633 /** | 1633 /** |
1634 * Returns the subset of the given locale list for which this locale list | 1634 * Returns the subset of the given locale list for which this locale list |
1635 * has a matching (possibly fallback) locale. Locales appear in the same | 1635 * has a matching (possibly fallback) locale. Locales appear in the same |
1636 * order in the returned list as in the input list. | 1636 * order in the returned list as in the input list. |
1637 * Options are optional parameter. | 1637 * Options are optional parameter. |
1638 */ | 1638 */ |
1639 %AddProperty(Intl.DateTimeFormat, 'supportedLocalesOf', function(locales) { | 1639 %AddNamedProperty(Intl.DateTimeFormat, 'supportedLocalesOf', function(locales) { |
1640 if (%_IsConstructCall()) { | 1640 if (%_IsConstructCall()) { |
1641 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1641 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1642 } | 1642 } |
1643 | 1643 |
1644 return supportedLocalesOf('dateformat', locales, %_Arguments(1)); | 1644 return supportedLocalesOf('dateformat', locales, %_Arguments(1)); |
1645 }, | 1645 }, |
1646 DONT_ENUM | 1646 DONT_ENUM |
1647 ); | 1647 ); |
1648 %FunctionSetName(Intl.DateTimeFormat.supportedLocalesOf, 'supportedLocalesOf'); | 1648 %FunctionSetName(Intl.DateTimeFormat.supportedLocalesOf, 'supportedLocalesOf'); |
1649 %FunctionRemovePrototype(Intl.DateTimeFormat.supportedLocalesOf); | 1649 %FunctionRemovePrototype(Intl.DateTimeFormat.supportedLocalesOf); |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1761 return iterator; | 1761 return iterator; |
1762 } | 1762 } |
1763 | 1763 |
1764 | 1764 |
1765 /** | 1765 /** |
1766 * Constructs Intl.v8BreakIterator object given optional locales and options | 1766 * Constructs Intl.v8BreakIterator object given optional locales and options |
1767 * parameters. | 1767 * parameters. |
1768 * | 1768 * |
1769 * @constructor | 1769 * @constructor |
1770 */ | 1770 */ |
1771 %AddProperty(Intl, 'v8BreakIterator', function() { | 1771 %AddNamedProperty(Intl, 'v8BreakIterator', function() { |
1772 var locales = %_Arguments(0); | 1772 var locales = %_Arguments(0); |
1773 var options = %_Arguments(1); | 1773 var options = %_Arguments(1); |
1774 | 1774 |
1775 if (!this || this === Intl) { | 1775 if (!this || this === Intl) { |
1776 // Constructor is called as a function. | 1776 // Constructor is called as a function. |
1777 return new Intl.v8BreakIterator(locales, options); | 1777 return new Intl.v8BreakIterator(locales, options); |
1778 } | 1778 } |
1779 | 1779 |
1780 return initializeBreakIterator(ToObject(this), locales, options); | 1780 return initializeBreakIterator(ToObject(this), locales, options); |
1781 }, | 1781 }, |
1782 DONT_ENUM | 1782 DONT_ENUM |
1783 ); | 1783 ); |
1784 | 1784 |
1785 | 1785 |
1786 /** | 1786 /** |
1787 * BreakIterator resolvedOptions method. | 1787 * BreakIterator resolvedOptions method. |
1788 */ | 1788 */ |
1789 %AddProperty(Intl.v8BreakIterator.prototype, 'resolvedOptions', function() { | 1789 %AddNamedProperty(Intl.v8BreakIterator.prototype, 'resolvedOptions', |
| 1790 function() { |
1790 if (%_IsConstructCall()) { | 1791 if (%_IsConstructCall()) { |
1791 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1792 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1792 } | 1793 } |
1793 | 1794 |
1794 if (!%IsInitializedIntlObjectOfType(this, 'breakiterator')) { | 1795 if (!%IsInitializedIntlObjectOfType(this, 'breakiterator')) { |
1795 throw new $TypeError('resolvedOptions method called on a non-object or ' + | 1796 throw new $TypeError('resolvedOptions method called on a non-object or ' + |
1796 'on a object that is not Intl.v8BreakIterator.'); | 1797 'on a object that is not Intl.v8BreakIterator.'); |
1797 } | 1798 } |
1798 | 1799 |
1799 var segmenter = this; | 1800 var segmenter = this; |
(...skipping 12 matching lines...) Expand all Loading... |
1812 %FunctionRemovePrototype(Intl.v8BreakIterator.prototype.resolvedOptions); | 1813 %FunctionRemovePrototype(Intl.v8BreakIterator.prototype.resolvedOptions); |
1813 %SetNativeFlag(Intl.v8BreakIterator.prototype.resolvedOptions); | 1814 %SetNativeFlag(Intl.v8BreakIterator.prototype.resolvedOptions); |
1814 | 1815 |
1815 | 1816 |
1816 /** | 1817 /** |
1817 * Returns the subset of the given locale list for which this locale list | 1818 * Returns the subset of the given locale list for which this locale list |
1818 * has a matching (possibly fallback) locale. Locales appear in the same | 1819 * has a matching (possibly fallback) locale. Locales appear in the same |
1819 * order in the returned list as in the input list. | 1820 * order in the returned list as in the input list. |
1820 * Options are optional parameter. | 1821 * Options are optional parameter. |
1821 */ | 1822 */ |
1822 %AddProperty(Intl.v8BreakIterator, 'supportedLocalesOf', function(locales) { | 1823 %AddNamedProperty(Intl.v8BreakIterator, 'supportedLocalesOf', |
| 1824 function(locales) { |
1823 if (%_IsConstructCall()) { | 1825 if (%_IsConstructCall()) { |
1824 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 1826 throw new $TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
1825 } | 1827 } |
1826 | 1828 |
1827 return supportedLocalesOf('breakiterator', locales, %_Arguments(1)); | 1829 return supportedLocalesOf('breakiterator', locales, %_Arguments(1)); |
1828 }, | 1830 }, |
1829 DONT_ENUM | 1831 DONT_ENUM |
1830 ); | 1832 ); |
1831 %FunctionSetName(Intl.v8BreakIterator.supportedLocalesOf, 'supportedLocalesOf'); | 1833 %FunctionSetName(Intl.v8BreakIterator.supportedLocalesOf, 'supportedLocalesOf'); |
1832 %FunctionRemovePrototype(Intl.v8BreakIterator.supportedLocalesOf); | 1834 %FunctionRemovePrototype(Intl.v8BreakIterator.supportedLocalesOf); |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2098 writable: true, | 2100 writable: true, |
2099 configurable: true, | 2101 configurable: true, |
2100 enumerable: false | 2102 enumerable: false |
2101 }); | 2103 }); |
2102 %FunctionSetName($Date.prototype.toLocaleTimeString, 'toLocaleTimeString'); | 2104 %FunctionSetName($Date.prototype.toLocaleTimeString, 'toLocaleTimeString'); |
2103 %FunctionRemovePrototype($Date.prototype.toLocaleTimeString); | 2105 %FunctionRemovePrototype($Date.prototype.toLocaleTimeString); |
2104 %SetNativeFlag($Date.prototype.toLocaleTimeString); | 2106 %SetNativeFlag($Date.prototype.toLocaleTimeString); |
2105 | 2107 |
2106 return Intl; | 2108 return Intl; |
2107 }())}); | 2109 }())}); |
OLD | NEW |