diff options
author | Ryan J. Melena <Ryan.Melena@noesislabs.com> | 2014-10-30 19:47:56 +0300 |
---|---|---|
committer | Miguel de Icaza <miguel@gnome.org> | 2014-10-30 23:19:40 +0300 |
commit | ef13507552da30ab080e09c9e12ce015352c1b70 (patch) | |
tree | 300fdf9f32a53fcba04700af992a4c45d87624ba /mcs/class/System.Web.Extensions | |
parent | 6af798962810054fcf68f8e597de56b6490271a2 (diff) |
Revert incorrect changes from commit 950d9c8a567273c3363f43cee454f2b95a9f5da7
Correctly handle null value deserialization in non-generic Deserialize(string, Type) method.
Diffstat (limited to 'mcs/class/System.Web.Extensions')
-rw-r--r-- | mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs | 3 | ||||
-rw-r--r-- | mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs b/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs index 6a147e2e03e..9095cb866d3 100644 --- a/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs +++ b/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs @@ -206,8 +206,7 @@ namespace System.Web.Script.Serialization public object Deserialize (string input, Type targetType) { object obj = DeserializeObjectInternal (input); - if (obj == null) - return Activator.CreateInstance (targetType); + if (obj == null) return null; return ConvertToType (obj, targetType); } diff --git a/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs b/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs index 8593e532bf0..46bef52a7b4 100644 --- a/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs +++ b/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs @@ -833,7 +833,7 @@ namespace System.Web.Script.Serialization void CreateArray () { - var arr = new List <object> (); + var arr = new ArrayList (); PushObject (arr); } @@ -865,7 +865,7 @@ namespace System.Web.Script.Serialization { Dictionary <string, object> dict = PeekObject () as Dictionary <string, object>; if (dict == null) { - List <object> arr = PeekObject () as List <object>; + ArrayList arr = PeekObject () as ArrayList; if (arr == null) throw new InvalidOperationException ("Internal error: current object is not a dictionary or an array."); arr.Add (o); |