diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index 4c038c621..7701ae7ce 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -3513,11 +3513,11 @@ namespace ICSharpCode.Decompiler.CSharp ); break; case IL.Transforms.AccessPathKind.Setter: - Debug.Assert(lastElement.Member is IProperty || lastElement.Member is IField); - if (lastElement.Indices?.Length > 0) + Debug.Assert(lastElement.Member is IProperty or IField); + if (lastElement.Indices?.Length is var indices and > 0) { var property = (IProperty)lastElement.Member; - Debug.Assert(property.IsIndexer); + Debug.Assert(property.Parameters.Count == indices); Debug.Assert(property.Setter != null, $"Indexer property {property} has no setter"); elementsStack.Peek().Add( new CallBuilder(this, typeSystem, settings)