Only log once the missing java-kotlin method mapping warnings

This commit is contained in:
Tamas Vajk
2022-10-03 11:55:39 +02:00
parent ffc7e6b7b6
commit 7524f3372d
4 changed files with 7 additions and 25 deletions

View File

@@ -201,6 +201,8 @@ class KotlinExtractorGlobalState {
val syntheticToRealClassMap = HashMap<IrClass, IrClass?>()
val syntheticToRealFunctionMap = HashMap<IrFunction, IrFunction?>()
val syntheticToRealFieldMap = HashMap<IrField, IrField?>()
val deduplicatedWarnings = mutableSetOf<String>()
}
/*

View File

@@ -1290,7 +1290,11 @@ open class KotlinUsesExtractor(
else null
} ?: run {
val parentFqName = parentClass.fqNameWhenAvailable?.asString()
logger.warn("Couldn't find a Java equivalent function to $parentFqName.${f.name} in ${javaClass.fqNameWhenAvailable}")
val msg = "Couldn't find a Java equivalent function to $parentFqName.${f.name} in ${javaClass.fqNameWhenAvailable}"
if (!globalExtensionState.deduplicatedWarnings.contains(msg)) {
logger.warn(msg)
globalExtensionState.deduplicatedWarnings.add(msg)
}
null
}
}