|
1 |
| -/* Copyright 2010-2014 MongoDB Inc. |
| 1 | +/* Copyright 2010-2015 MongoDB Inc. |
2 | 2 | *
|
3 | 3 | * Licensed under the Apache License, Version 2.0 (the "License");
|
4 | 4 | * you may not use this file except in compliance with the License.
|
@@ -509,65 +509,65 @@ private static BsonValue Convert(object value, Conversion conversion)
|
509 | 509 | case Conversion.ByteArrayToBsonBinary: return new BsonBinaryData((byte[])value);
|
510 | 510 | case Conversion.ByteArrayToBsonObjectId: return new BsonObjectId(new ObjectId((byte[])value));
|
511 | 511 | case Conversion.ByteToBsonBoolean: return (BsonBoolean)((byte)value != 0);
|
512 |
| - case Conversion.ByteToBsonDouble: return new BsonDouble((double)(byte)value); |
513 |
| - case Conversion.ByteToBsonInt32: return new BsonInt32((int)(byte)value); |
514 |
| - case Conversion.ByteToBsonInt64: return new BsonInt64((long)(byte)value); |
| 512 | + case Conversion.ByteToBsonDouble: return (BsonDouble)(double)(byte)value; |
| 513 | + case Conversion.ByteToBsonInt32: return (BsonInt32)(int)(byte)value; |
| 514 | + case Conversion.ByteToBsonInt64: return (BsonInt64)(long)(byte)value; |
515 | 515 | case Conversion.CharToBsonBoolean: return (BsonBoolean)((char)value != 0);
|
516 |
| - case Conversion.CharToBsonDouble: return new BsonDouble((double)(char)value); |
517 |
| - case Conversion.CharToBsonInt32: return new BsonInt32((int)(char)value); |
518 |
| - case Conversion.CharToBsonInt64: return new BsonInt64((long)(char)value); |
| 516 | + case Conversion.CharToBsonDouble: return (BsonDouble)(double)(char)value; |
| 517 | + case Conversion.CharToBsonInt32: return (BsonInt32)(int)(char)value; |
| 518 | + case Conversion.CharToBsonInt64: return (BsonInt64)(long)(char)value; |
519 | 519 | case Conversion.DateTimeOffsetToBsonDateTime: return new BsonDateTime(((DateTimeOffset)value).UtcDateTime);
|
520 | 520 | case Conversion.DateTimeToBsonDateTime: return new BsonDateTime((DateTime)value);
|
521 | 521 | case Conversion.DoubleToBsonBoolean: var d = (double)value; return (BsonBoolean)(!(double.IsNaN(d) || d == 0.0));
|
522 | 522 | case Conversion.GuidToBsonBinary: return new BsonBinaryData((Guid)value);
|
523 | 523 | case Conversion.Int16ToBsonBoolean: return (BsonBoolean)((short)value != 0);
|
524 |
| - case Conversion.Int16ToBsonDouble: return new BsonDouble((double)(short)value); |
525 |
| - case Conversion.Int16ToBsonInt32: return new BsonInt32((int)(short)value); |
526 |
| - case Conversion.Int16ToBsonInt64: return new BsonInt64((long)(short)value); |
| 524 | + case Conversion.Int16ToBsonDouble: return (BsonDouble)(double)(short)value; |
| 525 | + case Conversion.Int16ToBsonInt32: return (BsonInt32)(int)(short)value; |
| 526 | + case Conversion.Int16ToBsonInt64: return (BsonInt64)(long)(short)value; |
527 | 527 | case Conversion.Int32ToBsonBoolean: return (BsonBoolean)((int)value != 0);
|
528 |
| - case Conversion.Int32ToBsonDouble: return new BsonDouble((double)(int)value); |
529 |
| - case Conversion.Int32ToBsonInt64: return new BsonInt64((long)(int)value); |
| 528 | + case Conversion.Int32ToBsonDouble: return (BsonDouble)(double)(int)value; |
| 529 | + case Conversion.Int32ToBsonInt64: return (BsonInt64)(long)(int)value; |
530 | 530 | case Conversion.Int64ToBsonBoolean: return (BsonBoolean)((long)value != 0);
|
531 |
| - case Conversion.Int64ToBsonDouble: return new BsonDouble((double)(long)value); |
| 531 | + case Conversion.Int64ToBsonDouble: return (BsonDouble)(double)(long)value; |
532 | 532 | case Conversion.Int64ToBsonTimestamp: return new BsonTimestamp((long)value);
|
533 | 533 | case Conversion.NewBsonBoolean: return (BsonBoolean)((bool)value);
|
534 |
| - case Conversion.NewBsonDouble: return new BsonDouble((double)value); |
535 |
| - case Conversion.NewBsonInt32: return new BsonInt32((int)value); |
536 |
| - case Conversion.NewBsonInt64: return new BsonInt64((long)value); |
| 534 | + case Conversion.NewBsonDouble: return (BsonDouble)(double)value; |
| 535 | + case Conversion.NewBsonInt32: return (BsonInt32)(int)value; |
| 536 | + case Conversion.NewBsonInt64: return (BsonInt64)(long)value; |
537 | 537 | case Conversion.NewBsonObjectId: return new BsonObjectId((ObjectId)value);
|
538 |
| - case Conversion.NewBsonString: return new BsonString((string)value); |
| 538 | + case Conversion.NewBsonString: return (BsonString)(string)value; |
539 | 539 | case Conversion.RegexToBsonRegularExpression: return new BsonRegularExpression((Regex)value);
|
540 | 540 | case Conversion.SByteToBsonBoolean: return (BsonBoolean)((sbyte)value != 0);
|
541 |
| - case Conversion.SByteToBsonDouble: return new BsonDouble((double)(sbyte)value); |
542 |
| - case Conversion.SByteToBsonInt32: return new BsonInt32((int)(sbyte)value); |
543 |
| - case Conversion.SByteToBsonInt64: return new BsonInt64((long)(sbyte)value); |
| 541 | + case Conversion.SByteToBsonDouble: return (BsonDouble)(double)(sbyte)value; |
| 542 | + case Conversion.SByteToBsonInt32: return (BsonInt32)(int)(sbyte)value; |
| 543 | + case Conversion.SByteToBsonInt64: return (BsonInt64)(long)(sbyte)value; |
544 | 544 | case Conversion.SingleToBsonBoolean: var f = (float)value; return (BsonBoolean)(!(float.IsNaN(f) || f == 0.0f));
|
545 |
| - case Conversion.SingleToBsonDouble: return new BsonDouble((double)(float)value); |
| 545 | + case Conversion.SingleToBsonDouble: return (BsonDouble)(double)(float)value; |
546 | 546 | case Conversion.StringToBsonBoolean: return (BsonBoolean)((string)value != "");
|
547 | 547 | case Conversion.StringToBsonDateTime:
|
548 | 548 | var formats = new string[] { "yyyy-MM-ddK", "yyyy-MM-ddTHH:mm:ssK", "yyyy-MM-ddTHH:mm:ss.FFFFFFFK" };
|
549 | 549 | var dt = DateTime.ParseExact((string)value, formats, null, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal);
|
550 | 550 | return new BsonDateTime(dt);
|
551 |
| - case Conversion.StringToBsonDouble: return new BsonDouble(JsonConvert.ToDouble((string)value)); |
552 |
| - case Conversion.StringToBsonInt32: return new BsonInt32(JsonConvert.ToInt32((string)value)); |
553 |
| - case Conversion.StringToBsonInt64: return new BsonInt64(JsonConvert.ToInt64((string)value)); |
| 551 | + case Conversion.StringToBsonDouble: return (BsonDouble)JsonConvert.ToDouble((string)value); |
| 552 | + case Conversion.StringToBsonInt32: return (BsonInt32)JsonConvert.ToInt32((string)value); |
| 553 | + case Conversion.StringToBsonInt64: return (BsonInt64)JsonConvert.ToInt64((string)value); |
554 | 554 | case Conversion.StringToBsonJavaScript: return new BsonJavaScript((string)value);
|
555 | 555 | case Conversion.StringToBsonJavaScriptWithScope: return new BsonJavaScriptWithScope((string)value, new BsonDocument());
|
556 | 556 | case Conversion.StringToBsonObjectId: return new BsonObjectId(ObjectId.Parse((string)value));
|
557 | 557 | case Conversion.StringToBsonRegularExpression: return new BsonRegularExpression((string)value);
|
558 | 558 | case Conversion.StringToBsonSymbol: return BsonSymbolTable.Lookup((string)value);
|
559 | 559 | case Conversion.StringToBsonTimestamp: return new BsonTimestamp(JsonConvert.ToInt64((string)value));
|
560 | 560 | case Conversion.UInt16ToBsonBoolean: return (BsonValue)((ushort)value != 0);
|
561 |
| - case Conversion.UInt16ToBsonDouble: return new BsonDouble((double)(ushort)value); |
562 |
| - case Conversion.UInt16ToBsonInt32: return new BsonInt32((int)(ushort)value); |
563 |
| - case Conversion.UInt16ToBsonInt64: return new BsonInt64((long)(ushort)value); |
| 561 | + case Conversion.UInt16ToBsonDouble: return (BsonDouble)(double)(ushort)value; |
| 562 | + case Conversion.UInt16ToBsonInt32: return (BsonInt32)(int)(ushort)value; |
| 563 | + case Conversion.UInt16ToBsonInt64: return (BsonInt64)(long)(ushort)value; |
564 | 564 | case Conversion.UInt32ToBsonBoolean: return (BsonBoolean)((uint)value != 0);
|
565 |
| - case Conversion.UInt32ToBsonDouble: return new BsonDouble((double)(uint)value); |
566 |
| - case Conversion.UInt32ToBsonInt32: return new BsonInt32((int)(uint)value); |
567 |
| - case Conversion.UInt32ToBsonInt64: return new BsonInt64((long)(uint)value); |
| 565 | + case Conversion.UInt32ToBsonDouble: return (BsonDouble)(double)(uint)value; |
| 566 | + case Conversion.UInt32ToBsonInt32: return (BsonInt32)(int)(uint)value; |
| 567 | + case Conversion.UInt32ToBsonInt64: return (BsonInt64)(long)(uint)value; |
568 | 568 | case Conversion.UInt64ToBsonBoolean: return (BsonBoolean)((ulong)value != 0);
|
569 |
| - case Conversion.UInt64ToBsonDouble: return new BsonDouble((double)(ulong)value); |
570 |
| - case Conversion.UInt64ToBsonInt64: return new BsonInt64((long)(ulong)value); |
| 569 | + case Conversion.UInt64ToBsonDouble: return (BsonDouble)(double)(ulong)value; |
| 570 | + case Conversion.UInt64ToBsonInt64: return (BsonInt64)(long)(ulong)value; |
571 | 571 | case Conversion.UInt64ToBsonTimestamp: return new BsonTimestamp((long)(ulong)value);
|
572 | 572 | }
|
573 | 573 |
|
|
0 commit comments