Skip to content

Commit 9fc8ae7

Browse files
authored
Use a collection expression to assign the IID in GeneratedComInterface-generated code (dotnet#99734)
1 parent 76b4cf8 commit 9fc8ae7

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -637,24 +637,15 @@ private static ClassDeclarationSyntax GenerateInterfaceInformation(ComInterfaceI
637637

638638
static ExpressionSyntax CreateEmbeddedDataBlobCreationStatement(ReadOnlySpan<byte> bytes)
639639
{
640-
var literals = new LiteralExpressionSyntax[bytes.Length];
640+
var literals = new CollectionElementSyntax[bytes.Length];
641641

642642
for (int i = 0; i < bytes.Length; i++)
643643
{
644-
literals[i] = LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(bytes[i]));
644+
literals[i] = ExpressionElement(LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(bytes[i])));
645645
}
646646

647-
// new System.ReadOnlySpan<byte>(new[] { <byte literals> } )
648-
return ObjectCreationExpression(
649-
GenericName(TypeNames.System_ReadOnlySpan)
650-
.AddTypeArgumentListArguments(PredefinedType(Token(SyntaxKind.ByteKeyword))))
651-
.AddArgumentListArguments(
652-
Argument(
653-
ArrayCreationExpression(
654-
ArrayType(PredefinedType(Token(SyntaxKind.ByteKeyword)), SingletonList(ArrayRankSpecifier())),
655-
InitializerExpression(
656-
SyntaxKind.ArrayInitializerExpression,
657-
SeparatedList<ExpressionSyntax>(literals)))));
647+
// [ <byte literals> ]
648+
return CollectionExpression(SeparatedList(literals));
658649
}
659650
}
660651
}

0 commit comments

Comments
 (0)