Commit 88271783 authored by Ujjwal Sharma's avatar Ujjwal Sharma Committed by Commit Bot

[intl] JSV8BreakIterator: accept and return Type instead of int

Change-Id: I4013a966c1f651f5e6cabfbc3f64a08eb01d0dad
Bug: v8:5751
Reviewed-on: https://chromium-review.googlesource.com/1207670Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55662}
parent 8f8f074f
......@@ -18,8 +18,17 @@
namespace v8 {
namespace internal {
inline void JSV8BreakIterator::set_type(Type type) {
DCHECK_GT(JSV8BreakIterator::Type::COUNT, type);
WRITE_FIELD(this, kTypeOffset, Smi::FromInt(static_cast<int>(type)));
}
inline JSV8BreakIterator::Type JSV8BreakIterator::type() const {
Object* value = READ_FIELD(this, kTypeOffset);
return static_cast<JSV8BreakIterator::Type>(Smi::ToInt(value));
}
ACCESSORS(JSV8BreakIterator, locale, String, kLocaleOffset)
SMI_ACCESSORS(JSV8BreakIterator, type, kTypeOffset)
ACCESSORS(JSV8BreakIterator, break_iterator, Managed<icu::BreakIterator>,
kBreakIteratorOffset)
ACCESSORS(JSV8BreakIterator, unicode_string, Managed<icu::UnicodeString>,
......
......@@ -101,7 +101,7 @@ MaybeHandle<JSV8BreakIterator> JSV8BreakIterator::InitializeV8BreakIterator(
// Setting fields
break_iterator_holder->set_locale(*locale);
break_iterator_holder->set_type(static_cast<int>(type_enum));
break_iterator_holder->set_type(type_enum);
break_iterator_holder->set_break_iterator(*managed_break_iterator);
break_iterator_holder->set_unicode_string(*managed_unicode_string);
......@@ -153,7 +153,7 @@ void JSV8BreakIterator::AdoptText(
}
Handle<String> JSV8BreakIterator::TypeAsString() const {
switch (static_cast<Type>(type())) {
switch (type()) {
case Type::CHARACTER:
return GetReadOnlyRoots().character_string_handle();
case Type::WORD:
......
......@@ -36,6 +36,8 @@ class JSV8BreakIterator : public JSObject {
Handle<String> text);
enum class Type { CHARACTER, WORD, SENTENCE, LINE, COUNT };
inline void set_type(Type type);
inline Type type() const;
Handle<String> TypeAsString() const;
......@@ -44,8 +46,6 @@ class JSV8BreakIterator : public JSObject {
DECL_VERIFIER(JSV8BreakIterator)
DECL_ACCESSORS(locale, String)
// TODO(ryzokuken): Change this to accept and return a Type instead of int.
DECL_INT_ACCESSORS(type)
DECL_ACCESSORS(break_iterator, Managed<icu::BreakIterator>)
DECL_ACCESSORS(unicode_string, Managed<icu::UnicodeString>)
DECL_ACCESSORS(bound_adopt_text, Object)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment