From 874ac9ac0b89a5d7795485f542a8cb8871096de8 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Mon, 13 Jun 2022 20:50:38 +0200 Subject: [PATCH] Fix #2712: TransformCollectionAndObjectInitializers fails to properly detect set-accessors of FakeProperties. Bug likely introduced due to an oversight in #2677. --- .../IL/Transforms/TransformCollectionAndObjectInitializers.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformCollectionAndObjectInitializers.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformCollectionAndObjectInitializers.cs index c77ebf855..477527442 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformCollectionAndObjectInitializers.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformCollectionAndObjectInitializers.cs @@ -335,7 +335,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms var property = method.AccessorOwner as IProperty; if (!CanBeUsedInInitializer(property, resolveContext, kind, path)) goto default; - var isGetter = method.Equals(property?.Getter); + var isGetter = method.AccessorKind == System.Reflection.MethodSemanticsAttributes.Getter; var indices = call.Arguments.Skip(1).Take(call.Arguments.Count - (isGetter ? 1 : 2)).ToArray(); if (indices.Length > 0 && settings?.DictionaryInitializers == false) goto default;