Adjust test data after fixes about generic nullability
This commit is contained in:
@@ -9,7 +9,7 @@ class Project {
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <reified T> Project.get(t: Any?, p: PropertyMetadata): T = getInstance(javaClass<T>())
|
||||
inline fun <reified T : Any> Project.get(t: Any?, p: PropertyMetadata): T = getInstance(javaClass<T>())
|
||||
|
||||
val project = Project()
|
||||
val x1: Int by project
|
||||
|
||||
@@ -4,7 +4,7 @@ abstract class A {
|
||||
abstract fun f(): String
|
||||
}
|
||||
|
||||
inline fun<reified T> foo(): A {
|
||||
inline fun<reified T : Any> foo(): A {
|
||||
return object : A() {
|
||||
override fun f(): String {
|
||||
return javaClass<T>().getName()
|
||||
|
||||
+4
-4
@@ -11,15 +11,15 @@ inline fun doWorkInline(block: () -> String) = block()
|
||||
|
||||
fun box(): String {
|
||||
val x = object {
|
||||
inline fun <reified T> bar1(): A = object : A {
|
||||
inline fun <reified T : Any> bar1(): A = object : A {
|
||||
override fun f1(): String = javaClass<T>().getName()
|
||||
override fun f2(): String = doWork { javaClass<T>().getName() }
|
||||
override fun f3(): String = doWorkInline { javaClass<T>().getName() }
|
||||
}
|
||||
|
||||
inline fun <reified T> bar2() = javaClass<T>().getName()
|
||||
inline fun <reified T> bar3() = doWork { javaClass<T>().getName() }
|
||||
inline fun <reified T> bar4() = doWorkInline { javaClass<T>().getName() }
|
||||
inline fun <reified T : Any> bar2() = javaClass<T>().getName()
|
||||
inline fun <reified T : Any> bar3() = doWork { javaClass<T>().getName() }
|
||||
inline fun <reified T : Any> bar4() = doWorkInline { javaClass<T>().getName() }
|
||||
}
|
||||
|
||||
val y: A = x.bar1<String>()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
inline fun <reified T> foo(x: Class<T> = javaClass<T>()): String = x.getName()
|
||||
inline fun <reified T : Any> foo(x: Class<T> = javaClass<T>()): String = x.getName()
|
||||
|
||||
inline fun <reified R> bar(x: R): String = foo<R>()
|
||||
inline fun <reified R : Any> bar(x: R): String = foo<R>()
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("java.lang.String", foo<String>())
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
inline fun<reified T> javaClassName(): String {
|
||||
inline fun<reified T : Any> javaClassName(): String {
|
||||
return javaClass<T>().getName()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
inline fun <reified T, reified R> foo(): Array<String> {
|
||||
inline fun <reified T : Any, reified R : Any> foo(): Array<String> {
|
||||
val x = object {
|
||||
inline fun <reified T1, reified T> bar(): Array<String> = array(
|
||||
inline fun <reified T1 : Any, reified T : Any> bar(): Array<String> = array(
|
||||
javaClass<T1>().getName(), javaClass<T>().getName(), javaClass<R>().getName()
|
||||
)
|
||||
fun f1() = bar<T, R>()
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
fun foo(block: () -> String) = block()
|
||||
inline fun<reified T> bar1(x: T): String = foo() {
|
||||
inline fun<reified T : Any> bar1(x: T): String = foo() {
|
||||
javaClass<T>().getName()
|
||||
}
|
||||
inline fun<reified T> bar2(x: T, y: String): String = foo() {
|
||||
inline fun<reified T : Any> bar2(x: T, y: String): String = foo() {
|
||||
javaClass<T>().getName() + "#" + y
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -2,14 +2,14 @@ import kotlin.test.assertEquals
|
||||
|
||||
fun foo(block: () -> String) = block()
|
||||
|
||||
inline fun<reified T> bar1(): String = foo() {
|
||||
inline fun<reified T : Any> bar1(): String = foo() {
|
||||
javaClass<T>().getName()
|
||||
}
|
||||
inline fun<reified T> bar2(y: String): String = foo() {
|
||||
inline fun<reified T : Any> bar2(y: String): String = foo() {
|
||||
javaClass<T>().getName() + "#" + y
|
||||
}
|
||||
|
||||
inline fun<T1, T2, reified R1, reified R2> bar3(y: String) =
|
||||
inline fun<T1, T2, reified R1 : Any, reified R2 : Any> bar3(y: String) =
|
||||
Pair(bar1<R1>(), bar2<R2>(y))
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ interface A {
|
||||
|
||||
fun box(): String {
|
||||
val x: A = object : A {
|
||||
private inline fun <reified T> localClassName(): String = javaClass<T>().getName()
|
||||
private inline fun <reified T : Any> localClassName(): String = javaClass<T>().getName()
|
||||
override fun f(): String = foo { localClassName<String>() }
|
||||
override fun g(): String = foo { localClassName<Int>() }
|
||||
}
|
||||
|
||||
+3
-3
@@ -2,15 +2,15 @@ import kotlin.test.assertEquals
|
||||
|
||||
fun foo(block: () -> String) = block()
|
||||
|
||||
inline fun <reified T> className(): String = javaClass<T>().getName()
|
||||
inline fun <reified T : Any> className(): String = javaClass<T>().getName()
|
||||
|
||||
inline fun <reified T> lambdaShouldBeReified(): String = foo { className<T>() }
|
||||
inline fun <reified T : Any> lambdaShouldBeReified(): String = foo { className<T>() }
|
||||
|
||||
interface A {
|
||||
fun f(): String
|
||||
fun g(): String
|
||||
}
|
||||
inline fun<reified T1, reified T2> AFactory(): A = object : A {
|
||||
inline fun<reified T1 : Any, reified T2 : Any> AFactory(): A = object : A {
|
||||
override fun f(): String = className<T1>()
|
||||
override fun g(): String = foo { className<T2>() }
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ import kotlin.test.assertEquals
|
||||
|
||||
fun foo(block: () -> String) = block()
|
||||
|
||||
inline fun<reified T> className(): String = javaClass<T>().getName()
|
||||
inline fun<reified T : Any> className(): String = javaClass<T>().getName()
|
||||
|
||||
interface A {
|
||||
fun f(): String
|
||||
|
||||
Reference in New Issue
Block a user