Skip to content

Commit 5ea4c44

Browse files
committed
Kotlin: Give some more informative errors messages
1 parent a2659ee commit 5ea4c44

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4858,9 +4858,16 @@ open class KotlinFileExtractor(
48584858
logger.errorElement("Cannot find class for kPropertyType. ${kPropertyType.classFqName?.asString()}", propertyReferenceExpr)
48594859
return
48604860
}
4861-
val parameterTypes = kPropertyType.arguments.map { it as? IrType }.requireNoNullsOrNull()
4861+
val parameterTypes: List<IrType>? = kPropertyType.arguments.map {
4862+
if (it is IrType) {
4863+
it
4864+
} else {
4865+
logger.errorElement("Unexpected: Non-IrType (${it.javaClass}) property reference parameter.", propertyReferenceExpr)
4866+
null
4867+
}
4868+
}.requireNoNullsOrNull()
48624869
if (parameterTypes == null) {
4863-
logger.errorElement("Unexpected: Non-IrType parameter.", propertyReferenceExpr)
4870+
logger.errorElement("Unexpected: One or more non-IrType property reference parameters.", propertyReferenceExpr)
48644871
return
48654872
}
48664873

@@ -5041,9 +5048,16 @@ open class KotlinFileExtractor(
50415048
return
50425049
}
50435050

5044-
val parameterTypes = type.arguments.map { it as? IrType }.requireNoNullsOrNull()
5051+
val parameterTypes: List<IrType>? = type.arguments.map {
5052+
if (it is IrType) {
5053+
it
5054+
} else {
5055+
logger.errorElement("Unexpected: Non-IrType (${it.javaClass}) function reference parameter.", functionReferenceExpr)
5056+
null
5057+
}
5058+
}.requireNoNullsOrNull()
50455059
if (parameterTypes == null) {
5046-
logger.errorElement("Unexpected: Non-IrType parameter.", functionReferenceExpr)
5060+
logger.errorElement("Unexpected: One or more non-IrType function reference parameters.", functionReferenceExpr)
50475061
return
50485062
}
50495063

0 commit comments

Comments
 (0)