From 47dd905ad026ab4360cbcc572e713ecf50c6f6e2 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 6 Jun 2025 19:46:10 +0200 Subject: [PATCH] Make InlineArrayTransform post-order --- .../IL/Transforms/ExpressionTransforms.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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); }