summaryrefslogtreecommitdiff
path: root/deps/v8/src/i18n.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/i18n.h')
-rw-r--r--deps/v8/src/i18n.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/deps/v8/src/i18n.h b/deps/v8/src/i18n.h
index 37c57b135b..5825ab6c6c 100644
--- a/deps/v8/src/i18n.h
+++ b/deps/v8/src/i18n.h
@@ -33,6 +33,8 @@
#include "v8.h"
namespace U_ICU_NAMESPACE {
+class Collator;
+class DecimalFormat;
class SimpleDateFormat;
}
@@ -51,6 +53,7 @@ class I18N {
I18N();
};
+
class DateFormat {
public:
// Create a formatter for the specificied locale and options. Returns the
@@ -74,6 +77,53 @@ class DateFormat {
DateFormat();
};
+
+class NumberFormat {
+ public:
+ // Create a formatter for the specificied locale and options. Returns the
+ // resolved settings for the locale / options.
+ static icu::DecimalFormat* InitializeNumberFormat(
+ Isolate* isolate,
+ Handle<String> locale,
+ Handle<JSObject> options,
+ Handle<JSObject> resolved);
+
+ // Unpacks number format object from corresponding JavaScript object.
+ static icu::DecimalFormat* UnpackNumberFormat(Isolate* isolate,
+ Handle<JSObject> obj);
+
+ // Release memory we allocated for the NumberFormat once the JS object that
+ // holds the pointer gets garbage collected.
+ static void DeleteNumberFormat(v8::Isolate* isolate,
+ Persistent<v8::Object>* object,
+ void* param);
+ private:
+ NumberFormat();
+};
+
+
+class Collator {
+ public:
+ // Create a collator for the specificied locale and options. Returns the
+ // resolved settings for the locale / options.
+ static icu::Collator* InitializeCollator(
+ Isolate* isolate,
+ Handle<String> locale,
+ Handle<JSObject> options,
+ Handle<JSObject> resolved);
+
+ // Unpacks collator object from corresponding JavaScript object.
+ static icu::Collator* UnpackCollator(Isolate* isolate, Handle<JSObject> obj);
+
+ // Release memory we allocated for the Collator once the JS object that holds
+ // the pointer gets garbage collected.
+ static void DeleteCollator(v8::Isolate* isolate,
+ Persistent<v8::Object>* object,
+ void* param);
+ private:
+ Collator();
+};
+
} } // namespace v8::internal
#endif // V8_I18N_H_