Skip to content

Commit ada40fe

Browse files
committed
fix "params ReadOnlySpan<>"
1 parent 38e67ac commit ada40fe

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

CSharp.lua/LuaSyntaxNodeTransform.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2469,8 +2469,15 @@ private void CheckInvocationDefaultArguments(
24692469
var optionalParameters = parameters.Skip(arguments.Count);
24702470
foreach (IParameterSymbol parameter in optionalParameters) {
24712471
if (parameter.IsParams) {
2472-
var arrayType = (IArrayTypeSymbol)parameter.Type;
2473-
var elementType = GetTypeName(arrayType.ElementType);
2472+
ITypeSymbol arrayElemnetType;
2473+
if (parameter.Type.IsValueType) {
2474+
var namedTypeSymbol = (INamedTypeSymbol)parameter.Type;
2475+
arrayElemnetType = namedTypeSymbol.TypeArguments.First();
2476+
} else {
2477+
var arrayType = (IArrayTypeSymbol)parameter.Type;
2478+
arrayElemnetType = arrayType.ElementType;
2479+
}
2480+
var elementType = GetTypeName(arrayElemnetType);
24742481
arguments.Add(LuaIdentifierNameSyntax.EmptyArray.Invocation(elementType));
24752482
} else {
24762483
LuaExpressionSyntax defaultValue = GetDefaultParameterValue(parameter, node, isCheckCallerAttribute);

0 commit comments

Comments
 (0)