diff --git a/ICSharpCode.Decompiler/Ast/AstBuilder.cs b/ICSharpCode.Decompiler/Ast/AstBuilder.cs index 8d78a0f60..c17dd8eac 100644 --- a/ICSharpCode.Decompiler/Ast/AstBuilder.cs +++ b/ICSharpCode.Decompiler/Ast/AstBuilder.cs @@ -1490,6 +1490,7 @@ namespace ICSharpCode.Decompiler.Ast ArrayType arrayType = argument.Type as ArrayType; return new ArrayCreateExpression { Type = ConvertType(arrayType != null ? arrayType.ElementType : argument.Type), + AdditionalArraySpecifiers = { new ArraySpecifier() }, Initializer = arrayInit }; } else if (argument.Value is CustomAttributeArgument) { diff --git a/ICSharpCode.Decompiler/Ast/AstMethodBodyBuilder.cs b/ICSharpCode.Decompiler/Ast/AstMethodBodyBuilder.cs index 4a9035870..871e481cb 100644 --- a/ICSharpCode.Decompiler/Ast/AstMethodBodyBuilder.cs +++ b/ICSharpCode.Decompiler/Ast/AstMethodBodyBuilder.cs @@ -716,7 +716,7 @@ namespace ICSharpCode.Decompiler.Ast oce.Initializer = new ArrayInitializerExpression(); for (int i = 0; i < args.Count; i++) { oce.Initializer.Elements.Add( - new NamedArgumentExpression { + new NamedExpression { Identifier = ctor.Parameters[i].Name, Expression = args[i] }); @@ -764,7 +764,7 @@ namespace ICSharpCode.Decompiler.Ast if (m.Success) { MemberReferenceExpression mre = m.Get("left").Single(); initializer.Elements.Add( - new NamedArgumentExpression { + new NamedExpression { Identifier = mre.MemberName, Expression = m.Get("right").Single().Detach() }.CopyAnnotationsFrom(mre)); diff --git a/ICSharpCode.Decompiler/Ast/Transforms/CombineQueryExpressions.cs b/ICSharpCode.Decompiler/Ast/Transforms/CombineQueryExpressions.cs index 24a14b921..9c7c2cbf4 100644 --- a/ICSharpCode.Decompiler/Ast/Transforms/CombineQueryExpressions.cs +++ b/ICSharpCode.Decompiler/Ast/Transforms/CombineQueryExpressions.cs @@ -81,8 +81,8 @@ namespace ICSharpCode.Decompiler.Ast.Transforms Expression = new ObjectCreateExpression { Initializer = new ArrayInitializerExpression { Elements = { - new NamedNode("nae1", new NamedArgumentExpression { Expression = new IdentifierExpression() }), - new NamedNode("nae2", new NamedArgumentExpression { Expression = new AnyNode() }) + new NamedNode("nae1", new NamedExpression { Expression = new IdentifierExpression() }), + new NamedNode("nae2", new NamedExpression { Expression = new AnyNode() }) } } }}; @@ -100,8 +100,8 @@ namespace ICSharpCode.Decompiler.Ast.Transforms if (!match.Success) return false; QuerySelectClause selectClause = (QuerySelectClause)innerQuery.Clauses.Last(); - NamedArgumentExpression nae1 = match.Get("nae1").Single(); - NamedArgumentExpression nae2 = match.Get("nae2").Single(); + NamedExpression nae1 = match.Get("nae1").Single(); + NamedExpression nae2 = match.Get("nae2").Single(); if (nae1.Identifier != ((IdentifierExpression)nae1.Expression).Identifier) return false; IdentifierExpression nae2IdentExpr = nae2.Expression as IdentifierExpression;