[Tests] Remove unnecessary usages of OPTIONAL_JVM_INLINE_ANNOTATION

Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
This commit is contained in:
Evgeniy.Zhelenskiy
2022-11-29 04:48:43 +01:00
committed by Space Team
parent 50310d42e3
commit fa4a4e56f3
67 changed files with 269 additions and 326 deletions
@@ -1,23 +1,22 @@
// WITH_STDLIB
// WITH_REFLECT
// TARGET_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
package root
import kotlin.reflect.KClass
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IcInt(val x: Int)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IcLong(val l: Long)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IcAny(val a: Any?)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IcOverIc(val o: IcLong)
fun check(c: KClass<*>, s: String) {
@@ -1,21 +1,20 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// FULL_JDK
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
import java.lang.reflect.Modifier
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC1<T: Int> public constructor(val i: T)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC11<T: Int> internal constructor(val i: T)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC2<T: Int> private constructor(val i: T)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC4<T: Int> protected constructor(val i: T)
fun box(): String {
@@ -1,5 +1,4 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
// CHECK_BYTECODE_LISTING
@@ -9,7 +8,7 @@ interface I {
fun getVal(): Int
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC1(val x: Int) : I {
override fun getVal(): Int {
return x
@@ -31,7 +30,7 @@ value class IC1(val x: Int) : I {
}
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC2(val y: Int) : I {
override fun getVal(): Int {
return y * 10
@@ -1,5 +1,4 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
// CHECK_BYTECODE_LISTING
@@ -7,14 +6,14 @@
import java.lang.AssertionError
import kotlin.math.abs
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC1(val x: Double) {
fun equals(other: IC1): Boolean {
return abs(x - other.x) < 0.5
}
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC2(val x: Int) {
override fun equals(other: Any?): Boolean {
if (other !is IC2) {
@@ -1,12 +1,11 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
// CHECK_BYTECODE_LISTING
import kotlin.math.abs
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC(val x: Double) {
operator fun equals(other: IC): Boolean {
return abs(x - other.x) < 0.1
@@ -1,12 +1,11 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
// CHECK_BYTECODE_LISTING
import kotlin.math.abs
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC1(val value: Double) {
fun equals(other: IC1): Boolean {
return abs(value - other.value) < 0.1
@@ -17,29 +16,29 @@ interface I {
fun equals(param: IC2): Boolean
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC2(val value: Int) : I {
override operator fun equals(param: IC2): Boolean {
return abs(value - param.value) < 2
}
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC3(val value: Int) {
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC4(val value: Int) {
override fun equals(other: Any?) = TODO()
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC5(val value: Int) {
operator fun equals(other: IC5): Nothing = TODO()
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC6(val value: Int) {
override fun equals(other: Any?): Nothing = TODO()
}
@@ -1,10 +1,9 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
// CHECK_BYTECODE_LISTING
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC1<T : Number>(val x: T) {
fun equals(other: Int) = false
fun equals(other: IC1<*>) = true
@@ -12,19 +11,19 @@ value class IC1<T : Number>(val x: T) {
class Generic<T, R>(val x: T, val y: R)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC2<T, R>(val value: Generic<T, R>) {
fun equals(other: IC1<Double>) = false
fun equals(other: IC2<*, *>) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC3<T>(val value: T) {
fun equals(other: Int) = false
fun equals(other: IC3<*>) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC4<T>(val value: T) {
fun equals(other: String) = false
fun equals(other: IC4<*>) = true
@@ -1,12 +1,11 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
// CHECK_BYTECODE_LISTING
import kotlin.math.abs
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC(val x: Int) {
override fun equals(other: Any?): Boolean {
if (other !is IC) {
@@ -1,11 +1,10 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// FILE: R.kt
import kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class R(val value: String) {
companion object {
inline fun ok() = R("OK")
@@ -1,11 +1,10 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// FILE: R.kt
import kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class R<T: String>(val value: T) {
companion object {
inline fun ok() = R("OK")
@@ -1,47 +1,46 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class A(val x: Int) {
operator fun equals(other: A) = true
}
class C
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class B1(val x: A)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class B2(val x: A?)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class D1(val x: C) {
operator fun equals(other: D1) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class D2(val x: C?) {
operator fun equals(other: D2) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class E1(val x: D1)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class E2(val x: D2)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class F<T>(val x: T)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class G<T : D1>(val x: T)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class H<T>(val x: F<T>)
fun box(): String {
@@ -1,6 +1,5 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.jvm.JvmInline
@@ -9,7 +8,7 @@ open class Expando {
val expansion: Expansion = Expansion()
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class Expansion(val map: MutableMap<String, Any?> = mutableMapOf()) {
override inline fun toString(): String = "OK"
}
@@ -1,20 +1,19 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.test.*
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class I(val x: Int)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class JLI(val x: java.lang.Integer)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class U(val x: Unit?)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class N(val x: Nothing?)
val icUnit = U(Unit)
@@ -1,9 +1,8 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class Str(val s: String)
@JvmOverloads
@@ -1,9 +1,8 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class Str<T: String>(val s: T)
@JvmOverloads
@@ -1,11 +1,10 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// FILE: test.kt
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class R(private val r: Int) {
companion object {
+2 -3
View File
@@ -1,14 +1,13 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class A(val x: Int) {
operator fun equals(other: A) = x % 5 == other.x % 5
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class B(val x: A)
fun box() = if (B(A(0)) == B(A(5))) "OK" else "Fail"
+8 -9
View File
@@ -1,46 +1,45 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +CustomEqualsInValueClasses
// TARGET_BACKEND: JVM_IR
class A(x: Int)
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class B(val a: A) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class C<T>(val t: T) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class D<T : Int>(val t: T) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class E(val d: Double) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class F(val e: E) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class G(val e: Int?) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class H(val e: Any?) {
override fun equals(other: Any?) = true
}
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class I(val e: E?) {
override fun equals(other: Any?) = true
}
@@ -1,11 +1,10 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// FILE: a.kt
OPTIONAL_JVM_INLINE_ANNOTATION
@JvmInline
value class IC(val v: Int) {
fun <T> getT(): T? = null
}