From 6c8f2be1d8e258a3029198d826dcef3ffb17d956 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 3 Jun 2015 15:32:47 +0300 Subject: [PATCH] Revert "Fix heavy integer parsing in FunctionN class factory" This reverts commit 9d493d995e4bc94c1fb2b22fd2ac85178c2a88c7. --- .../BuiltInFictitiousFunctionClassFactory.kt | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) 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? {