Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@ -1,79 +0,0 @@
2009-08-18 Marek Habersack <mhabersack@novell.com>
* JavaScriptSerializer.cs: read converters from the config only if
explicitly requested.
2009-08-17 Marek Habersack <mhabersack@novell.com>
* JsonSerializer.cs: serialize fields before properties.
* JavaScriptSerializer.cs: MaxJsonLength default value for .NET
3.5 is 2097152
2009-03-17 Marek Habersack <mhabersack@novell.com>
* JavaScriptSerializer.cs: if conversion of IDictionary or
IDictionary <K,V> to an object is requested, make sure that a
concrete type is used (in both cases Dictionary <string, object>).
Make sure that if the target type is an IDictionary<K,V> that the
key is either an object or a string.
2009-03-06 Marek Habersack <mhabersack@novell.com>
* JsonDeserializer.cs: unquoted key values must ignore leading
and trailing whitespace
2008-12-05 Marek Habersack <mhabersack@novell.com>
* JsonSerializer.cs: StringBuilder extension methods aren't used
anymore, changed to calls to static methods in
StringBuilderExtensions.
* StringBuilderExtensions.cs: cannot use extension methods here
because this file is also used in the version 1.0 build which
doesn't reference System.Core
2008-10-22 Marek Habersack <mhabersack@novell.com>
* JsonDeserializer.cs: object can contain more than one unquoted
keys.
2008-09-23 Marek Habersack <mhabersack@novell.com>
* JavaScriptSerializer.cs: removed the LazyDictionary class, it's
not needed anymore.
2008-09-23 Juraj Skripsky <js@hotfeet.ch>
* JsonSerializer.cs: "SerializeGenericDictionary" is an instance method,
fix retrieval of its MethodInfo.
Initialize serializeGenericDictionaryMethods (lazily).
Add and use GetClosedIDictionaryBase to also handle cases where a
non-generic class implements a closed IDictionary<,> (e.g.
SomeDictionary : IDictionary<string, object>). Fixes bug #424704.
First check for IDictionary<,>, then for IDictionary.
2008-09-20 Marek Habersack <mhabersack@novell.com>
* JsonDeserializer.cs: added support for stand-alone NaN, Infinity
and -Infinity values, as well as the same within an array.
2008-09-19 Marek Habersack <mhabersack@novell.com>
* Json.cs: added new Serialize overload which takes a TextWriter
for its output parameter.
Added Deserialize methods.
* JsonSerializer.cs: made InitialJavaScriptDateTicks internal.
Added new Serialize overload which takes a TextWriter for its
output parameter.
Added WriteValue overloads for float and double - they must not be
converted to strings as IConvertibles because their Max/MinValue
end up converted incorrectly.
* JavaScriptSerializer.cs: adjustments for the new JSON
(de)serializer.
* JsonDeserializer.cs: new JSON deserializer code, fully compliant
with the .NET AJAX one.

View File

@ -1,28 +0,0 @@
2008-08-28 Marek Habersack <mhabersack@novell.com>
* JsonSerializer.cs: each value stored in an enumerable is treated
as a top-level object.
2008-08-22 Marek Habersack <mhabersack@novell.com>
* JsonSerializer.cs: do not perform deep object serialization - it
results in all kinds of problems (including too big size of the
resulting string, recursion errors when two or more objects in the
hierarchy hold a reference to some object) and is not what .NET
code does.
Property name is written only after it is determined if we're
serializing the property or not.
Entire object is serialized only if it's the object requested for
serialization by calling code.
2008-08-19 Marek Habersack <mhabersack@novell.com>
* JsonSerializer.cs: implemented a work-around for a bug in the
SerializedLazyDictionary which would fail to serialize a type if
any of its properties would throw an exception.
2008-05-20 Jb Evain <jbevain@novell.com>
*.cs: all files from JSon.NET are now re-licensed under the
MIT/X11 license, thanks to his author James Newton-King
for relicensing them.

View File

@ -473,22 +473,22 @@ namespace System.Web.Script.Serialization
case JsonType.INTEGER:
/* MS AJAX.NET JSON parser promotes big integers to double */
if (Int32.TryParse (s, out intValue))
if (Int32.TryParse (s, NumberStyles.Integer, CultureInfo.InvariantCulture, out intValue))
result = intValue;
else if (Int64.TryParse (s, out longValue))
else if (Int64.TryParse (s, NumberStyles.Integer, CultureInfo.InvariantCulture, out longValue))
result = longValue;
else if (Decimal.TryParse (s, out decimalValue))
else if (Decimal.TryParse (s, NumberStyles.Integer, CultureInfo.InvariantCulture, out decimalValue))
result = decimalValue;
else if (Double.TryParse (s, out doubleValue))
else if (Double.TryParse (s, NumberStyles.Integer, CultureInfo.InvariantCulture, out doubleValue))
result = doubleValue;
else
converted = false;
break;
case JsonType.FLOAT:
if (Decimal.TryParse (s, out decimalValue))
if (Decimal.TryParse (s, NumberStyles.Float, CultureInfo.InvariantCulture, out decimalValue))
result = decimalValue;
else if (Double.TryParse (s, out doubleValue))
else if (Double.TryParse (s, NumberStyles.Float, CultureInfo.InvariantCulture, out doubleValue))
result = doubleValue;
else
converted = false;