|
|
@ -225,6 +225,7 @@ namespace ICSharpCode.Decompiler.ILAst |
|
|
|
new ILInlining(method).InlineAllVariables(); |
|
|
|
new ILInlining(method).InlineAllVariables(); |
|
|
|
|
|
|
|
|
|
|
|
if (abortBeforeStep == ILAstOptimizationStep.CachedDelegateInitialization) return; |
|
|
|
if (abortBeforeStep == ILAstOptimizationStep.CachedDelegateInitialization) return; |
|
|
|
|
|
|
|
if (context.Settings.AnonymousMethods) { |
|
|
|
foreach(ILBlock block in method.GetSelfAndChildrenRecursive<ILBlock>()) { |
|
|
|
foreach(ILBlock block in method.GetSelfAndChildrenRecursive<ILBlock>()) { |
|
|
|
for (int i = 0; i < block.Body.Count; i++) { |
|
|
|
for (int i = 0; i < block.Body.Count; i++) { |
|
|
|
// TODO: Move before loops
|
|
|
|
// TODO: Move before loops
|
|
|
@ -232,6 +233,7 @@ namespace ICSharpCode.Decompiler.ILAst |
|
|
|
CachedDelegateInitializationWithLocal(block, ref i); |
|
|
|
CachedDelegateInitializationWithLocal(block, ref i); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (abortBeforeStep == ILAstOptimizationStep.IntroduceFixedStatements) return; |
|
|
|
if (abortBeforeStep == ILAstOptimizationStep.IntroduceFixedStatements) return; |
|
|
|
// we need post-order traversal, not pre-order, for "fixed" to work correctly
|
|
|
|
// we need post-order traversal, not pre-order, for "fixed" to work correctly
|
|
|
|