@@ -541,6 +541,12 @@ open class KotlinUsesExtractor(
541541
542542 private fun useArrayType (arrayType : IrSimpleType , componentType : IrType , elementType : IrType , dimensions : Int , isPrimitiveArray : Boolean ): TypeResults {
543543
544+ val arrayClass = arrayType.classifier.owner
545+ if (arrayClass !is IrClass ) {
546+ error(" Unexpected owner type for array type: ${arrayClass.javaClass} " )
547+ return extractErrorType()
548+ }
549+
544550 // Ensure we extract Array<Int> as Integer[], not int[], for example:
545551 fun nullableIfNotPrimitive (type : IrType ) = if (type.isPrimitiveType() && ! isPrimitiveArray) type.makeNullable() else type
546552
@@ -557,7 +563,7 @@ open class KotlinUsesExtractor(
557563 dimensions,
558564 componentTypeResults.javaResult.id)
559565
560- extractClassSupertypes(arrayType.classifier.owner as IrClass , it, ExtractSupertypesMode .Specialised (arrayType.arguments))
566+ extractClassSupertypes(arrayClass , it, ExtractSupertypesMode .Specialised (arrayType.arguments))
561567
562568 // array.length
563569 val length = tw.getLabelFor<DbField >(" @\" field;{$it };length\" " )
@@ -582,7 +588,7 @@ open class KotlinUsesExtractor(
582588 componentTypeResults.javaResult.signature + " []" ,
583589 javaShortName)
584590
585- val arrayClassResult = useSimpleTypeClass(arrayType.classifier.owner as IrClass , arrayType.arguments, arrayType.hasQuestionMark)
591+ val arrayClassResult = useSimpleTypeClass(arrayClass , arrayType.arguments, arrayType.hasQuestionMark)
586592 return TypeResults (javaResult, arrayClassResult.kotlinResult)
587593 }
588594
0 commit comments