From 6f56079f7ea01b05249b782db48cf6886de937fa Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Mon, 26 Dec 2016 01:11:41 +0300 Subject: [PATCH] KJS: add external declaration for parseFloat; remove obsolete safeParseInt and safeParseDouble --- js/js.libraries/src/core/core.kt | 11 +++-------- js/js.libraries/src/js/kotlin_lib.js | 10 ---------- .../testData/box/number/conversionsWithTruncation.kt | 3 --- 3 files changed, 3 insertions(+), 21 deletions(-) diff --git a/js/js.libraries/src/core/core.kt b/js/js.libraries/src/core/core.kt index e062d9cd418..bab10fde7f9 100644 --- a/js/js.libraries/src/core/core.kt +++ b/js/js.libraries/src/core/core.kt @@ -8,14 +8,9 @@ public external fun eval(expr: String): dynamic = noImpl public external val undefined: Nothing? = noImpl -//TODO: consistent parseInt -public external fun parseInt(s: String, radix: Int = noImpl): Int = noImpl +public external fun parseInt(s: String, radix: Int = noImpl): Int -@library -public fun safeParseInt(s: String): Int? = noImpl - -@library -public fun safeParseDouble(s: String): Double? = noImpl +public external fun parseFloat(s: String, radix: Int = noImpl): Double public external fun js(code: String): dynamic = noImpl @@ -24,6 +19,6 @@ public external fun js(code: String): dynamic = noImpl */ public inline fun jsTypeOf(a: Any?): String = js("typeof a") -internal inline fun deleteProperty(obj: Any, property: Any){ +internal inline fun deleteProperty(obj: Any, property: Any) { js("delete obj[property]") } \ No newline at end of file diff --git a/js/js.libraries/src/js/kotlin_lib.js b/js/js.libraries/src/js/kotlin_lib.js index 9cdf45b9e27..3f8d4090160 100644 --- a/js/js.libraries/src/js/kotlin_lib.js +++ b/js/js.libraries/src/js/kotlin_lib.js @@ -203,16 +203,6 @@ function getStringHashCode(str) { return hash; } -Kotlin.safeParseInt = function (str) { - var r = parseInt(str, 10); - return isNaN(r) ? null : r; -}; - -Kotlin.safeParseDouble = function (str) { - var r = parseFloat(str); - return isNaN(r) ? null : r; -}; - Kotlin.arrayEquals = function (a, b) { if (a === b) { return true; diff --git a/js/js.translator/testData/box/number/conversionsWithTruncation.kt b/js/js.translator/testData/box/number/conversionsWithTruncation.kt index 9291bf09d25..bd47c3ec792 100644 --- a/js/js.translator/testData/box/number/conversionsWithTruncation.kt +++ b/js/js.translator/testData/box/number/conversionsWithTruncation.kt @@ -33,9 +33,6 @@ fun box(): String { val longX: Long = 9223372034707292481L assertEquals("9223372034707292481", longX.toString()) - val doubleX: Double = safeParseDouble("9223372034707292481")!! - assertEquals(doubleX, longX.toDouble()) - assertEquals(doubleX, longX.toFloat()) assertEquals(-2147483327, longX.toInt()) assertEquals(321, longX.toShort())