Interop/StubGenerator: fix array-typed parameters handling
This commit is contained in:
committed by
SvyatoslavScherbina
parent
29968f81a2
commit
50ba0c5c3e
+9
-4
@@ -937,10 +937,15 @@ class StubGenerator(
|
|||||||
|
|
||||||
val params = func.parameters.mapIndexed { i, parameter ->
|
val params = func.parameters.mapIndexed { i, parameter ->
|
||||||
val cType = parameter.type.getStringRepresentation()
|
val cType = parameter.type.getStringRepresentation()
|
||||||
if (parameter.type.unwrapTypedefs() is RecordType) {
|
val name = paramNames[i]
|
||||||
"*($cType*)${paramNames[i]}"
|
val unwrappedType = parameter.type.unwrapTypedefs()
|
||||||
} else {
|
when (unwrappedType) {
|
||||||
"($cType)${paramNames[i]}"
|
is RecordType -> "*($cType*)$name"
|
||||||
|
is ArrayType -> {
|
||||||
|
val pointerCType = PointerType(unwrappedType.elemType).getStringRepresentation()
|
||||||
|
"($pointerCType)$name"
|
||||||
|
}
|
||||||
|
else -> "($cType)$name"
|
||||||
}
|
}
|
||||||
}.joinToString(", ")
|
}.joinToString(", ")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user