@@ -278,7 +278,7 @@ private RubyString getCreateId(ThreadContext context) {
278278 }
279279
280280 private RubyFloat createFloat (final ThreadContext context , final ByteList num ) {
281- return RubyFloat .newFloat (context .runtime , ConvertDouble . byteListToDouble19 (num , true ));
281+ return RubyFloat .newFloat (context .runtime , new DoubleConverter (). parse (num , true , true ));
282282 }
283283
284284 private IRubyObject createBigDecimal (final ThreadContext context , final ByteList num ) {
@@ -957,13 +957,11 @@ RubyInteger createInteger(int p, int new_p) {
957957 }
958958
959959 RubyInteger bytesToInum (Ruby runtime , ByteList num ) {
960- return runtime .is1_9 () ?
961- ConvertBytes .byteListToInum19 (runtime , num , 10 , true ) :
962- ConvertBytes .byteListToInum (runtime , num , 10 , true );
960+ return ConvertBytes .byteListToInum (runtime , num , 10 , true );
963961 }
964962
965963
966- // line 967 "Parser.java"
964+ // line 965 "Parser.java"
967965private static byte [] init__JSON_float_actions_0 ()
968966{
969967 return new byte [] {
@@ -1065,7 +1063,7 @@ private static byte[] init__JSON_float_trans_actions_0()
10651063static final int JSON_float_en_main = 1 ;
10661064
10671065
1068- // line 555 "Parser.rl"
1066+ // line 553 "Parser.rl"
10691067
10701068
10711069 void parseFloat (ParserResult res , int p , int pe ) {
@@ -1084,15 +1082,15 @@ int parseFloatInternal(int p, int pe) {
10841082 int cs = EVIL ;
10851083
10861084
1087- // line 1088 "Parser.java"
1085+ // line 1086 "Parser.java"
10881086 {
10891087 cs = JSON_float_start ;
10901088 }
10911089
1092- // line 573 "Parser.rl"
1090+ // line 571 "Parser.rl"
10931091 int memo = p ;
10941092
1095- // line 1096 "Parser.java"
1093+ // line 1094 "Parser.java"
10961094 {
10971095 int _klen ;
10981096 int _trans = 0 ;
@@ -1173,13 +1171,13 @@ else if ( data[p] > _JSON_float_trans_keys[_mid+1] )
11731171 switch ( _JSON_float_actions [_acts ++] )
11741172 {
11751173 case 0 :
1176- // line 546 "Parser.rl"
1174+ // line 544 "Parser.rl"
11771175 {
11781176 p --;
11791177 { p += 1 ; _goto_targ = 5 ; if (true ) continue _goto ;}
11801178 }
11811179 break ;
1182- // line 1183 "Parser.java"
1180+ // line 1181 "Parser.java"
11831181 }
11841182 }
11851183 }
@@ -1199,7 +1197,7 @@ else if ( data[p] > _JSON_float_trans_keys[_mid+1] )
11991197 break ; }
12001198 }
12011199
1202- // line 575 "Parser.rl"
1200+ // line 573 "Parser.rl"
12031201
12041202 if (cs < JSON_float_first_final ) {
12051203 return -1 ;
@@ -1209,7 +1207,7 @@ else if ( data[p] > _JSON_float_trans_keys[_mid+1] )
12091207 }
12101208
12111209
1212- // line 1213 "Parser.java"
1210+ // line 1211 "Parser.java"
12131211private static byte [] init__JSON_string_actions_0 ()
12141212{
12151213 return new byte [] {
@@ -1311,23 +1309,23 @@ private static byte[] init__JSON_string_trans_actions_0()
13111309static final int JSON_string_en_main = 1 ;
13121310
13131311
1314- // line 614 "Parser.rl"
1312+ // line 612 "Parser.rl"
13151313
13161314
13171315 void parseString (ParserResult res , int p , int pe ) {
13181316 int cs = EVIL ;
13191317 IRubyObject result = null ;
13201318
13211319
1322- // line 1323 "Parser.java"
1320+ // line 1321 "Parser.java"
13231321 {
13241322 cs = JSON_string_start ;
13251323 }
13261324
1327- // line 621 "Parser.rl"
1325+ // line 619 "Parser.rl"
13281326 int memo = p ;
13291327
1330- // line 1331 "Parser.java"
1328+ // line 1329 "Parser.java"
13311329 {
13321330 int _klen ;
13331331 int _trans = 0 ;
@@ -1408,7 +1406,7 @@ else if ( data[p] > _JSON_string_trans_keys[_mid+1] )
14081406 switch ( _JSON_string_actions [_acts ++] )
14091407 {
14101408 case 0 :
1411- // line 589 "Parser.rl"
1409+ // line 587 "Parser.rl"
14121410 {
14131411 int offset = byteList .begin ();
14141412 ByteList decoded = decoder .decode (byteList , memo + 1 - offset ,
@@ -1423,13 +1421,13 @@ else if ( data[p] > _JSON_string_trans_keys[_mid+1] )
14231421 }
14241422 break ;
14251423 case 1 :
1426- // line 602 "Parser.rl"
1424+ // line 600 "Parser.rl"
14271425 {
14281426 p --;
14291427 { p += 1 ; _goto_targ = 5 ; if (true ) continue _goto ;}
14301428 }
14311429 break ;
1432- // line 1433 "Parser.java"
1430+ // line 1431 "Parser.java"
14331431 }
14341432 }
14351433 }
@@ -1449,7 +1447,7 @@ else if ( data[p] > _JSON_string_trans_keys[_mid+1] )
14491447 break ; }
14501448 }
14511449
1452- // line 623 "Parser.rl"
1450+ // line 621 "Parser.rl"
14531451
14541452 if (parser .createAdditions ) {
14551453 RubyHash matchString = parser .match_string ;
@@ -1494,7 +1492,7 @@ public void visit(IRubyObject pattern, IRubyObject klass) {
14941492 }
14951493
14961494
1497- // line 1498 "Parser.java"
1495+ // line 1496 "Parser.java"
14981496private static byte [] init__JSON_array_actions_0 ()
14991497{
15001498 return new byte [] {
@@ -1607,7 +1605,7 @@ private static byte[] init__JSON_array_trans_actions_0()
16071605static final int JSON_array_en_main = 1 ;
16081606
16091607
1610- // line 703 "Parser.rl"
1608+ // line 701 "Parser.rl"
16111609
16121610
16131611 void parseArray (ParserResult res , int p , int pe ) {
@@ -1627,14 +1625,14 @@ void parseArray(ParserResult res, int p, int pe) {
16271625 }
16281626
16291627
1630- // line 1631 "Parser.java"
1628+ // line 1629 "Parser.java"
16311629 {
16321630 cs = JSON_array_start ;
16331631 }
16341632
1635- // line 722 "Parser.rl"
1633+ // line 720 "Parser.rl"
16361634
1637- // line 1638 "Parser.java"
1635+ // line 1636 "Parser.java"
16381636 {
16391637 int _klen ;
16401638 int _trans = 0 ;
@@ -1715,7 +1713,7 @@ else if ( data[p] > _JSON_array_trans_keys[_mid+1] )
17151713 switch ( _JSON_array_actions [_acts ++] )
17161714 {
17171715 case 0 :
1718- // line 672 "Parser.rl"
1716+ // line 670 "Parser.rl"
17191717 {
17201718 parseValue (res , p , pe );
17211719 if (res .result == null ) {
@@ -1732,13 +1730,13 @@ else if ( data[p] > _JSON_array_trans_keys[_mid+1] )
17321730 }
17331731 break ;
17341732 case 1 :
1735- // line 687 "Parser.rl"
1733+ // line 685 "Parser.rl"
17361734 {
17371735 p --;
17381736 { p += 1 ; _goto_targ = 5 ; if (true ) continue _goto ;}
17391737 }
17401738 break ;
1741- // line 1742 "Parser.java"
1739+ // line 1740 "Parser.java"
17421740 }
17431741 }
17441742 }
@@ -1758,7 +1756,7 @@ else if ( data[p] > _JSON_array_trans_keys[_mid+1] )
17581756 break ; }
17591757 }
17601758
1761- // line 723 "Parser.rl"
1759+ // line 721 "Parser.rl"
17621760
17631761 if (cs >= JSON_array_first_final ) {
17641762 res .update (result , p + 1 );
@@ -1768,7 +1766,7 @@ else if ( data[p] > _JSON_array_trans_keys[_mid+1] )
17681766 }
17691767
17701768
1771- // line 1772 "Parser.java"
1769+ // line 1770 "Parser.java"
17721770private static byte [] init__JSON_object_actions_0 ()
17731771{
17741772 return new byte [] {
@@ -1891,7 +1889,7 @@ private static byte[] init__JSON_object_trans_actions_0()
18911889static final int JSON_object_en_main = 1 ;
18921890
18931891
1894- // line 782 "Parser.rl"
1892+ // line 778 "Parser.rl"
18951893
18961894
18971895 void parseObject (ParserResult res , int p , int pe ) {
@@ -1916,14 +1914,14 @@ void parseObject(ParserResult res, int p, int pe) {
19161914 }
19171915
19181916
1919- // line 1920 "Parser.java"
1917+ // line 1918 "Parser.java"
19201918 {
19211919 cs = JSON_object_start ;
19221920 }
19231921
1924- // line 806 "Parser.rl"
1922+ // line 802 "Parser.rl"
19251923
1926- // line 1927 "Parser.java"
1924+ // line 1925 "Parser.java"
19271925 {
19281926 int _klen ;
19291927 int _trans = 0 ;
@@ -2004,7 +2002,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
20042002 switch ( _JSON_object_actions [_acts ++] )
20052003 {
20062004 case 0 :
2007- // line 737 "Parser.rl"
2005+ // line 735 "Parser.rl"
20082006 {
20092007 parseValue (res , p , pe );
20102008 if (res .result == null ) {
@@ -2021,7 +2019,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
20212019 }
20222020 break ;
20232021 case 1 :
2024- // line 752 "Parser.rl"
2022+ // line 750 "Parser.rl"
20252023 {
20262024 parseString (res , p , pe );
20272025 if (res .result == null ) {
@@ -2030,9 +2028,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
20302028 } else {
20312029 RubyString name = (RubyString )res .result ;
20322030 if (parser .symbolizeNames ) {
2033- lastName = context .getRuntime ().is1_9 ()
2034- ? name .intern19 ()
2035- : name .intern ();
2031+ lastName = name .intern ();
20362032 } else {
20372033 lastName = name ;
20382034 }
@@ -2041,13 +2037,13 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
20412037 }
20422038 break ;
20432039 case 2 :
2044- // line 770 "Parser.rl"
2040+ // line 766 "Parser.rl"
20452041 {
20462042 p --;
20472043 { p += 1 ; _goto_targ = 5 ; if (true ) continue _goto ;}
20482044 }
20492045 break ;
2050- // line 2051 "Parser.java"
2046+ // line 2047 "Parser.java"
20512047 }
20522048 }
20532049 }
@@ -2067,7 +2063,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
20672063 break ; }
20682064 }
20692065
2070- // line 807 "Parser.rl"
2066+ // line 803 "Parser.rl"
20712067
20722068 if (cs < JSON_object_first_final ) {
20732069 res .update (null , p + 1 );
@@ -2100,7 +2096,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
21002096 }
21012097
21022098
2103- // line 2104 "Parser.java"
2099+ // line 2100 "Parser.java"
21042100private static byte [] init__JSON_actions_0 ()
21052101{
21062102 return new byte [] {
@@ -2203,7 +2199,7 @@ private static byte[] init__JSON_trans_actions_0()
22032199static final int JSON_en_main = 1 ;
22042200
22052201
2206- // line 858 "Parser.rl"
2202+ // line 854 "Parser.rl"
22072203
22082204
22092205 public IRubyObject parseImplemetation () {
@@ -2213,16 +2209,16 @@ public IRubyObject parseImplemetation() {
22132209 ParserResult res = new ParserResult ();
22142210
22152211
2216- // line 2217 "Parser.java"
2212+ // line 2213 "Parser.java"
22172213 {
22182214 cs = JSON_start ;
22192215 }
22202216
2221- // line 867 "Parser.rl"
2217+ // line 863 "Parser.rl"
22222218 p = byteList .begin ();
22232219 pe = p + byteList .length ();
22242220
2225- // line 2226 "Parser.java"
2221+ // line 2222 "Parser.java"
22262222 {
22272223 int _klen ;
22282224 int _trans = 0 ;
@@ -2303,7 +2299,7 @@ else if ( data[p] > _JSON_trans_keys[_mid+1] )
23032299 switch ( _JSON_actions [_acts ++] )
23042300 {
23052301 case 0 :
2306- // line 844 "Parser.rl"
2302+ // line 840 "Parser.rl"
23072303 {
23082304 parseValue (res , p , pe );
23092305 if (res .result == null ) {
@@ -2315,7 +2311,7 @@ else if ( data[p] > _JSON_trans_keys[_mid+1] )
23152311 }
23162312 }
23172313 break ;
2318- // line 2319 "Parser.java"
2314+ // line 2315 "Parser.java"
23192315 }
23202316 }
23212317 }
@@ -2335,7 +2331,7 @@ else if ( data[p] > _JSON_trans_keys[_mid+1] )
23352331 break ; }
23362332 }
23372333
2338- // line 870 "Parser.rl"
2334+ // line 866 "Parser.rl"
23392335
23402336 if (cs >= JSON_first_final && p == pe ) {
23412337 return result ;
0 commit comments