Browse Source

remove redundant OrderBy: all handlers will have same TryStart.Offset after Where

pull/415/head
turbanoff 12 years ago
parent
commit
6a11367a0a
  1. 4
      ICSharpCode.Decompiler/ILAst/ILAstBuilder.cs

4
ICSharpCode.Decompiler/ILAst/ILAstBuilder.cs

@ -417,7 +417,7 @@ namespace ICSharpCode.Decompiler.ILAst @@ -417,7 +417,7 @@ namespace ICSharpCode.Decompiler.ILAst
// I belive it is safe to just remove it
body.RemoveAll(b => b.StackBefore == null);
// Genertate temporary variables to replace stack
// Generate temporary variables to replace stack
foreach(ByteCode byteCode in body) {
int argIdx = 0;
int popCount = byteCode.PopCount ?? byteCode.StackBefore.Length;
@ -652,7 +652,7 @@ namespace ICSharpCode.Decompiler.ILAst @@ -652,7 +652,7 @@ namespace ICSharpCode.Decompiler.ILAst
// Find the first and widest scope
int tryStart = ehs.Min(eh => eh.TryStart.Offset);
int tryEnd = ehs.Where(eh => eh.TryStart.Offset == tryStart).Max(eh => eh.TryEnd.Offset);
var handlers = ehs.Where(eh => eh.TryStart.Offset == tryStart && eh.TryEnd.Offset == tryEnd).OrderBy(eh => eh.TryStart.Offset).ToList();
var handlers = ehs.Where(eh => eh.TryStart.Offset == tryStart && eh.TryEnd.Offset == tryEnd).ToList();
// Remember that any part of the body migt have been removed due to unreachability

Loading…
Cancel
Save