ソースを参照

2008-12-05 Marek Habersack <[email protected]>

	* 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

svn path=/trunk/mcs/; revision=120823
Marek Habersack 17 年 前
コミット
51f5087bf2

+ 10 - 0
mcs/class/System.Web.Extensions/System.Web.Script.Serialization/ChangeLog

@@ -1,3 +1,13 @@
+2008-12-05  Marek Habersack  <[email protected]>
+
+	* 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  <[email protected]>
 
 	* JsonDeserializer.cs: object can contain more than one unquoted

+ 43 - 43
mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonSerializer.cs

@@ -101,7 +101,7 @@ namespace System.Web.Script.Serialization
 				throw new ArgumentException ("Recursion limit has been exceeded while serializing object of type '{0}'", obj != null ? obj.GetType ().ToString () : "[null]");
 
 			if (obj == null || DBNull.Value.Equals (obj)) {
-				output.AppendCount (maxJsonLength, "null");
+				StringBuilderExtensions.AppendCount (output, maxJsonLength, "null");
 				return;
 			}
 
@@ -111,7 +111,7 @@ namespace System.Web.Script.Serialization
 				IDictionary <string, object> result = jsc.Serialize (obj, serializer);
 
 				if (result == null) {
-					output.AppendCount (maxJsonLength, "null");
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, "null");
 					return;
 				}
 
@@ -291,7 +291,7 @@ namespace System.Web.Script.Serialization
 		
 		void SerializeArbitraryObject (StringBuilder output, object obj, Type type)
 		{
-			output.AppendCount (maxJsonLength, "{");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "{");
 
 			bool first = true;
 			if (typeResolver != null) {
@@ -322,27 +322,27 @@ namespace System.Web.Script.Serialization
 					first = false;
 			}
 
-			output.AppendCount (maxJsonLength, "}");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "}");
 		}
 		
 		void SerializeEnumerable (StringBuilder output, IEnumerable enumerable)
 		{
-			output.AppendCount (maxJsonLength, "[");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "[");
 			bool first = true;
 			foreach (object value in enumerable) {
 				if (!first)
-					output.AppendCount (maxJsonLength, ',');
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, ',');
 				SerializeValue (value, output);
 				if (first)
 					first = false;
 			}
 			
-			output.AppendCount (maxJsonLength, "]");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "]");
 		}
 		
 		void SerializeDictionary (StringBuilder output, IDictionary dict)
 		{
-			output.AppendCount (maxJsonLength, "{");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "{");
 			bool first = true;
 			string key;
 			
@@ -352,12 +352,12 @@ namespace System.Web.Script.Serialization
 					first = false;
 			}
 			
-			output.AppendCount (maxJsonLength, "}");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "}");
 		}
 
 		void SerializeGenericDictionary <TKey, TValue> (StringBuilder output, IDictionary <TKey, TValue> dict)
 		{
-			output.AppendCount (maxJsonLength, "{");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "{");
 			bool first = true;
 			string key;
 			
@@ -367,7 +367,7 @@ namespace System.Web.Script.Serialization
 					first = false;
 			}
 			
-			output.AppendCount (maxJsonLength, "}");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "}");
 		}
 
 		void WriteDictionaryEntry (StringBuilder output, bool skipComma, string key, object value)
@@ -376,10 +376,10 @@ namespace System.Web.Script.Serialization
 				throw new InvalidOperationException ("Only dictionaries with keys convertible to string are supported.");
 			
 			if (!skipComma)
-				output.AppendCount (maxJsonLength, ',');
+				StringBuilderExtensions.AppendCount (output, maxJsonLength, ',');
 
 			WriteValue (output, key);
-			output.AppendCount (maxJsonLength, ':');
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, ':');
 			SerializeValue (value, output);
 		}
 
@@ -387,35 +387,35 @@ namespace System.Web.Script.Serialization
 		{
 			switch (typeCode) {
 				case TypeCode.SByte:
-					output.AppendCount (maxJsonLength, (sbyte)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (sbyte)value);
 					return;
 					
                                 case TypeCode.Int16:
-					output.AppendCount (maxJsonLength, (short)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (short)value);
 					return;
 					
                                 case TypeCode.UInt16:
-					output.AppendCount (maxJsonLength, (ushort)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (ushort)value);
 					return;
 					
                                 case TypeCode.Int32:
-					output.AppendCount (maxJsonLength, (int)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (int)value);
 					return;
 					
                                 case TypeCode.Byte:
-					output.AppendCount (maxJsonLength, (byte)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (byte)value);
 					return;
 					
                                 case TypeCode.UInt32:
-					output.AppendCount (maxJsonLength, (uint)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (uint)value);
 					return;
 					
                                 case TypeCode.Int64:
-					output.AppendCount (maxJsonLength, (long)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (long)value);
 					return;
 					
                                 case TypeCode.UInt64:
-					output.AppendCount (maxJsonLength, (ulong)value);
+					StringBuilderExtensions.AppendCount (output, maxJsonLength, (ulong)value);
 					return;
 
 				default:
@@ -425,12 +425,12 @@ namespace System.Web.Script.Serialization
 
 		void WriteValue (StringBuilder output, float value)
 		{
-			output.AppendCount (maxJsonLength, value.ToString ("r"));
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, value.ToString ("r"));
 		}
 
 		void WriteValue (StringBuilder output, double value)
 		{
-			output.AppendCount (maxJsonLength, value.ToString ("r"));
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, value.ToString ("r"));
 		}
 		
 		void WriteValue (StringBuilder output, Guid value)
@@ -451,23 +451,23 @@ namespace System.Web.Script.Serialization
 				value = MinimumJavaScriptDate;
 
 			long ticks = (value.Ticks - InitialJavaScriptDateTicks) / (long)10000;
-			output.AppendCount (maxJsonLength, "\"\\/Date(" + ticks + ")\\/\"");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "\"\\/Date(" + ticks + ")\\/\"");
 		}
 		
 		void WriteValue (StringBuilder output, IConvertible value)
 		{
-			output.AppendCount (maxJsonLength, value.ToString (CultureInfo.InvariantCulture));
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, value.ToString (CultureInfo.InvariantCulture));
 		}
 		
 		void WriteValue (StringBuilder output, bool value)
 		{
-			output.AppendCount (maxJsonLength, value ? "true" : "false");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, value ? "true" : "false");
 		}
 		
 		void WriteValue (StringBuilder output, char value)
 		{
 			if (value == '\0') {
-				output.AppendCount (maxJsonLength, "null");
+				StringBuilderExtensions.AppendCount (output, maxJsonLength, "null");
 				return;
 			}
 			
@@ -477,11 +477,11 @@ namespace System.Web.Script.Serialization
 		void WriteValue (StringBuilder output, string value)
 		{
 			if (String.IsNullOrEmpty (value)) {
-				output.AppendCount (maxJsonLength, "\"\"");
+				StringBuilderExtensions.AppendCount (output, maxJsonLength, "\"\"");
 				return;
 			}
 			
-			output.AppendCount (maxJsonLength, "\"");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "\"");
 
 			char c;
 			for (int i = 0; i < value.Length; i++) {
@@ -489,50 +489,50 @@ namespace System.Web.Script.Serialization
 
 				switch (c) {
 					case '\t':
-						output.AppendCount (maxJsonLength, @"\t");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\t");
 						break;
 					case '\n':
-						output.AppendCount (maxJsonLength, @"\n");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\n");
 						break;
 					case '\r':
-						output.AppendCount (maxJsonLength, @"\r");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\r");
 						break;
 					case '\f':
-						output.AppendCount (maxJsonLength, @"\f");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\f");
 						break;
 					case '\b':
-						output.AppendCount (maxJsonLength, @"\b");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\b");
 						break;
 					case '<':
-						output.AppendCount (maxJsonLength, @"\u003c");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\u003c");
 						break;
 					case '>':
-						output.AppendCount (maxJsonLength, @"\u003e");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\u003e");
 						break;
 					case '"':
-						output.AppendCount (maxJsonLength, "\\\"");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, "\\\"");
 						break;
 					case '\'':
-						output.AppendCount (maxJsonLength, @"\u0027");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\u0027");
 						break;
 					case '\\':
-						output.AppendCount (maxJsonLength, @"\\");
+						StringBuilderExtensions.AppendCount (output, maxJsonLength, @"\\");
 						break;
 					default:
 						if (c > '\u001f')
-							output.AppendCount (maxJsonLength, c);
+							StringBuilderExtensions.AppendCount (output, maxJsonLength, c);
 						else {
 							output.Append("\\u00");
 							int intVal = (int) c;
-							output.AppendCount (maxJsonLength, (char) ('0' + (intVal >> 4)));
+							StringBuilderExtensions.AppendCount (output, maxJsonLength, (char) ('0' + (intVal >> 4)));
 							intVal &= 0xf;
-							output.AppendCount (maxJsonLength, (char) (intVal < 10 ? '0' + intVal : 'a' + (intVal - 10)));
+							StringBuilderExtensions.AppendCount (output, maxJsonLength, (char) (intVal < 10 ? '0' + intVal : 'a' + (intVal - 10)));
 						}
 						break;
 				}
 			}
 			
-			output.AppendCount (maxJsonLength, "\"");
+			StringBuilderExtensions.AppendCount (output, maxJsonLength, "\"");
 		}
 	}
 }

+ 19 - 19
mcs/class/System.Web.Extensions/System.Web.Script.Serialization/StringBuilderExtensions.cs

@@ -39,133 +39,133 @@ namespace System.Web.Script.Serialization
 				throw new InvalidOperationException ("Maximum length exceeded.");
 		}
 		
-		public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, char[] value) 
+		public static StringBuilder AppendCount (StringBuilder sb, int maxCount, char[] value) 
                 {
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 } 
                 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, string value) 
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, string value) 
                 {
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, bool value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, bool value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
                 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, byte value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, byte value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, decimal value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, decimal value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, double value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, double value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, short value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, short value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, int value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, int value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-		public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, long value)
+		public static StringBuilder AppendCount (StringBuilder sb, int maxCount, long value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, object value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, object value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, sbyte value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, sbyte value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, float value) 
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, float value) 
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, ushort value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, ushort value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }       
                 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, uint value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, uint value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, ulong value)
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, ulong value)
 		{
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, char value) 
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, char value) 
                 {
 			StringBuilder ret = sb.Append (value);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, char value, int repeatCount) 
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, char value, int repeatCount) 
                 {
 			StringBuilder ret = sb.Append (value, repeatCount);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, char[] value, int startIndex, int charCount ) 
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, char[] value, int startIndex, int charCount ) 
                 {
 			StringBuilder ret = sb.Append (value, startIndex, charCount);
 			CheckCount (sb, maxCount);
 			return ret;
                 }
 
-                public static StringBuilder AppendCount (this StringBuilder sb, int maxCount, string value, int startIndex, int count) 
+                public static StringBuilder AppendCount (StringBuilder sb, int maxCount, string value, int startIndex, int count) 
                 {
 			StringBuilder ret = sb.Append (value, startIndex, count);
 			CheckCount (sb, maxCount);