[FIR-TEST] Add new testdata generated after changes in previous commit

This commit is contained in:
Dmitriy Novozhilov
2019-12-11 16:16:22 +03:00
parent e9c02a1cca
commit 2536fa0cd5
4578 changed files with 104067 additions and 1 deletions
@@ -0,0 +1,9 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A<F>
inline fun <reified T> foo(x: A<T>) {}
fun test(x: A<out CharSequence>) {
foo(x)
}
@@ -0,0 +1,3 @@
fun <T: Any> dereferenceClass(): Any =
<!OTHER_ERROR!>T<!>::class
@@ -0,0 +1,13 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline operator fun <reified T> T.plus(p: T): T = this
inline operator fun <reified T> T.invoke(): T = this
fun <A> main(tp: A, any: Any) {
tp + tp
any + any
tp()
any()
}
@@ -0,0 +1,19 @@
// !LANGUAGE: +ProhibitNonReifiedArraysAsReifiedTypeArguments
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline fun <reified T> foo() {}
fun <T> bar() {
foo<T>()
foo<Array<T>>()
foo<Array<Array<T>>>()
foo<Array<Int>>()
foo<Array<Array<Int>>>()
foo<IntArray>()
foo<List<T>>()
foo<List<Array<T>>>()
}
fun test(x: Array<String>, y: Array<*>) {
bar<Int>()
}
@@ -0,0 +1,19 @@
// !LANGUAGE: -ProhibitNonReifiedArraysAsReifiedTypeArguments
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline fun <reified T> foo() {}
fun <T> bar() {
foo<T>()
foo<Array<T>>()
foo<Array<Array<T>>>()
foo<Array<Int>>()
foo<Array<Array<Int>>>()
foo<IntArray>()
foo<List<T>>()
foo<List<Array<T>>>()
}
fun test(x: Array<String>, y: Array<*>) {
bar<Int>()
}
@@ -0,0 +1,24 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline fun <reified T> foo() {}
inline fun <reified F> bar() {
foo<Array<F>>()
foo<List<F>>()
}
inline fun <reified E> baz(x: E) {}
fun test(x: Array<String>, y: Array<*>) {
foo<List<String>>()
foo<List<*>>()
foo<Map<*, String>>()
foo<Map<*, *>>()
foo<Array<String>>()
foo<Array<*>>()
baz(x)
baz(y)
}
@@ -0,0 +1,17 @@
// !WITH_NEW_INFERENCE
class C<reified T>
fun <T> id(p: T): T = p
fun <A> main() {
C()
val a: C<A> = C()
C<A>()
val b: C<Int> = C()
C<Int>()
// TODO svtk, uncomment when extensions are called for nested calls!
//val < !UNUSED_VARIABLE!>с< !>: C<A> = id(< !TYPE_PARAMETER_AS_REIFIED!>C< !>())
}
@@ -0,0 +1,18 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline fun <reified T> f(): T = throw UnsupportedOperationException()
fun <T> id(p: T): T = p
fun <A> main() {
f()
val a: A = f()
f<A>()
val b: Int = f()
f<Int>()
val с: A = id(f())
}
@@ -0,0 +1,2 @@
val <reified T> T.v: T
get() = throw UnsupportedOperationException()
@@ -0,0 +1,4 @@
class C<reified T>
fun <A> main(p1: C<A>, p2: C<Int>) {
}
@@ -0,0 +1,8 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline fun<T1, reified T2> bar(x: T1, y: T2): T2 = y
inline fun<reified R> foo(z: R): R = bar(1, z)
fun box() {
foo("abc")
}
@@ -0,0 +1,9 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -NOT_YET_SUPPORTED_IN_INLINE
inline fun<reified T> foo(x: T) {
fun<reified R> bar() {
}
bar<T>()
}
@@ -0,0 +1,4 @@
fun<T1, reified T2, T3, reified T4> foo() {
}
@@ -0,0 +1,3 @@
class A<T1, reified T2, T3, reified T4> {
fun<reified R> foo(): T2 = throw UnsupportedOperationException()
}