diff --git a/compiler/testData/codegen/box/controlStructures/longRange.kt b/compiler/testData/codegen/box/controlStructures/longRange.kt index 22b6ab33c06..b1ab17ee093 100644 --- a/compiler/testData/codegen/box/controlStructures/longRange.kt +++ b/compiler/testData/codegen/box/controlStructures/longRange.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR fun box(): String { val r = 1.toLong()..2 var s = "" diff --git a/compiler/testData/codegen/box/intrinsics/longRangeWithExplicitDot.kt b/compiler/testData/codegen/box/intrinsics/longRangeWithExplicitDot.kt index 39e507ef8c9..1ecc929824d 100644 --- a/compiler/testData/codegen/box/intrinsics/longRangeWithExplicitDot.kt +++ b/compiler/testData/codegen/box/intrinsics/longRangeWithExplicitDot.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR fun box(): String { val l: Long = 1 val l2: Long = 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensions.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensions.kt index af52a290abb..132c532501f 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensions.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensionsValCaptured.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensionsValCaptured.kt index 6403379544f..55d001575d7 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensionsValCaptured.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentExtensionsValCaptured.kt @@ -1,5 +1,4 @@ // IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND: JS_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensions.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensions.kt index eb8c49f9961..664233c2d14 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensions.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR class M { operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt index bf4b067209e..99e71d259f3 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeTo/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR class M { operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensions.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensions.kt index aed02687142..9a220d0209d 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensions.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR fun f(l : Long) { l.rangeTo(l) diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensionsValCaptured.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensionsValCaptured.kt index 6403379544f..55d001575d7 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensionsValCaptured.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentExtensionsValCaptured.kt @@ -1,5 +1,4 @@ // IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND: JS_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensions.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensions.kt index eb8c49f9961..664233c2d14 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensions.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR class M { operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt index bf4b067209e..99e71d259f3 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/explicitRangeToWithDot/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR class M { operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensions.kt b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensions.kt index 081ba801400..85f78eabcdc 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensions.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensionsValCaptured.kt b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensionsValCaptured.kt index 8416153dd0e..c49ab4c4593 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensionsValCaptured.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentExtensionsValCaptured.kt @@ -1,5 +1,4 @@ // IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND: JS_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensions.kt b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensions.kt index 867488428f5..a11156329f4 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensions.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR class M { operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt index 95b2f81b281..3ee641f67f7 100644 --- a/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt +++ b/compiler/testData/codegen/box/multiDecl/forRange/long/MultiDeclForComponentMemberExtensionsInExtensionFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR class M { operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/primitiveTypes/kt4097.kt b/compiler/testData/codegen/box/primitiveTypes/kt4097.kt index b8b59a6e5db..04cc01c3f3a 100644 --- a/compiler/testData/codegen/box/primitiveTypes/kt4097.kt +++ b/compiler/testData/codegen/box/primitiveTypes/kt4097.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR fun box(): String { val shouldBeTrue = 555555555555555555L in 123456789123456789L..987654321987654321L if (!shouldBeTrue) return "Fail 1" diff --git a/compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt b/compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt index 1dd744eb412..949136655a1 100644 --- a/compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt +++ b/compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR fun abs(x: Int) = if (x < 0) -x else x fun abs(x: Long) = if (x < 0) -x else x diff --git a/compiler/testData/codegen/box/ranges/forInRangeLiteralWithMixedTypeBounds.kt b/compiler/testData/codegen/box/ranges/forInRangeLiteralWithMixedTypeBounds.kt index 96349db7c8c..0fdbe711937 100644 --- a/compiler/testData/codegen/box/ranges/forInRangeLiteralWithMixedTypeBounds.kt +++ b/compiler/testData/codegen/box/ranges/forInRangeLiteralWithMixedTypeBounds.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR fun test1(): Long { var s = 0L for (i in 1L..4) { diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt index 1398fd2c2c7..d1f2e84af97 100644 --- a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt @@ -1,5 +1,4 @@ // IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND: JS_IR const val M = Long.MAX_VALUE fun box(): String { diff --git a/js/js.translator/testData/box/expression/for/forIteratesOverNonLiteralRange.kt b/js/js.translator/testData/box/expression/for/forIteratesOverNonLiteralRange.kt index 5ff3a3a62df..2b4f7536a3a 100644 --- a/js/js.translator/testData/box/expression/for/forIteratesOverNonLiteralRange.kt +++ b/js/js.translator/testData/box/expression/for/forIteratesOverNonLiteralRange.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR // EXPECTED_REACHABLE_NODES: 1232 package foo diff --git a/libraries/stdlib/js/irRuntime/long.kt b/libraries/stdlib/js/irRuntime/long.kt index f8766a470dc..5bca4a13ee1 100644 --- a/libraries/stdlib/js/irRuntime/long.kt +++ b/libraries/stdlib/js/irRuntime/long.kt @@ -199,19 +199,17 @@ public class Long internal constructor( /** Returns the negative of this value. */ public operator fun unaryMinus(): Long = inv() + 1L -/* TODO /** Creates a range from this value to the specified [other] value. */ - public operator fun rangeTo(other: Byte): LongRange + public operator fun rangeTo(other: Byte): LongRange = rangeTo(other.toLong()) /** Creates a range from this value to the specified [other] value. */ - public operator fun rangeTo(other: Short): LongRange + public operator fun rangeTo(other: Short): LongRange = rangeTo(other.toLong()) /** Creates a range from this value to the specified [other] value. */ - public operator fun rangeTo(other: Int): LongRange + public operator fun rangeTo(other: Int): LongRange = rangeTo(other.toLong()) /** Creates a range from this value to the specified [other] value. */ - public operator fun rangeTo(other: Long): LongRange -*/ + public operator fun rangeTo(other: Long): LongRange = LongRange(this, other) /** Shifts this value left by the [bitCount] number of bits. */ public infix fun shl(bitCount: Int): Long = shiftLeft(bitCount)