Переглянути джерело

* interpreter.cs (Eval) <OpCode.Reference>: Distribute for loop inside if.
for () if (a) s1; else s2; => if (a) for () s1; else for () s2;

svn path=/trunk/mcs/; revision=75393

Raja R Harinath 19 роки тому
батько
коміт
b27e2a88ae

+ 6 - 0
mcs/class/System/System.Text.RegularExpressions/ChangeLog

@@ -1,3 +1,9 @@
+2007-04-04  Raja R Harinath  <[email protected]>
+
+	* interpreter.cs (Eval) <OpCode.Reference>: Distribute for loop
+	inside if.
+	for () if (a) s1; else s2; => if (a) for () s1; else for () s2;
+
 2007-04-03  Raja R Harinath  <[email protected]>
 
 	* Regex.cs (~Regex): Don't define in NET_2_0 profile.

+ 4 - 3
mcs/class/System/System.Text.RegularExpressions/interpreter.cs

@@ -306,12 +306,13 @@ namespace System.Text.RegularExpressions {
 						goto Fail;
 
 					pc += 2;
-					for (int i = 0; i < len; ++ i) {
-						if (ignore) {
+					if (ignore) {
+						for (int i = 0; i < len; ++ i) {
 							if (Char.ToLower (text[ptr + i]) != Char.ToLower (text[str + i]))
 								goto Fail;
 						}
-						else {
+					} else {
+						for (int i = 0; i < len; ++ i) {
 							if (text[ptr + i] != text[str + i])
 								goto Fail;
 						}