| Index: runtime/vm/object_test.cc | 
| diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc | 
| index 5b280a4ae19d207cdfe70e35e474c13f7f1a52ca..86cb9b0bfdcf1a09bd921224a3d9df83e73acca7 100644 | 
| --- a/runtime/vm/object_test.cc | 
| +++ b/runtime/vm/object_test.cc | 
| @@ -273,48 +273,6 @@ TEST_CASE(Smi) { | 
| } | 
|  | 
|  | 
| -TEST_CASE(StringCompareTo) { | 
| -  const String& abcd = String::Handle(String::New("abcd")); | 
| -  const String& abce = String::Handle(String::New("abce")); | 
| -  EXPECT_EQ(0, abcd.CompareTo(abcd)); | 
| -  EXPECT_EQ(0, abce.CompareTo(abce)); | 
| -  EXPECT(abcd.CompareTo(abce) < 0); | 
| -  EXPECT(abce.CompareTo(abcd) > 0); | 
| - | 
| -  const int kMonkeyLen = 4; | 
| -  const uint8_t monkey_utf8[kMonkeyLen] = { 0xf0, 0x9f, 0x90, 0xb5 }; | 
| -  const String& monkey_face = | 
| -      String::Handle(String::New(monkey_utf8, kMonkeyLen)); | 
| -  const int kDogLen = 4; | 
| -  // 0x1f436 DOG FACE. | 
| -  const uint8_t dog_utf8[kDogLen] = { 0xf0, 0x9f, 0x90, 0xb6 }; | 
| -  const String& dog_face = String::Handle(String::New(dog_utf8, kDogLen)); | 
| -  EXPECT_EQ(0, monkey_face.CompareTo(monkey_face)); | 
| -  EXPECT_EQ(0, dog_face.CompareTo(dog_face)); | 
| -  EXPECT(monkey_face.CompareTo(dog_face) < 0); | 
| -  EXPECT(dog_face.CompareTo(monkey_face) > 0); | 
| - | 
| -  const int kDominoLen = 4; | 
| -  // 0x1f036 DOMINO TILE HORIZONTAL-00-05. | 
| -  const uint8_t domino_utf8[kDominoLen] = { 0xf0, 0x9f, 0x80, 0xb6 }; | 
| -  const String& domino = String::Handle(String::New(domino_utf8, kDominoLen)); | 
| -  EXPECT_EQ(0, domino.CompareTo(domino)); | 
| -  EXPECT(domino.CompareTo(dog_face) < 0); | 
| -  EXPECT(domino.CompareTo(monkey_face) < 0); | 
| -  EXPECT(dog_face.CompareTo(domino) > 0); | 
| -  EXPECT(monkey_face.CompareTo(domino) > 0); | 
| - | 
| -  EXPECT(abcd.CompareTo(monkey_face) < 0); | 
| -  EXPECT(abce.CompareTo(monkey_face) < 0); | 
| -  EXPECT(abcd.CompareTo(domino) < 0); | 
| -  EXPECT(abce.CompareTo(domino) < 0); | 
| -  EXPECT(domino.CompareTo(abcd) > 0); | 
| -  EXPECT(domino.CompareTo(abcd) > 0); | 
| -  EXPECT(monkey_face.CompareTo(abce) > 0); | 
| -  EXPECT(monkey_face.CompareTo(abce) > 0); | 
| -} | 
| - | 
| - | 
| TEST_CASE(Mint) { | 
| // On 64-bit architectures a Smi is stored in a 64 bit word. A Midint cannot | 
| // be allocated if it does fit into a Smi. | 
| @@ -504,9 +462,6 @@ TEST_CASE(Integer) { | 
| } | 
|  | 
|  | 
| -static unsigned char ToUChar(char x) { return static_cast<unsigned char>(x); } | 
| - | 
| - | 
| TEST_CASE(String) { | 
| const char* kHello = "Hello World!"; | 
| int32_t hello_len = strlen(kHello); | 
| @@ -517,27 +472,27 @@ TEST_CASE(String) { | 
| EXPECT(!str.IsTwoByteString()); | 
| EXPECT(!str.IsNumber()); | 
| EXPECT_EQ(hello_len, str.Length()); | 
| -  EXPECT_EQ(ToUChar('H'), str.CharAt(0)); | 
| -  EXPECT_EQ(ToUChar('e'), str.CharAt(1)); | 
| -  EXPECT_EQ(ToUChar('l'), str.CharAt(2)); | 
| -  EXPECT_EQ(ToUChar('l'), str.CharAt(3)); | 
| -  EXPECT_EQ(ToUChar('o'), str.CharAt(4)); | 
| -  EXPECT_EQ(ToUChar(' '), str.CharAt(5)); | 
| -  EXPECT_EQ(ToUChar('W'), str.CharAt(6)); | 
| -  EXPECT_EQ(ToUChar('o'), str.CharAt(7)); | 
| -  EXPECT_EQ(ToUChar('r'), str.CharAt(8)); | 
| -  EXPECT_EQ(ToUChar('l'), str.CharAt(9)); | 
| -  EXPECT_EQ(ToUChar('d'), str.CharAt(10)); | 
| -  EXPECT_EQ(ToUChar('!'), str.CharAt(11)); | 
| +  EXPECT_EQ('H', str.CharAt(0)); | 
| +  EXPECT_EQ('e', str.CharAt(1)); | 
| +  EXPECT_EQ('l', str.CharAt(2)); | 
| +  EXPECT_EQ('l', str.CharAt(3)); | 
| +  EXPECT_EQ('o', str.CharAt(4)); | 
| +  EXPECT_EQ(' ', str.CharAt(5)); | 
| +  EXPECT_EQ('W', str.CharAt(6)); | 
| +  EXPECT_EQ('o', str.CharAt(7)); | 
| +  EXPECT_EQ('r', str.CharAt(8)); | 
| +  EXPECT_EQ('l', str.CharAt(9)); | 
| +  EXPECT_EQ('d', str.CharAt(10)); | 
| +  EXPECT_EQ('!', str.CharAt(11)); | 
|  | 
| const uint8_t* motto = | 
| reinterpret_cast<const uint8_t*>("Dart's bescht wos je hets gits"); | 
| const String& str2 = String::Handle(String::New(motto+7, 4)); | 
| EXPECT_EQ(4, str2.Length()); | 
| -  EXPECT_EQ(ToUChar('b'), str2.CharAt(0)); | 
| -  EXPECT_EQ(ToUChar('e'), str2.CharAt(1)); | 
| -  EXPECT_EQ(ToUChar('s'), str2.CharAt(2)); | 
| -  EXPECT_EQ(ToUChar('c'), str2.CharAt(3)); | 
| +  EXPECT_EQ('b', str2.CharAt(0)); | 
| +  EXPECT_EQ('e', str2.CharAt(1)); | 
| +  EXPECT_EQ('s', str2.CharAt(2)); | 
| +  EXPECT_EQ('c', str2.CharAt(3)); | 
|  | 
| const String& str3 = String::Handle(String::New(kHello)); | 
| EXPECT(str.Equals(str)); | 
| @@ -586,15 +541,15 @@ TEST_CASE(String) { | 
| EXPECT(two_str.IsTwoByteString()); | 
| EXPECT(!two_str.IsOneByteString()); | 
| EXPECT_EQ(kWideCharsLen, two_str.Length()); | 
| -  EXPECT_EQ(ToUChar('H'), two_str.CharAt(0)); | 
| +  EXPECT_EQ('H', two_str.CharAt(0)); | 
| EXPECT_EQ(256, two_str.CharAt(5)); | 
| const intptr_t kWideCharsIndex = 3; | 
| const String& sub2 = String::Handle(String::SubString(two_str, kCharsIndex)); | 
| EXPECT_EQ((kWideCharsLen - kWideCharsIndex), sub2.Length()); | 
| -  EXPECT_EQ(ToUChar('l'), sub2.CharAt(0)); | 
| -  EXPECT_EQ(ToUChar('o'), sub2.CharAt(1)); | 
| +  EXPECT_EQ('l', sub2.CharAt(0)); | 
| +  EXPECT_EQ('o', sub2.CharAt(1)); | 
| EXPECT_EQ(256, sub2.CharAt(2)); | 
| -  EXPECT_EQ(ToUChar('!'), sub2.CharAt(3)); | 
| +  EXPECT_EQ('!', sub2.CharAt(3)); | 
|  | 
| { | 
| const String& str1 = String::Handle(String::New("My.create")); | 
| @@ -604,20 +559,20 @@ TEST_CASE(String) { | 
| EXPECT_EQ(false, str1.StartsWith(str3)); | 
| } | 
|  | 
| -  const int32_t four_chars[] = { 'C', 0xFF, 'h', 0xFFFF, 'a', 0x10FFFF, 'r' }; | 
| +  const uint32_t four_chars[] = { 'C', 0xFF, 'h', 0xFFFF, 'a', 0x10FFFF, 'r' }; | 
| const String& four_str = String::Handle(String::New(four_chars, 7)); | 
| EXPECT_EQ(four_str.Hash(), four_str.Hash()); | 
| EXPECT(four_str.IsTwoByteString()); | 
| EXPECT(!four_str.IsOneByteString()); | 
| EXPECT_EQ(8, four_str.Length()); | 
| -  EXPECT_EQ(ToUChar('C'), four_str.CharAt(0)); | 
| +  EXPECT_EQ('C', four_str.CharAt(0)); | 
| EXPECT_EQ(0xFF, four_str.CharAt(1)); | 
| -  EXPECT_EQ(ToUChar('h'), four_str.CharAt(2)); | 
| +  EXPECT_EQ('h', four_str.CharAt(2)); | 
| EXPECT_EQ(0xFFFF, four_str.CharAt(3)); | 
| -  EXPECT_EQ(ToUChar('a'), four_str.CharAt(4)); | 
| +  EXPECT_EQ('a', four_str.CharAt(4)); | 
| EXPECT_EQ(0xDBFF, four_str.CharAt(5)); | 
| EXPECT_EQ(0xDFFF, four_str.CharAt(6)); | 
| -  EXPECT_EQ(ToUChar('r'), four_str.CharAt(7)); | 
| +  EXPECT_EQ('r', four_str.CharAt(7)); | 
|  | 
| // Create a 1-byte string from an array of 2-byte elements. | 
| { | 
| @@ -632,7 +587,7 @@ TEST_CASE(String) { | 
|  | 
| // Create a 1-byte string from an array of 4-byte elements. | 
| { | 
| -    const int32_t char32[] = { 0x00, 0x1F, 0x7F }; | 
| +    const uint32_t char32[] = { 0x00, 0x1F, 0x7F }; | 
| const String& str8 = String::Handle(String::New(char32, 3)); | 
| EXPECT(str8.IsOneByteString()); | 
| EXPECT(!str8.IsTwoByteString()); | 
| @@ -643,7 +598,7 @@ TEST_CASE(String) { | 
|  | 
| // Create a 2-byte string from an array of 4-byte elements. | 
| { | 
| -    const int32_t char32[] = { 0, 0x7FFF, 0xFFFF }; | 
| +    const uint32_t char32[] = { 0, 0x7FFF, 0xFFFF }; | 
| const String& str16 = String::Handle(String::New(char32, 3)); | 
| EXPECT(!str16.IsOneByteString()); | 
| EXPECT(str16.IsTwoByteString()); | 
| @@ -988,7 +943,7 @@ TEST_CASE(StringConcat) { | 
| EXPECT(str1.IsOneByteString()); | 
| EXPECT_EQ(0, str1.Length()); | 
|  | 
| -    int32_t four[] = { 0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1 }; | 
| +    uint32_t four[] = { 0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1 }; | 
| intptr_t four_len = sizeof(four) / sizeof(four[0]); | 
| intptr_t expected_len = (four_len * 2); | 
| const String& str2 = String::Handle(String::New(four, four_len)); | 
| @@ -1033,8 +988,8 @@ TEST_CASE(StringConcat) { | 
| array3.SetAt(2, str2); | 
| const String& str7 = String::Handle(String::ConcatAll(array3)); | 
| EXPECT(str7.IsTwoByteString()); | 
| -    int32_t fourfour[] = { 0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1, | 
| -                           0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1 }; | 
| +    uint32_t fourfour[] = { 0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1, | 
| +                            0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1 }; | 
| intptr_t fourfour_len = sizeof(fourfour) / sizeof(fourfour[0]); | 
| EXPECT_EQ((fourfour_len * 2), str7.Length()); | 
| const String& fourfour_str = | 
| @@ -1044,13 +999,13 @@ TEST_CASE(StringConcat) { | 
|  | 
| // Concatenate non-empty strings built from 4-byte elements. | 
| { | 
| -    const int32_t one[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF }; | 
| +    const uint32_t one[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF }; | 
| intptr_t one_len = sizeof(one) / sizeof(one[0]); | 
| const String& onestr = String::Handle(String::New(one, one_len)); | 
| EXPECT(onestr.IsTwoByteString()); | 
| EXPECT_EQ((one_len *2), onestr.Length()); | 
|  | 
| -    const int32_t two[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9 }; | 
| +    const uint32_t two[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9 }; | 
| intptr_t two_len = sizeof(two) / sizeof(two[0]); | 
| const String& twostr = String::Handle(String::New(two, two_len)); | 
| EXPECT(twostr.IsTwoByteString()); | 
| @@ -1060,8 +1015,8 @@ TEST_CASE(StringConcat) { | 
|  | 
| const String& str1 = String::Handle(String::Concat(onestr, twostr)); | 
| EXPECT(str1.IsTwoByteString()); | 
| -    const int32_t one_two[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF, | 
| -                                0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9 }; | 
| +    const uint32_t one_two[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF, | 
| +                                 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9 }; | 
| intptr_t one_two_len = sizeof(one_two) / sizeof(one_two[0]); | 
| EXPECT_EQ((one_two_len * 2), str1.Length()); | 
| const String& one_two_str = | 
| @@ -1070,8 +1025,8 @@ TEST_CASE(StringConcat) { | 
|  | 
| const String& str2 = String::Handle(String::Concat(twostr, onestr)); | 
| EXPECT(str2.IsTwoByteString()); | 
| -    const int32_t two_one[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9, | 
| -                                0x105D0, 0x105D9, 0x105D9, 0x105DF }; | 
| +    const uint32_t two_one[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9, | 
| +                                 0x105D0, 0x105D9, 0x105D9, 0x105DF }; | 
| intptr_t two_one_len = sizeof(two_one) / sizeof(two_one[0]); | 
| EXPECT_EQ((two_one_len * 2), str2.Length()); | 
| const String& two_one_str = | 
| @@ -1105,10 +1060,10 @@ TEST_CASE(StringConcat) { | 
| array3.SetAt(2, onestr); | 
| const String& str5 = String::Handle(String::ConcatAll(array3)); | 
| EXPECT(str5.IsTwoByteString()); | 
| -    const int32_t one_two_one[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF, | 
| -                                    0x105E6, 0x105D5, 0x105D5, 0x105D9, | 
| -                                    0x105D9, | 
| -                                    0x105D0, 0x105D9, 0x105D9, 0x105DF }; | 
| +    const uint32_t one_two_one[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF, | 
| +                                     0x105E6, 0x105D5, 0x105D5, 0x105D9, | 
| +                                     0x105D9, | 
| +                                     0x105D0, 0x105D9, 0x105D9, 0x105DF }; | 
| intptr_t one_two_one_len = sizeof(one_two_one) / sizeof(one_two_one[0]); | 
| EXPECT_EQ((one_two_one_len * 2), str5.Length()); | 
| const String& one_two_one_str = | 
| @@ -1122,11 +1077,11 @@ TEST_CASE(StringConcat) { | 
| array4.SetAt(2, twostr); | 
| const String& str6 = String::Handle(String::ConcatAll(array4)); | 
| EXPECT(str6.IsTwoByteString()); | 
| -    const int32_t two_one_two[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, | 
| -                                    0x105D9, | 
| -                                    0x105D0, 0x105D9, 0x105D9, 0x105DF, | 
| -                                    0x105E6, 0x105D5, 0x105D5, 0x105D9, | 
| -                                    0x105D9 }; | 
| +    const uint32_t two_one_two[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, | 
| +                                     0x105D9, | 
| +                                     0x105D0, 0x105D9, 0x105D9, 0x105DF, | 
| +                                     0x105E6, 0x105D5, 0x105D5, 0x105D9, | 
| +                                     0x105D9 }; | 
| intptr_t two_one_two_len = sizeof(two_one_two) / sizeof(two_one_two[0]); | 
| EXPECT_EQ((two_one_two_len * 2), str6.Length()); | 
| const String& two_one_two_str = | 
| @@ -1343,7 +1298,7 @@ TEST_CASE(StringFromUtf8Literal) { | 
| "\x80\xE0\xBC\x80\xEA\x80\x80\xEB" | 
| "\x80\x80\xEC\x80\x80\xED\x80\x80" | 
| "\xEE\x80\x80\xEF\x80\x80"; | 
| -    const int32_t expected[] = { | 
| +    const intptr_t expected[] = { | 
| 0x000A, 0x000B, 0x000D, 0x000C, 0x000E, 0x000F, 0x00A0, 0x00B0, | 
| 0x00C0, 0x00D0, 0x00E0, 0x00F0, 0x0A00, 0x0B00, 0x0C00, 0x0D00, | 
| 0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000 | 
| @@ -1363,8 +1318,8 @@ TEST_CASE(StringFromUtf8Literal) { | 
| const char* src = | 
| "\xF0\x9D\x91\xA0\xF0\x9D\x91\xA1" | 
| "\xF0\x9D\x91\xA2\xF0\x9D\x91\xA3"; | 
| -    const int32_t expected[] = { 0xd835, 0xdc60, 0xd835, 0xdc61, | 
| -                                 0xd835, 0xdc62, 0xd835, 0xdc63 }; | 
| +    const intptr_t expected[] = { 0xd835, 0xdc60, 0xd835, 0xdc61, | 
| +                                  0xd835, 0xdc62, 0xd835, 0xdc63 }; | 
| const String& str = String::Handle(String::New(src)); | 
| EXPECT(str.IsTwoByteString()); | 
| intptr_t expected_size = (sizeof(expected) / sizeof(expected[0])); | 
| @@ -1385,7 +1340,7 @@ TEST_CASE(StringFromUtf8Literal) { | 
| "\x80\xEF\x80\x80\xF0\x9A\x80\x80" | 
| "\xF0\x9B\x80\x80\xF0\x9D\x80\x80" | 
| "\xF0\x9E\x80\x80\xF0\x9F\x80\x80"; | 
| -    const int32_t expected[] = { | 
| +    const intptr_t expected[] = { | 
| 0x0A00, 0x0B00, 0x0C00, 0x0D00, 0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000, | 
| 0xD000, 0xE000, 0xF000, 0xD828, 0xDC00, 0xD82c, 0xDC00, 0xD834, 0xDC00, | 
| 0xD838, 0xDC00, 0xD83c, 0xDC00, | 
| @@ -1413,7 +1368,7 @@ TEST_CASE(StringFromUtf8Literal) { | 
| "\x80\x80\xF0\x9B\x80\x80\xF0\x9D" | 
| "\x80\x80\xF0\x9E\x80\x80\xF0\x9F" | 
| "\x80\x80"; | 
| -    const int32_t expected[] = { | 
| +    const intptr_t expected[] = { | 
| 0x000A, 0x000B, 0x000D, 0x000C, 0x000E, 0x000F, 0x00A0, 0x00B0, | 
| 0x00C0, 0x00D0, 0x00E0, 0x00F0, 0x0A00, 0x0B00, 0x0C00, 0x0D00, | 
| 0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000, | 
| @@ -1547,28 +1502,10 @@ TEST_CASE(Symbol) { | 
| EXPECT_EQ(one.raw(), ein_symbol.raw()); | 
| EXPECT(one.raw() != eins.raw()); | 
|  | 
| -  uint16_t char16[] = { 'E', 'l', 'f' }; | 
| -  String& elf = String::Handle(Symbols::New(char16, 3)); | 
| +  uint32_t char32[] = { 'E', 'l', 'f' }; | 
| +  String& elf = String::Handle(Symbols::New(char32, 3)); | 
| EXPECT(elf.IsSymbol()); | 
| EXPECT_EQ(elf.raw(), Symbols::New("Elf")); | 
| - | 
| -  uint16_t monkey_utf16[] = { 0xd83d, 0xdc35 };  // Unicode Monkey Face. | 
| -  String& monkey = String::Handle(Symbols::New(monkey_utf16, 2)); | 
| -  EXPECT(monkey.IsSymbol()); | 
| -  EXPECT_EQ(monkey.raw(), Symbols::New("🐵")); | 
| - | 
| -  int32_t kMonkeyFace = 0x1f435; | 
| -  String& monkey2 = String::Handle(Symbols::FromCharCode(kMonkeyFace)); | 
| -  EXPECT_EQ(monkey.raw(), monkey2.raw()); | 
| - | 
| -  // Unicode cat face with tears of joy. | 
| -  int32_t kCatFaceWithTearsOfJoy = 0x1f639; | 
| -  String& cat = String::Handle(Symbols::FromCharCode(kCatFaceWithTearsOfJoy)); | 
| - | 
| -  uint16_t cat_utf16[] = { 0xd83d, 0xde39 }; | 
| -  String& cat2 = String::Handle(Symbols::New(cat_utf16, 2)); | 
| -  EXPECT(cat2.IsSymbol()); | 
| -  EXPECT_EQ(cat2.raw(), cat.raw()); | 
| } | 
|  | 
|  | 
| @@ -2099,14 +2036,14 @@ TEST_CASE(Script) { | 
| EXPECT(script.IsScript()); | 
| String& str = String::Handle(script.url()); | 
| EXPECT_EQ(17, str.Length()); | 
| -  EXPECT_EQ(ToUChar('b'), str.CharAt(0)); | 
| -  EXPECT_EQ(ToUChar(':'), str.CharAt(7)); | 
| -  EXPECT_EQ(ToUChar('e'), str.CharAt(16)); | 
| +  EXPECT_EQ('b', str.CharAt(0)); | 
| +  EXPECT_EQ(':', str.CharAt(7)); | 
| +  EXPECT_EQ('e', str.CharAt(16)); | 
| str = script.Source(); | 
| EXPECT_EQ(22, str.Length()); | 
| -  EXPECT_EQ(ToUChar('T'), str.CharAt(0)); | 
| -  EXPECT_EQ(ToUChar('n'), str.CharAt(10)); | 
| -  EXPECT_EQ(ToUChar('.'), str.CharAt(21)); | 
| +  EXPECT_EQ('T', str.CharAt(0)); | 
| +  EXPECT_EQ('n', str.CharAt(10)); | 
| +  EXPECT_EQ('.', str.CharAt(21)); | 
| } | 
|  | 
|  | 
| @@ -2346,7 +2283,7 @@ TEST_CASE(EmbedStringInCode) { | 
| string_object ^= reinterpret_cast<RawInstructions*>(retval); | 
| EXPECT(string_object.Length() == expected_length); | 
| for (int i = 0; i < expected_length; i ++) { | 
| -    EXPECT(string_object.CharAt(i) == static_cast<int32_t>(kHello[i])); | 
| +    EXPECT(string_object.CharAt(i) == kHello[i]); | 
| } | 
| } | 
|  | 
|  |