Regenerate inline class tests as 1 arg value classes

This commit is contained in:
Evgeniy.Zhelenskiy
2021-12-14 19:43:05 +03:00
committed by Space
parent 5ac4722be4
commit ec2e96f3e4
398 changed files with 9654 additions and 3771 deletions
@@ -1,8 +1,9 @@
// KJS_WITH_FULL_RUNTIME
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(private val value: Int) : Comparable<UInt> {
companion object {
private const val INT_MASK = 0xffffffffL
@@ -23,8 +24,7 @@ value class UInt(private val value: Int) : Comparable<UInt> {
value xor Int.MIN_VALUE
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UIntArray(private val intArray: IntArray) {
val size: Int get() = intArray.size
@@ -37,8 +37,7 @@ value class UIntArray(private val intArray: IntArray) {
operator fun iterator(): UIntIterator = UIntIterator(intArray.iterator())
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UIntIterator(private val intIterator: IntIterator) : Iterator<UInt> {
override fun next(): UInt {
return UInt(intIterator.next())
@@ -1,10 +1,11 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Target(AnnotationTarget.PROPERTY)
annotation class Anno
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val s: String)
class A {
@@ -1,8 +1,9 @@
// WITH_STDLIB
// IGNORE_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class A(val x: Int) {
fun f(): Int = super.hashCode()
}
@@ -1,25 +1,23 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcInt(val i: Int) {
fun simple(): String = i.toString()
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcLong(val l: Long) {
fun simple(): String = l.toString()
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcAny(val a: Any?) {
fun simple(): String = a?.toString() ?: "null"
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcOverIc(val o: IcLong) {
fun simple(): String = o.toString()
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC private constructor(val i: Int) {
@Suppress("SECONDARY_CONSTRUCTOR_WITH_BODY_INSIDE_VALUE_CLASS")
constructor() : this(0) {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC(val i: Int) {
init {
counter += i
@@ -1,11 +1,13 @@
// WITH_STDLIB
// IGNORE_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
abstract class C<T> {
fun foo(v: T?, x: (T) -> Any?) = v?.let { x(it) }
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class V(val value: Any?)
class D : C<V>()
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
class BoxT<T>(val boxed: T)
class BoxAny(val boxed: Any?)
@@ -6,16 +8,13 @@ class BoxFoo(val boxed: IFoo?)
interface IFoo
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Str(val value: String) : IFoo
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Str2(val value: Str): IFoo
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class StrArr(val value: Array<String>): IFoo
fun boxToTypeParameter(x: Str?) = BoxT(x)
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
class BoxT<T>(val boxed: T)
class BoxAny(val boxed: Any?)
@@ -6,8 +8,7 @@ class BoxFoo(val boxed: IFoo?)
interface IFoo
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class I32(val value: Int): IFoo
fun boxToTypeParameter(x: I32?) = BoxT(x)
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
fun useX(x: X): String = x.x as String
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
fun useX(x: X): String = x.x as String
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Int)
fun useX(x: X): String = if (x.x == 42) "OK" else "fail: $x"
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
fun useX(x: X): String = x.x as String
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
fun useX(x: X): String = if (x.x == null) "OK" else "fail: $x"
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Int?)
fun useX(x: X): String = if (x.x == 42) "OK" else "fail: $x"
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Int?)
fun useX(x: X): String = if (x.x == null) "OK" else "fail: $x"
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: String?)
fun useX(x: X): String = x.x ?: "fail: $x"
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: String?)
fun useX(x: X): String = if (x.x == null) "OK" else "fail: $x"
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: String)
fun useX(x: X): String = x.x
@@ -1,13 +1,14 @@
// IGNORE_BACKEND: JVM
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface X<T> {
operator fun plus(n: Int) : T
fun next(): T = this + 1
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class A(val value: Int) : X<A> {
override operator fun plus(n: Int) = A(value + n)
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
interface IBar {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
interface IBar {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
interface IFoo {
@@ -1,11 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IFoo {
fun foo(): String
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class ICFoo(val t: IFoo): IFoo {
override fun foo(): String = t.foo()
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Char)
interface IFoo {
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IFooList {
fun foo(): List<String>
@@ -8,8 +10,7 @@ interface IFooMutableList {
fun foo(): MutableList<String>
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class AL(val t: MutableList<String>) : MutableList<String> {
override val size: Int get() = t.size
override fun get(index: Int): String = t.get(index)
@@ -1,10 +1,11 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IQ1
interface IQ2
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any): IQ1, IQ2
interface IFoo1 {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
interface IFoo<T> {
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface GFoo<out T> {
fun foo(): T
@@ -10,8 +12,7 @@ interface IBar {
interface SFooBar : GFoo<IBar>
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: String) : IBar {
override fun bar(): String = x
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: String)
interface IFoo1<T> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class ResultOrClosed(val x: Any?)
interface A<T> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class FieldValue(val value: String)
enum class RequestFields {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class NumberInlineClass(val value: Double)
interface TypeAdapter<FROM, TO> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class NumberInlineClass(val value: Double)
interface TypeAdapter<FROM, TO> {
@@ -1,15 +1,15 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Marker(val i: Int)
interface I<T> {
fun foo(i: Marker) : T
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC(val a: Any)
class C : I<IC> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
interface IFoo<out T : X?> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
interface IFoo<out T : X?> {
@@ -1,9 +1,10 @@
// IGNORE_BACKEND: JS_IR
// WITH_STDLIB
// IGNORE_BACKEND: JS_IR_ES6
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
interface IFoo<out T : X?> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
interface IFoo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
interface IFoo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any?)
interface IFoo {
@@ -1,11 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IQ {
fun ok(): String
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val t: IQ): IQ {
override fun ok(): String = t.ok()
}
@@ -1,11 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IQ {
fun ok(): String
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val t: IQ): IQ {
override fun ok(): String = t.ok()
}
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IBase
@@ -6,8 +8,7 @@ interface IQ : IBase {
fun ok(): String
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val t: IQ): IQ {
override fun ok(): String = t.ok()
}
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IBase
@@ -6,8 +8,7 @@ interface IQ : IBase {
fun ok(): String
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val t: IQ): IQ {
override fun ok(): String = t.ok()
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: Any)
interface IFoo<T> {
@@ -1,4 +1,6 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
interface IFoo1<out T> {
fun foo(): T
@@ -8,8 +10,7 @@ interface IFoo2<out T> {
fun foo(): T
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class X(val x: String)
class Test : IFoo1<X>, IFoo2<X> {
@@ -1,13 +1,13 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(private val value: Int) {
fun asInt() = value
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UIntArray(private val intArray: IntArray) {
operator fun get(index: Int): UInt = UInt(intArray[index])
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(private val value: Int) {
operator fun plus(other: UInt): UInt = UInt(value + other.asValue())
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC(val x: String)
interface I<T> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Result<T>(val a: Any?) {
fun getOrThrow(): T = a as T
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlinedComparable(val x: Int) : Comparable<InlinedComparable> {
override fun compareTo(other: InlinedComparable): Int {
return x.compareTo(other.x)
@@ -14,8 +15,7 @@ interface Base<T> {
fun Base<T>.foo(a: Base<T>, b: T): Base<T>
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlinedBase(val x: Int) : Base<InlinedBase> {
override fun Base<InlinedBase>.foo(a: Base<InlinedBase>, b: InlinedBase): Base<InlinedBase> {
return if (a is InlinedBase) InlinedBase(a.x + b.x) else this
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Props(val intArray: IntArray) {
val size get() = intArray.size
@@ -1,13 +1,14 @@
// WITH_REFLECT
// FULL_JDK
// TARGET_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// WITH_STDLIB
import java.lang.reflect.InvocationTargetException
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Simple(val x: String) {
fun somethingWeird() {}
}
@@ -1,12 +1,12 @@
// WITH_STDLIB
// TARGET_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UIntArray(private val storage: IntArray) : Collection<UInt> {
public override val size: Int get() = storage.size
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
fun Z.test() = x
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
val Z.xx get() = x
@@ -1,19 +1,18 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int) {
fun test() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long) {
fun test() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String) {
fun test() = x
}
@@ -1,19 +1,18 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int) {
val xx get() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long) {
val xx get() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String) {
val xx get() = x
}
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
fun box(): String {
@@ -1,8 +1,10 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.test.assertEquals
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
class Outer(val z1: Z) {
@@ -3,11 +3,12 @@
// IGNORE_BACKEND: JS, JS_IR, JS_IR_ES6, NATIVE
// WITH_REFLECT
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.test.*
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val s: String)
fun box(): String {
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
fun test(aZ: Z, aL: L, aS: S) = "${aZ.x} ${aL.x} ${aS.x}"
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
fun Z.test() = x
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
val Z.xx get() = x
@@ -1,14 +1,16 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.test.assertEquals
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(internal val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(internal val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(internal val x: String)
fun box(): String {
@@ -1,19 +1,18 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int) {
fun test() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long) {
fun test() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String) {
fun test() = x
}
@@ -1,19 +1,18 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int) {
val xx get() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long) {
val xx get() = x
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String) {
val xx get() = x
}
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
fun box(): String {
@@ -1,13 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(val x: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(val x: String)
fun box(): String {
@@ -1,24 +1,24 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.test.assertEquals
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(private val x: Int) {
companion object {
val xref = Z::x
}
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class L(private val x: Long) {
companion object {
val xref = L::x
}
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class S(private val x: String) {
companion object {
val xref = S::x
@@ -1,6 +1,8 @@
// WITH_STDLIB
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
class C(var z: Z)
@@ -1,6 +1,8 @@
// WITH_STDLIB
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
class C(var z: Z)
@@ -1,6 +1,8 @@
// WITH_STDLIB
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
var topLevel = Z(42)
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class R(val x: Any)
fun useR(r: R) {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: Any)
object Foo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: Any?)
object Foo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: Int)
object Foo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: Int?)
object Foo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: Any)
fun foo(value: Value?) = value?.value as String?
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: String)
object Foo {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Value(val value: String?)
object Foo {
@@ -1,8 +1,9 @@
// WITH_STDLIB
// WITH_REFLECT
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Foo(val x: String) {
fun bar(f: Foo, i: Int): Foo = Foo(x + f.x + i)
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Foo<T>(val x: Any) {
fun bar() {}
}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Foo(val value: Int)
fun <T> id(x: T): T = x
@@ -1,17 +1,16 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class WithPrimitive(val a: Int)
fun takeWithPrimitive(a: WithPrimitive) {}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class WithReference(val a: Any)
fun takeWithReference(a: WithReference) {}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class WithNullableReference(val a: Any?)
fun takeWithNullableReference(a: WithNullableReference) {}
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC(val x: Int)
interface I<T> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class ULong(val l: Long)
fun nonLocal(): ULong? {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Foo(val a: Int) {
fun member(): String = ""
@@ -1,10 +1,11 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlineNotNullPrimitive(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlineNotNullReference(val y: String)
fun <T> testNotNullPrimitive(a: Any, b: T, c: InlineNotNullPrimitive, d: InlineNotNullPrimitive?) {}
@@ -1,16 +1,17 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlineNotNullPrimitive(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlineNullablePrimitive(val x: Int?)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlineNotNullReference(val a: Any)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class InlineNullableReference(val a: Any?)
fun test1(a: InlineNotNullPrimitive) {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC(val x: Int)
abstract class A<T> {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Foo(val x: Int) {
fun empty() = ""
fun withParam(a: String) = a
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(val s: Int)
fun test(a1: Any, a2: UInt?, a3: Any?, a4: Any?): Int {
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(val u: Int) {
override fun toString(): String {
return "UInt: $u"
@@ -1,10 +1,10 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt(val value: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class ULong(val value: Long)
fun foo(u: UInt, f: (UInt) -> ULong): ULong = f(u)
@@ -1,7 +1,8 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class Result<T>(val a: Any?) {
fun typed(): T = a as T
}
@@ -1,9 +1,10 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
var result = "Fail"
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class A(val value: String) {
init {
class B {
@@ -1,22 +1,23 @@
// WITH_STDLIB
// WITH_REFLECT
// TARGET_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
package root
import kotlin.reflect.KClass
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcInt(val x: Int)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcLong(val l: Long)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcAny(val a: Any?)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
OPTIONAL_JVM_INLINE_ANNOTATION
value class IcOverIc(val o: IcLong)
fun check(c: KClass<*>, s: String) {

Some files were not shown because too many files have changed in this diff Show More