Fix isKotlinFunctionWithBigArity function

fixup! Fix `isKotlinFunctionWithBigArity` function

Fix `isKotlinFunctionWithBigArity` function

Previous implementation could return false positive results, e.g. for
class named `abacaba.kotlin.Function42`

^KT-61548: Fixed


Merge-request: KT-MR-11928
Merged-by: Vladislav Grechko <Vladislav.Grechko@jetbrains.com>
This commit is contained in:
vladislav.grechko
2023-08-30 09:15:00 +00:00
committed by Space Team
parent 84d863aaf4
commit e9ccc0329c
8 changed files with 67 additions and 6 deletions
@@ -150,12 +150,11 @@ object JavaToKotlinClassMap {
}
private fun isKotlinFunctionWithBigArity(kotlinFqName: FqNameUnsafe, prefix: String): Boolean {
val arityString = kotlinFqName.asString().substringAfter(prefix, "")
if (arityString.isNotEmpty() && !arityString.startsWith('0')) {
val arity = arityString.toIntOrNull()
return arity != null && arity >= BuiltInFunctionArity.BIG_ARITY
}
return false
val fqNameAsString = kotlinFqName.asString()
if (!fqNameAsString.startsWith(prefix)) return false
val arityString = fqNameAsString.substring(prefix.length)
val arity = if (!arityString.startsWith('0')) arityString.toIntOrNull() else return false
return arity != null && arity >= BuiltInFunctionArity.BIG_ARITY
}
private fun addMapping(platformMutabilityMapping: PlatformMutabilityMapping) {