|
4 | 4 | // |
5 | 5 | // MessagePack for CLI |
6 | 6 | // |
7 | | -// Copyright (C) 2010-2015 FUJIWARA, Yusuke |
| 7 | +// Copyright (C) 2010-2016 FUJIWARA, Yusuke |
8 | 8 | // |
9 | 9 | // Licensed under the Apache License, Version 2.0 (the "License"); |
10 | 10 | // you may not use this file except in compliance with the License. |
@@ -150,12 +150,17 @@ internal bool ReadSubtreeByte( out Byte result ) |
150 | 150 | case ReadValueResult.Int64: |
151 | 151 | case ReadValueResult.UInt16: |
152 | 152 | case ReadValueResult.UInt32: |
153 | | - case ReadValueResult.UInt64: |
154 | 153 | { |
155 | 154 | this.InternalCollectionType = CollectionType.None; |
156 | 155 | result = checked( ( Byte )integral ); |
157 | 156 | return true; |
158 | 157 | } |
| 158 | + case ReadValueResult.UInt64: |
| 159 | + { |
| 160 | + this.InternalCollectionType = CollectionType.None; |
| 161 | + result = checked( ( Byte )( UInt64 )integral ); |
| 162 | + return true; |
| 163 | + } |
159 | 164 | case ReadValueResult.Single: |
160 | 165 | { |
161 | 166 | this.InternalCollectionType = CollectionType.None; |
@@ -218,12 +223,17 @@ internal bool ReadSubtreeNullableByte( out Byte? result ) |
218 | 223 | case ReadValueResult.Int64: |
219 | 224 | case ReadValueResult.UInt16: |
220 | 225 | case ReadValueResult.UInt32: |
221 | | - case ReadValueResult.UInt64: |
222 | 226 | { |
223 | 227 | this.InternalCollectionType = CollectionType.None; |
224 | 228 | result = checked( ( Byte )integral ); |
225 | 229 | return true; |
226 | 230 | } |
| 231 | + case ReadValueResult.UInt64: |
| 232 | + { |
| 233 | + this.InternalCollectionType = CollectionType.None; |
| 234 | + result = checked( ( Byte )( UInt64 )integral ); |
| 235 | + return true; |
| 236 | + } |
227 | 237 | case ReadValueResult.Single: |
228 | 238 | { |
229 | 239 | this.InternalCollectionType = CollectionType.None; |
@@ -280,12 +290,17 @@ internal bool ReadSubtreeSByte( out SByte result ) |
280 | 290 | case ReadValueResult.Byte: |
281 | 291 | case ReadValueResult.UInt16: |
282 | 292 | case ReadValueResult.UInt32: |
283 | | - case ReadValueResult.UInt64: |
284 | 293 | { |
285 | 294 | this.InternalCollectionType = CollectionType.None; |
286 | 295 | result = checked( ( SByte )integral ); |
287 | 296 | return true; |
288 | 297 | } |
| 298 | + case ReadValueResult.UInt64: |
| 299 | + { |
| 300 | + this.InternalCollectionType = CollectionType.None; |
| 301 | + result = checked( ( SByte )( UInt64 )integral ); |
| 302 | + return true; |
| 303 | + } |
289 | 304 | case ReadValueResult.Single: |
290 | 305 | { |
291 | 306 | this.InternalCollectionType = CollectionType.None; |
@@ -348,12 +363,17 @@ internal bool ReadSubtreeNullableSByte( out SByte? result ) |
348 | 363 | case ReadValueResult.Byte: |
349 | 364 | case ReadValueResult.UInt16: |
350 | 365 | case ReadValueResult.UInt32: |
351 | | - case ReadValueResult.UInt64: |
352 | 366 | { |
353 | 367 | this.InternalCollectionType = CollectionType.None; |
354 | 368 | result = checked( ( SByte )integral ); |
355 | 369 | return true; |
356 | 370 | } |
| 371 | + case ReadValueResult.UInt64: |
| 372 | + { |
| 373 | + this.InternalCollectionType = CollectionType.None; |
| 374 | + result = checked( ( SByte )( UInt64 )integral ); |
| 375 | + return true; |
| 376 | + } |
357 | 377 | case ReadValueResult.Single: |
358 | 378 | { |
359 | 379 | this.InternalCollectionType = CollectionType.None; |
@@ -410,12 +430,17 @@ internal bool ReadSubtreeInt16( out Int16 result ) |
410 | 430 | case ReadValueResult.Byte: |
411 | 431 | case ReadValueResult.UInt16: |
412 | 432 | case ReadValueResult.UInt32: |
413 | | - case ReadValueResult.UInt64: |
414 | 433 | { |
415 | 434 | this.InternalCollectionType = CollectionType.None; |
416 | 435 | result = checked( ( Int16 )integral ); |
417 | 436 | return true; |
418 | 437 | } |
| 438 | + case ReadValueResult.UInt64: |
| 439 | + { |
| 440 | + this.InternalCollectionType = CollectionType.None; |
| 441 | + result = checked( ( Int16 )( UInt64 )integral ); |
| 442 | + return true; |
| 443 | + } |
419 | 444 | case ReadValueResult.Single: |
420 | 445 | { |
421 | 446 | this.InternalCollectionType = CollectionType.None; |
@@ -478,12 +503,17 @@ internal bool ReadSubtreeNullableInt16( out Int16? result ) |
478 | 503 | case ReadValueResult.Byte: |
479 | 504 | case ReadValueResult.UInt16: |
480 | 505 | case ReadValueResult.UInt32: |
481 | | - case ReadValueResult.UInt64: |
482 | 506 | { |
483 | 507 | this.InternalCollectionType = CollectionType.None; |
484 | 508 | result = checked( ( Int16 )integral ); |
485 | 509 | return true; |
486 | 510 | } |
| 511 | + case ReadValueResult.UInt64: |
| 512 | + { |
| 513 | + this.InternalCollectionType = CollectionType.None; |
| 514 | + result = checked( ( Int16 )( UInt64 )integral ); |
| 515 | + return true; |
| 516 | + } |
487 | 517 | case ReadValueResult.Single: |
488 | 518 | { |
489 | 519 | this.InternalCollectionType = CollectionType.None; |
@@ -540,12 +570,17 @@ internal bool ReadSubtreeUInt16( out UInt16 result ) |
540 | 570 | case ReadValueResult.Int64: |
541 | 571 | case ReadValueResult.Byte: |
542 | 572 | case ReadValueResult.UInt32: |
543 | | - case ReadValueResult.UInt64: |
544 | 573 | { |
545 | 574 | this.InternalCollectionType = CollectionType.None; |
546 | 575 | result = checked( ( UInt16 )integral ); |
547 | 576 | return true; |
548 | 577 | } |
| 578 | + case ReadValueResult.UInt64: |
| 579 | + { |
| 580 | + this.InternalCollectionType = CollectionType.None; |
| 581 | + result = checked( ( UInt16 )( UInt64 )integral ); |
| 582 | + return true; |
| 583 | + } |
549 | 584 | case ReadValueResult.Single: |
550 | 585 | { |
551 | 586 | this.InternalCollectionType = CollectionType.None; |
@@ -608,12 +643,17 @@ internal bool ReadSubtreeNullableUInt16( out UInt16? result ) |
608 | 643 | case ReadValueResult.Int64: |
609 | 644 | case ReadValueResult.Byte: |
610 | 645 | case ReadValueResult.UInt32: |
611 | | - case ReadValueResult.UInt64: |
612 | 646 | { |
613 | 647 | this.InternalCollectionType = CollectionType.None; |
614 | 648 | result = checked( ( UInt16 )integral ); |
615 | 649 | return true; |
616 | 650 | } |
| 651 | + case ReadValueResult.UInt64: |
| 652 | + { |
| 653 | + this.InternalCollectionType = CollectionType.None; |
| 654 | + result = checked( ( UInt16 )( UInt64 )integral ); |
| 655 | + return true; |
| 656 | + } |
617 | 657 | case ReadValueResult.Single: |
618 | 658 | { |
619 | 659 | this.InternalCollectionType = CollectionType.None; |
@@ -670,12 +710,17 @@ internal bool ReadSubtreeInt32( out Int32 result ) |
670 | 710 | case ReadValueResult.Byte: |
671 | 711 | case ReadValueResult.UInt16: |
672 | 712 | case ReadValueResult.UInt32: |
673 | | - case ReadValueResult.UInt64: |
674 | 713 | { |
675 | 714 | this.InternalCollectionType = CollectionType.None; |
676 | 715 | result = checked( ( Int32 )integral ); |
677 | 716 | return true; |
678 | 717 | } |
| 718 | + case ReadValueResult.UInt64: |
| 719 | + { |
| 720 | + this.InternalCollectionType = CollectionType.None; |
| 721 | + result = checked( ( Int32 )( UInt64 )integral ); |
| 722 | + return true; |
| 723 | + } |
679 | 724 | case ReadValueResult.Single: |
680 | 725 | { |
681 | 726 | this.InternalCollectionType = CollectionType.None; |
@@ -738,12 +783,17 @@ internal bool ReadSubtreeNullableInt32( out Int32? result ) |
738 | 783 | case ReadValueResult.Byte: |
739 | 784 | case ReadValueResult.UInt16: |
740 | 785 | case ReadValueResult.UInt32: |
741 | | - case ReadValueResult.UInt64: |
742 | 786 | { |
743 | 787 | this.InternalCollectionType = CollectionType.None; |
744 | 788 | result = checked( ( Int32 )integral ); |
745 | 789 | return true; |
746 | 790 | } |
| 791 | + case ReadValueResult.UInt64: |
| 792 | + { |
| 793 | + this.InternalCollectionType = CollectionType.None; |
| 794 | + result = checked( ( Int32 )( UInt64 )integral ); |
| 795 | + return true; |
| 796 | + } |
747 | 797 | case ReadValueResult.Single: |
748 | 798 | { |
749 | 799 | this.InternalCollectionType = CollectionType.None; |
@@ -800,12 +850,17 @@ internal bool ReadSubtreeUInt32( out UInt32 result ) |
800 | 850 | case ReadValueResult.Int64: |
801 | 851 | case ReadValueResult.Byte: |
802 | 852 | case ReadValueResult.UInt16: |
803 | | - case ReadValueResult.UInt64: |
804 | 853 | { |
805 | 854 | this.InternalCollectionType = CollectionType.None; |
806 | 855 | result = checked( ( UInt32 )integral ); |
807 | 856 | return true; |
808 | 857 | } |
| 858 | + case ReadValueResult.UInt64: |
| 859 | + { |
| 860 | + this.InternalCollectionType = CollectionType.None; |
| 861 | + result = checked( ( UInt32 )( UInt64 )integral ); |
| 862 | + return true; |
| 863 | + } |
809 | 864 | case ReadValueResult.Single: |
810 | 865 | { |
811 | 866 | this.InternalCollectionType = CollectionType.None; |
@@ -868,12 +923,17 @@ internal bool ReadSubtreeNullableUInt32( out UInt32? result ) |
868 | 923 | case ReadValueResult.Int64: |
869 | 924 | case ReadValueResult.Byte: |
870 | 925 | case ReadValueResult.UInt16: |
871 | | - case ReadValueResult.UInt64: |
872 | 926 | { |
873 | 927 | this.InternalCollectionType = CollectionType.None; |
874 | 928 | result = checked( ( UInt32 )integral ); |
875 | 929 | return true; |
876 | 930 | } |
| 931 | + case ReadValueResult.UInt64: |
| 932 | + { |
| 933 | + this.InternalCollectionType = CollectionType.None; |
| 934 | + result = checked( ( UInt32 )( UInt64 )integral ); |
| 935 | + return true; |
| 936 | + } |
877 | 937 | case ReadValueResult.Single: |
878 | 938 | { |
879 | 939 | this.InternalCollectionType = CollectionType.None; |
@@ -930,12 +990,17 @@ internal bool ReadSubtreeInt64( out Int64 result ) |
930 | 990 | case ReadValueResult.Byte: |
931 | 991 | case ReadValueResult.UInt16: |
932 | 992 | case ReadValueResult.UInt32: |
933 | | - case ReadValueResult.UInt64: |
934 | 993 | { |
935 | 994 | this.InternalCollectionType = CollectionType.None; |
936 | 995 | result = integral; |
937 | 996 | return true; |
938 | 997 | } |
| 998 | + case ReadValueResult.UInt64: |
| 999 | + { |
| 1000 | + this.InternalCollectionType = CollectionType.None; |
| 1001 | + result = checked( ( Int64 )( UInt64 )integral ); |
| 1002 | + return true; |
| 1003 | + } |
939 | 1004 | case ReadValueResult.Single: |
940 | 1005 | { |
941 | 1006 | this.InternalCollectionType = CollectionType.None; |
@@ -998,12 +1063,17 @@ internal bool ReadSubtreeNullableInt64( out Int64? result ) |
998 | 1063 | case ReadValueResult.Byte: |
999 | 1064 | case ReadValueResult.UInt16: |
1000 | 1065 | case ReadValueResult.UInt32: |
1001 | | - case ReadValueResult.UInt64: |
1002 | 1066 | { |
1003 | 1067 | this.InternalCollectionType = CollectionType.None; |
1004 | 1068 | result = integral; |
1005 | 1069 | return true; |
1006 | 1070 | } |
| 1071 | + case ReadValueResult.UInt64: |
| 1072 | + { |
| 1073 | + this.InternalCollectionType = CollectionType.None; |
| 1074 | + result = checked( ( Int64 )( UInt64 )integral ); |
| 1075 | + return true; |
| 1076 | + } |
1007 | 1077 | case ReadValueResult.Single: |
1008 | 1078 | { |
1009 | 1079 | this.InternalCollectionType = CollectionType.None; |
@@ -1191,12 +1261,17 @@ internal bool ReadSubtreeSingle( out Single result ) |
1191 | 1261 | case ReadValueResult.Byte: |
1192 | 1262 | case ReadValueResult.UInt16: |
1193 | 1263 | case ReadValueResult.UInt32: |
1194 | | - case ReadValueResult.UInt64: |
1195 | 1264 | { |
1196 | 1265 | this.InternalCollectionType = CollectionType.None; |
1197 | 1266 | result = integral; |
1198 | 1267 | return true; |
1199 | 1268 | } |
| 1269 | + case ReadValueResult.UInt64: |
| 1270 | + { |
| 1271 | + this.InternalCollectionType = CollectionType.None; |
| 1272 | + result = unchecked( ( UInt64 )integral ); |
| 1273 | + return true; |
| 1274 | + } |
1200 | 1275 | case ReadValueResult.Double: |
1201 | 1276 | { |
1202 | 1277 | this.InternalCollectionType = CollectionType.None; |
@@ -1254,12 +1329,17 @@ internal bool ReadSubtreeNullableSingle( out Single? result ) |
1254 | 1329 | case ReadValueResult.Byte: |
1255 | 1330 | case ReadValueResult.UInt16: |
1256 | 1331 | case ReadValueResult.UInt32: |
1257 | | - case ReadValueResult.UInt64: |
1258 | 1332 | { |
1259 | 1333 | this.InternalCollectionType = CollectionType.None; |
1260 | 1334 | result = integral; |
1261 | 1335 | return true; |
1262 | 1336 | } |
| 1337 | + case ReadValueResult.UInt64: |
| 1338 | + { |
| 1339 | + this.InternalCollectionType = CollectionType.None; |
| 1340 | + result = unchecked( ( UInt64 )integral ); |
| 1341 | + return true; |
| 1342 | + } |
1263 | 1343 | case ReadValueResult.Double: |
1264 | 1344 | { |
1265 | 1345 | this.InternalCollectionType = CollectionType.None; |
@@ -1311,12 +1391,17 @@ internal bool ReadSubtreeDouble( out Double result ) |
1311 | 1391 | case ReadValueResult.Byte: |
1312 | 1392 | case ReadValueResult.UInt16: |
1313 | 1393 | case ReadValueResult.UInt32: |
1314 | | - case ReadValueResult.UInt64: |
1315 | 1394 | { |
1316 | 1395 | this.InternalCollectionType = CollectionType.None; |
1317 | 1396 | result = integral; |
1318 | 1397 | return true; |
1319 | 1398 | } |
| 1399 | + case ReadValueResult.UInt64: |
| 1400 | + { |
| 1401 | + this.InternalCollectionType = CollectionType.None; |
| 1402 | + result = unchecked( ( UInt64 )integral ); |
| 1403 | + return true; |
| 1404 | + } |
1320 | 1405 | case ReadValueResult.Single: |
1321 | 1406 | { |
1322 | 1407 | this.InternalCollectionType = CollectionType.None; |
@@ -1374,12 +1459,17 @@ internal bool ReadSubtreeNullableDouble( out Double? result ) |
1374 | 1459 | case ReadValueResult.Byte: |
1375 | 1460 | case ReadValueResult.UInt16: |
1376 | 1461 | case ReadValueResult.UInt32: |
1377 | | - case ReadValueResult.UInt64: |
1378 | 1462 | { |
1379 | 1463 | this.InternalCollectionType = CollectionType.None; |
1380 | 1464 | result = integral; |
1381 | 1465 | return true; |
1382 | 1466 | } |
| 1467 | + case ReadValueResult.UInt64: |
| 1468 | + { |
| 1469 | + this.InternalCollectionType = CollectionType.None; |
| 1470 | + result = unchecked( ( UInt64 )integral ); |
| 1471 | + return true; |
| 1472 | + } |
1383 | 1473 | case ReadValueResult.Single: |
1384 | 1474 | { |
1385 | 1475 | this.InternalCollectionType = CollectionType.None; |
|
0 commit comments