diff --git a/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs b/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs index 90907922b..7d36fb9e2 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs @@ -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 { 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); }