Browse Source

Make InlineArrayTransform post-order

feature/inlinearrays
Siegfried Pammer 2 weeks ago
parent
commit
47dd905ad0
  1. 10
      ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs

10
ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs

@ -277,11 +277,6 @@ namespace ICSharpCode.Decompiler.IL.Transforms @@ -277,11 +277,6 @@ namespace ICSharpCode.Decompiler.IL.Transforms
protected internal override void VisitCall(Call inst)
{
if (context.Settings.InlineArrays && InlineArrayTransform.RunOnExpression(inst, context))
{
return;
}
if (NullableLiftingTransform.MatchGetValueOrDefault(inst, out var nullableValue, out var fallback)
&& SemanticHelper.IsPure(fallback.Flags))
{
@ -298,9 +293,14 @@ namespace ICSharpCode.Decompiler.IL.Transforms @@ -298,9 +293,14 @@ namespace ICSharpCode.Decompiler.IL.Transforms
{
context.Step("TransformRuntimeHelpersCreateSpanInitialization: single-dim", inst);
inst.ReplaceWith(replacement2);
replacement2.AcceptVisitor(this);
return;
}
base.VisitCall(inst);
if (context.Settings.InlineArrays && InlineArrayTransform.RunOnExpression(inst, context))
{
return;
}
TransformAssignment.HandleCompoundAssign(inst, context);
}

Loading…
Cancel
Save