Minor. Add more tests

This commit is contained in:
Ilmir Usmanov
2021-12-28 11:52:26 +01:00
parent c8817893d4
commit cece7120df
274 changed files with 20551 additions and 25 deletions
@@ -0,0 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// FILE: 1.kt
fun box(): String = X(Z("OK")).z.result
// FILE: 2.kt
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z<T: String>(val result: T)
class X(val z: Z<String>)
@@ -0,0 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// FILE: 2.kt
fun box(): String = X(Z("OK")).z.result
// FILE: 1.kt
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z<T: String>(val result: T)
class X(val z: Z<String>)
@@ -0,0 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
class Test(val x: S<String>, val y: S<String> = S("K")) {
val test = x.string + y.string
}
fun box() = Test(S("O")).test
@@ -0,0 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
abstract class Base(val x: S<String>)
class Test(x: S<String>) : Base(x)
fun box() = Test(S("OK")).x.string
@@ -0,0 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
abstract class Base(val x: S<String>)
class Test : Base {
constructor() : super(S("OK"))
}
fun box() = Test().x.string
@@ -0,0 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
class Test(val x: S<String>, val y: S<String>) {
constructor(x: S<String>) : this(x, S("K"))
val test = x.string + y.string
}
fun box() = Test(S("O")).test
@@ -0,0 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
enum class Test(val s: S<String>) {
OK(S("OK"))
}
fun box() = Test.OK.s.string
@@ -0,0 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
class Outer(val s1: S<String>) {
inner class Inner(val s2: S<String>) {
val test = s1.string + s2.string
}
}
fun box() = Outer(S("O")).Inner(S("K")).test
@@ -0,0 +1,10 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
class Test(val s: S<String>)
fun box() = Test(S("OK")).s.string
@@ -0,0 +1,14 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
class Outer private constructor(val s: S<String>) {
class Nested {
fun test(s: S<String>) = Outer(s)
}
}
fun box() = Outer.Nested().test(S("OK")).s.string
@@ -0,0 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
sealed class Sealed(val x: S<String>)
class Test(x: S<String>) : Sealed(x)
fun box() = Test(S("OK")).x.string
@@ -0,0 +1,12 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class S<T: String>(val string: T)
class Test(val s: S<String>) {
constructor(x: String, s: S<String>) : this(S(x + s.string))
}
fun box() = Test("O", S("K")).s.string