Browse Source

Move RemoveDeadVariableInit after ExpressionTransforms

pull/728/head
Siegfried Pammer 9 years ago
parent
commit
629241bb15
  1. 3
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

3
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -47,7 +47,6 @@ namespace ICSharpCode.Decompiler.CSharp @@ -47,7 +47,6 @@ namespace ICSharpCode.Decompiler.CSharp
readonly DecompilerSettings settings;
List<IILTransform> ilTransforms = new List<IILTransform> {
new RemoveDeadVariableInit(),
new SplitVariables(),
new ControlFlowSimplification(),
new ILInlining(),
@ -58,6 +57,8 @@ namespace ICSharpCode.Decompiler.CSharp @@ -58,6 +57,8 @@ namespace ICSharpCode.Decompiler.CSharp
new ILInlining(),
new CopyPropagation(),
new InlineCompilerGeneratedVariables(),
new ExpressionTransforms(), // must run once before "the loop" to allow RemoveDeadVariablesInit
new RemoveDeadVariableInit(), // must run after ExpressionTransforms because it does not handle stobj(ldloca V, ...)
new LoopingTransform(
new ExpressionTransforms(),
new TransformArrayInitializers(),

Loading…
Cancel
Save