Add basic support for variable-length array parameters in cinterop (#2666)
This commit is contained in:
committed by
GitHub
parent
de65e29fbe
commit
469eede9d3
+9
-4
@@ -522,14 +522,19 @@ internal class NativeIndexImpl(val library: NativeLibrary, val verbose: Boolean
|
||||
}
|
||||
|
||||
CXType_ConstantArray -> {
|
||||
val elemType = convertType(clang_getArrayElementType(type))
|
||||
val elementType = convertType(clang_getArrayElementType(type))
|
||||
val length = clang_getArraySize(type)
|
||||
ConstArrayType(elemType, length)
|
||||
ConstArrayType(elementType, length)
|
||||
}
|
||||
|
||||
CXType_IncompleteArray -> {
|
||||
val elemType = convertType(clang_getArrayElementType(type))
|
||||
IncompleteArrayType(elemType)
|
||||
val elementType = convertType(clang_getArrayElementType(type))
|
||||
IncompleteArrayType(elementType)
|
||||
}
|
||||
|
||||
CXType_VariableArray -> {
|
||||
val elementType = convertType(clang_getArrayElementType(type))
|
||||
VariableArrayType(elementType)
|
||||
}
|
||||
|
||||
CXType_FunctionProto -> {
|
||||
|
||||
+1
@@ -266,6 +266,7 @@ interface ArrayType : Type {
|
||||
|
||||
data class ConstArrayType(override val elemType: Type, val length: Long) : ArrayType
|
||||
data class IncompleteArrayType(override val elemType: Type) : ArrayType
|
||||
data class VariableArrayType(override val elemType: Type) : ArrayType
|
||||
|
||||
data class Typedef(val def: TypedefDef) : Type
|
||||
|
||||
|
||||
Reference in New Issue
Block a user