diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt index 94ca83e6c3e..c8b1f1247b2 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt @@ -43,7 +43,12 @@ public class BuiltInFictitiousFunctionClassFactory( val prefix = kind.classNamePrefix if (!className.startsWith(prefix)) continue - val arity = toInt(className.substring(prefix.length())) ?: continue + val arity = try { + className.substring(prefix.length()).toInt() + } + catch (e: NumberFormatException) { + continue + } // TODO: validate arity, should be <= 255 for functions, <= 254 for members/extensions return KindWithArity(kind, arity) @@ -51,16 +56,6 @@ public class BuiltInFictitiousFunctionClassFactory( return null } - - private fun toInt(s: String): Int? { - var result = 0 - for (c in s) { - val d = c - '0' - if (d !in 0..9) return null - result = result * 10 + d - } - return result - } } override fun createClass(classId: ClassId): ClassDescriptor? {