diff --git a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt index 0fe4c7b87d2..4e6867d71cb 100644 --- a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt +++ b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt @@ -937,10 +937,15 @@ class StubGenerator( val params = func.parameters.mapIndexed { i, parameter -> val cType = parameter.type.getStringRepresentation() - if (parameter.type.unwrapTypedefs() is RecordType) { - "*($cType*)${paramNames[i]}" - } else { - "($cType)${paramNames[i]}" + val name = paramNames[i] + val unwrappedType = parameter.type.unwrapTypedefs() + when (unwrappedType) { + is RecordType -> "*($cType*)$name" + is ArrayType -> { + val pointerCType = PointerType(unwrappedType.elemType).getStringRepresentation() + "($pointerCType)$name" + } + else -> "($cType)$name" } }.joinToString(", ")