From 98dd2448ff514b16eff6d22f8912d76e78db53f3 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Tue, 23 Aug 2022 11:49:55 +0100 Subject: [PATCH] Kotlin: Remove a not-null-expr from the extractor --- .../src/main/kotlin/KotlinFileExtractor.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index 5551c630dc0..785c7b7592c 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -3570,6 +3570,11 @@ open class KotlinFileExtractor( logger.errorElement("Unexpected: property reference with non simple type. ${kPropertyType.classFqName?.asString()}", propertyReferenceExpr) return } + val kPropertyClass = kPropertyType.classOrNull + if (kPropertyClass == null) { + logger.errorElement("Cannot find class for kPropertyType. ${kPropertyType.classFqName?.asString()}", propertyReferenceExpr) + return + } val locId = tw.getLocation(propertyReferenceExpr) @@ -3583,7 +3588,7 @@ open class KotlinFileExtractor( ) val currentDeclaration = declarationStack.peek() - val prefix = if (kPropertyType.classOrNull!!.owner.name.asString().startsWith("KMutableProperty")) "Mutable" else "" + val prefix = if (kPropertyClass.owner.name.asString().startsWith("KMutableProperty")) "Mutable" else "" val baseClass = pluginContext.referenceClass(FqName("kotlin.jvm.internal.${prefix}PropertyReference${kPropertyType.arguments.size - 1}"))?.owner?.typeWith() ?: pluginContext.irBuiltIns.anyType