From e6058e819ab295d45486ae7a5145c56f54a22f46 Mon Sep 17 00:00:00 2001
From: LordJZ <LordJZ@outlook.com>
Date: Thu, 9 Apr 2015 06:32:11 +0300
Subject: [PATCH] Spaces to tabs in pointer handling code

---
 .../ILAst/ILAstOptimizer.cs                   | 182 +++++++++---------
 1 file changed, 91 insertions(+), 91 deletions(-)

diff --git a/ICSharpCode.Decompiler/ILAst/ILAstOptimizer.cs b/ICSharpCode.Decompiler/ILAst/ILAstOptimizer.cs
index e6277dee2..8d01fb819 100644
--- a/ICSharpCode.Decompiler/ILAst/ILAstOptimizer.cs
+++ b/ICSharpCode.Decompiler/ILAst/ILAstOptimizer.cs
@@ -349,15 +349,15 @@ namespace ICSharpCode.Decompiler.ILAst
 							expr.ILRanges.Clear();
 							continue;
 							case ILCode.__Brfalse:  op = ILCode.LogicNot; break;
-							case ILCode.__Beq:      op = ILCode.Ceq; break;
+							case ILCode.__Beq:	  op = ILCode.Ceq; break;
 							case ILCode.__Bne_Un:   op = ILCode.Cne; break;
-							case ILCode.__Bgt:      op = ILCode.Cgt; break;
+							case ILCode.__Bgt:	  op = ILCode.Cgt; break;
 							case ILCode.__Bgt_Un:   op = ILCode.Cgt_Un; break;
-							case ILCode.__Ble:      op = ILCode.Cle; break;
+							case ILCode.__Ble:	  op = ILCode.Cle; break;
 							case ILCode.__Ble_Un:   op = ILCode.Cle_Un; break;
-							case ILCode.__Blt:      op = ILCode.Clt; break;
+							case ILCode.__Blt:	  op = ILCode.Clt; break;
 							case ILCode.__Blt_Un:   op = ILCode.Clt_Un; break;
-							case ILCode.__Bge:	    op = ILCode.Cge; break;
+							case ILCode.__Bge:		op = ILCode.Cge; break;
 							case ILCode.__Bge_Un:   op = ILCode.Cge_Un; break;
 						default:
 							continue;
@@ -436,9 +436,9 @@ namespace ICSharpCode.Decompiler.ILAst
 				// Might be 'newobj(SomeDelegate, target, ldvirtftn(F, target))'.
 				ILVariable target;
 				if (expr.Arguments[0].Match(ILCode.Ldloc, out target)
-				    && expr.Arguments[1].Code == ILCode.Ldvirtftn
-				    && expr.Arguments[1].Arguments.Count == 1
-				    && expr.Arguments[1].Arguments[0].MatchLdloc(target))
+					&& expr.Arguments[1].Code == ILCode.Ldvirtftn
+					&& expr.Arguments[1].Arguments.Count == 1
+					&& expr.Arguments[1].Arguments[0].MatchLdloc(target))
 				{
 					// Remove the 'target' argument from the ldvirtftn instruction.
 					// It's not needed in the translation to C#, and needs to be eliminated so that the target expression
@@ -473,9 +473,9 @@ namespace ICSharpCode.Decompiler.ILAst
 					
 					// Start a new basic block if necessary
 					if (currNode is ILLabel ||
-					    currNode is ILTryCatchBlock || // Counts as label
-					    lastNode.IsConditionalControlFlow() ||
-					    lastNode.IsUnconditionalControlFlow())
+						currNode is ILTryCatchBlock || // Counts as label
+						lastNode.IsConditionalControlFlow() ||
+						lastNode.IsUnconditionalControlFlow())
 					{
 						// Try to reuse the label
 						ILLabel label = currNode as ILLabel ?? new ILLabel() { Name = "Block_" + (nextLabelIndex++).ToString() };
@@ -675,53 +675,53 @@ namespace ICSharpCode.Decompiler.ILAst
 				List<ILExpression> args = expr.Arguments;
 				switch (expr.Code) {
 					case ILCode.Localloc:
-				    {
-				        PointerType type = expr.InferredType as PointerType;
-				        if (type != null) {
-				            ILExpression arg0 = args[0];
-				            ILExpression expr2 = expr;
-				            DivideOrMultiplyBySize(ref expr2, ref arg0, type.ElementType, true);
-				            // expr shouldn't change
-				            if (expr2 != expr)
-				                throw new InvalidOperationException();
-				            args[0] = arg0;
-				        }
-				        break;
-				    }
-				    case ILCode.Add:
+					{
+						PointerType type = expr.InferredType as PointerType;
+						if (type != null) {
+							ILExpression arg0 = args[0];
+							ILExpression expr2 = expr;
+							DivideOrMultiplyBySize(ref expr2, ref arg0, type.ElementType, true);
+							// expr shouldn't change
+							if (expr2 != expr)
+								throw new InvalidOperationException();
+							args[0] = arg0;
+						}
+						break;
+					}
+					case ILCode.Add:
 					case ILCode.Add_Ovf:
 					case ILCode.Add_Ovf_Un:
-				    {
-				        ILExpression arg0 = args[0];
-				        ILExpression arg1 = args[1];
-				        if (expr.InferredType is PointerType) {
-				            if (arg0.ExpectedType is PointerType) {
-				                DivideOrMultiplyBySize(ref arg0, ref arg1, ((PointerType)expr.InferredType).ElementType, true);
-				            } else if (arg1.ExpectedType is PointerType)
-				                DivideOrMultiplyBySize(ref arg1, ref arg0, ((PointerType)expr.InferredType).ElementType, true);
-				        }
-                        args[0] = arg0;
-                        args[1] = arg1;
-				        break;
-				    }
-				    case ILCode.Sub:
+					{
+						ILExpression arg0 = args[0];
+						ILExpression arg1 = args[1];
+						if (expr.InferredType is PointerType) {
+							if (arg0.ExpectedType is PointerType) {
+								DivideOrMultiplyBySize(ref arg0, ref arg1, ((PointerType)expr.InferredType).ElementType, true);
+							} else if (arg1.ExpectedType is PointerType)
+								DivideOrMultiplyBySize(ref arg1, ref arg0, ((PointerType)expr.InferredType).ElementType, true);
+						}
+						args[0] = arg0;
+						args[1] = arg1;
+						break;
+					}
+					case ILCode.Sub:
 					case ILCode.Sub_Ovf:
 					case ILCode.Sub_Ovf_Un:
-				    {
-				        ILExpression arg0 = args[0];
-				        ILExpression arg1 = args[1];
+					{
+						ILExpression arg0 = args[0];
+						ILExpression arg1 = args[1];
 						if (expr.InferredType is PointerType) {
 							if (arg0.ExpectedType is PointerType && !(arg1.InferredType is PointerType))
 								DivideOrMultiplyBySize(ref arg0, ref arg1, ((PointerType)expr.InferredType).ElementType, true);
 						}
-                        args[0] = arg0;
-                        args[1] = arg1;
-                        break;
-                    }
-                    case ILCode.Conv_I8:
-				    {
-				        ILExpression arg0 = args[0];
-                        // conv.i8(div:intptr(p0 - p1))
+						args[0] = arg0;
+						args[1] = arg1;
+						break;
+					}
+					case ILCode.Conv_I8:
+					{
+						ILExpression arg0 = args[0];
+						// conv.i8(div:intptr(p0 - p1))
 						if (arg0.Code == ILCode.Div && arg0.InferredType.FullName == "System.IntPtr")
 						{
 							ILExpression dividend = arg0.Arguments[0];
@@ -732,24 +732,24 @@ namespace ICSharpCode.Decompiler.ILAst
 								PointerType pointerType1 = dividend.Arguments[1].InferredType as PointerType;
 
 								if (pointerType0 != null && pointerType1 != null) {
-								    if (pointerType0.ElementType.FullName == "System.Void" ||
-                                        pointerType0.ElementType.FullName != pointerType1.ElementType.FullName) {
-                                        pointerType0 = pointerType1 = new PointerType(typeSystem.Byte);
-								        dividend.Arguments[0] = Cast(dividend.Arguments[0], pointerType0);
-                                        dividend.Arguments[1] = Cast(dividend.Arguments[1], pointerType1);
-								    }
+									if (pointerType0.ElementType.FullName == "System.Void" ||
+										pointerType0.ElementType.FullName != pointerType1.ElementType.FullName) {
+										pointerType0 = pointerType1 = new PointerType(typeSystem.Byte);
+										dividend.Arguments[0] = Cast(dividend.Arguments[0], pointerType0);
+										dividend.Arguments[1] = Cast(dividend.Arguments[1], pointerType1);
+									}
 
-								    DivideOrMultiplyBySize(ref dividend, ref arg0, pointerType0.ElementType, false);
-                                    // dividend shouldn't change
-								    if (args[0].Arguments[0] != dividend)
-								        throw new InvalidOperationException();
+									DivideOrMultiplyBySize(ref dividend, ref arg0, pointerType0.ElementType, false);
+									// dividend shouldn't change
+									if (args[0].Arguments[0] != dividend)
+										throw new InvalidOperationException();
 								}
 							}
 						}
-                        args[0] = arg0;
-                        break;
-                    }
-                }
+						args[0] = arg0;
+						break;
+					}
+				}
 			}
 		}
 
@@ -774,14 +774,14 @@ namespace ICSharpCode.Decompiler.ILAst
 			return expr;
 		}
 
-	    static ILExpression Cast(ILExpression expr, TypeReference type)
-	    {
-            return new ILExpression(ILCode.Castclass, type, expr)
-            {
-                InferredType = type,
-                ExpectedType = type
-            };
-        }
+		static ILExpression Cast(ILExpression expr, TypeReference type)
+		{
+			return new ILExpression(ILCode.Castclass, type, expr)
+			{
+				InferredType = type,
+				ExpectedType = type
+			};
+		}
 
 		void DivideOrMultiplyBySize(ref ILExpression pointerExpr, ref ILExpression adjustmentExpr, TypeReference elementType, bool divide)
 		{
@@ -789,9 +789,9 @@ namespace ICSharpCode.Decompiler.ILAst
 
 			ILExpression sizeOfExpression;
 			switch (TypeAnalysis.GetInformationAmount(elementType)) {
-                case 0: // System.Void
-                    pointerExpr = Cast(pointerExpr, new PointerType(typeSystem.Byte));
-                    goto case 1;
+				case 0: // System.Void
+					pointerExpr = Cast(pointerExpr, new PointerType(typeSystem.Byte));
+					goto case 1;
 				case 1:
 				case 8:
 					sizeOfExpression = new ILExpression(ILCode.Ldc_I4, 1);
@@ -813,30 +813,30 @@ namespace ICSharpCode.Decompiler.ILAst
 			if (divide && (adjustmentExpr.Code == ILCode.Mul || adjustmentExpr.Code == ILCode.Mul_Ovf || adjustmentExpr.Code == ILCode.Mul_Ovf_Un) ||
 				!divide && (adjustmentExpr.Code == ILCode.Div || adjustmentExpr.Code == ILCode.Div_Un)) {
 				ILExpression mulArg = adjustmentExpr.Arguments[1];
-			    if (mulArg.Code == sizeOfExpression.Code && sizeOfExpression.Operand.Equals(mulArg.Operand)) {
-			        adjustmentExpr = UnwrapIntPtrCast(adjustmentExpr.Arguments[0]);
-			        return;
-			    }
+				if (mulArg.Code == sizeOfExpression.Code && sizeOfExpression.Operand.Equals(mulArg.Operand)) {
+					adjustmentExpr = UnwrapIntPtrCast(adjustmentExpr.Arguments[0]);
+					return;
+				}
 			}
 
 			if (adjustmentExpr.Code == sizeOfExpression.Code) {
-			    if (sizeOfExpression.Operand.Equals(adjustmentExpr.Operand)) {
-			        adjustmentExpr = new ILExpression(ILCode.Ldc_I4, 1);
-                    return;
-			    }
+				if (sizeOfExpression.Operand.Equals(adjustmentExpr.Operand)) {
+					adjustmentExpr = new ILExpression(ILCode.Ldc_I4, 1);
+					return;
+				}
 
-			    if (adjustmentExpr.Code == ILCode.Ldc_I4) {
+				if (adjustmentExpr.Code == ILCode.Ldc_I4) {
 					int offsetInBytes = (int)adjustmentExpr.Operand;
 					int elementSize = (int)sizeOfExpression.Operand;
 
-			        if (offsetInBytes % elementSize != 0) {
-			            pointerExpr = Cast(pointerExpr, new PointerType(typeSystem.Byte));
-			            return;
-			        }
+					if (offsetInBytes % elementSize != 0) {
+						pointerExpr = Cast(pointerExpr, new PointerType(typeSystem.Byte));
+						return;
+					}
 
-			        adjustmentExpr.Operand = offsetInBytes / elementSize;
-			        return;
-			    }
+					adjustmentExpr.Operand = offsetInBytes / elementSize;
+					return;
+				}
 			}
 
 			adjustmentExpr = new ILExpression(divide ? ILCode.Div_Un : ILCode.Mul, null, adjustmentExpr, sizeOfExpression);