[IR] update testdata: better support for IrConstructorCall

This commit is contained in:
Zalim Bashorov
2020-11-06 01:22:57 +03:00
committed by teamcityserver
parent 197f5ca885
commit 2a19dc32f2
70 changed files with 172 additions and 136 deletions
@@ -13,12 +13,36 @@ fun test(fn: Function0<Unit>, r: Runnable, arr: Array<String>) {
foo1(r = fn /*-> @FlexibleNullability Runnable? */, strs = arr) /*~> Unit */
foo1(r = fn /*-> @FlexibleNullability Runnable? */, strs = [*arr]) /*~> Unit */
foo1(r = r, strs = [*arr]) /*~> Unit */
val i1: Test = TODO("IrConstructorCall")
val i2: Test = TODO("IrConstructorCall")
val i3: Test = TODO("IrConstructorCall")
val i4: Test = TODO("IrConstructorCall")
val i5: Test = TODO("IrConstructorCall")
val i6: Test = TODO("IrConstructorCall")
val i1: Test = Test(r = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, strs = arr)
val i2: Test = Test(r = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, strs = [*arr])
val i3: Test = Test(r1 = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, r2 = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, strs = arr)
val i4: Test = Test(r1 = r, r2 = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, strs = [""])
val i5: Test = Test(r1 = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, r2 = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, strs = [*arr])
val i6: Test = Test(r1 = r, r2 = local fun <anonymous>() {
return Unit
}
/*-> @FlexibleNullability Runnable? */, strs = [*arr])
i1.foo2(r1 = local fun <anonymous>() {
return Unit
}
@@ -1,9 +1,9 @@
fun test1(f: Function1<String, String>): C<@FlexibleNullability String?> {
return TODO("IrConstructorCall")
return C<@FlexibleNullability String?>(jxx = f /*-> @FlexibleNullability J<@FlexibleNullability String?, @FlexibleNullability String?>? */)
}
fun test2(x: Any) {
x as Function1<String, String> /*~> Unit */
TODO("IrConstructorCall") /*~> Unit */
C<@FlexibleNullability String?>(jxx = x /*as Function1<@ParameterName(...) @FlexibleNullability String?, @FlexibleNullability String?> */ /*-> @FlexibleNullability J<@FlexibleNullability String?, @FlexibleNullability String?>? */) /*~> Unit */
}
@@ -1,5 +1,5 @@
fun test3(f1: Function1<String, String>, f2: Function1<Int, String>): D<@FlexibleNullability Int?, @FlexibleNullability String?> {
return TODO("IrConstructorCall")
return C<@FlexibleNullability String?>(jxx = f1 /*-> @FlexibleNullability J<@FlexibleNullability String?, @FlexibleNullability String?>? */).D<@FlexibleNullability Int?>(jxy = f2 /*-> @FlexibleNullability J<@FlexibleNullability String?, @FlexibleNullability Int?>? */)
}
class Outer<T1 : Any?> {
@@ -35,15 +35,15 @@ class Outer<T1 : Any?> {
}
fun test4(f: Function1<String, String>, g: Function1<Any, String>): Inner<@FlexibleNullability Any?, @FlexibleNullability String?> {
return TODO("IrConstructorCall")
return Outer<@FlexibleNullability String?>(j11 = f /*-> J<@FlexibleNullability String?, @FlexibleNullability String?> */).Inner<@FlexibleNullability Any?>(j12 = g /*-> J<@FlexibleNullability String?, @FlexibleNullability Any?> */)
}
fun testGenericJavaCtor1(f: Function1<String, Int>): G<@FlexibleNullability String?> {
return TODO("IrConstructorCall")
return G<@FlexibleNullability String?, @FlexibleNullability Int?>(x = f /*-> @FlexibleNullability J<@FlexibleNullability Int?, @FlexibleNullability String?>? */)
}
fun testGenericJavaCtor2(x: Any) {
x as Function1<String, Int> /*~> Unit */
TODO("IrConstructorCall") /*~> Unit */
G<@FlexibleNullability String?, @FlexibleNullability Int?>(x = x /*as Function1<@ParameterName(...) @FlexibleNullability String?, @FlexibleNullability Int?> */ /*-> @FlexibleNullability J<@FlexibleNullability Int?, @FlexibleNullability String?>? */) /*~> Unit */
}
@@ -9,7 +9,7 @@ fun test1(a: Function0<Unit>) {
fun test2(a: Function0<Unit>) {
when {
a is Runnable -> { // BLOCK
TODO("IrConstructorCall").run1(r = a /*as Runnable */)
J().run1(r = a /*as Runnable */)
}
}
}
@@ -17,7 +17,7 @@ fun test2(a: Function0<Unit>) {
fun test3(a: Function0<Unit>) {
when {
a is Runnable -> { // BLOCK
TODO("IrConstructorCall").run2(r1 = a /*as Runnable */, r2 = a /*as Runnable */)
J().run2(r1 = a /*as Runnable */, r2 = a /*as Runnable */)
}
}
}
@@ -25,7 +25,7 @@ fun test3(a: Function0<Unit>) {
fun test4(a: Function0<Unit>, b: Function0<Unit>) {
when {
a is Runnable -> { // BLOCK
TODO("IrConstructorCall").run2(r1 = a /*-> @FlexibleNullability Runnable? */, r2 = b /*-> @FlexibleNullability Runnable? */)
J().run2(r1 = a /*-> @FlexibleNullability Runnable? */, r2 = b /*-> @FlexibleNullability Runnable? */)
}
}
}
@@ -33,7 +33,7 @@ fun test4(a: Function0<Unit>, b: Function0<Unit>) {
fun test5(a: Any) {
when {
a is Runnable -> { // BLOCK
TODO("IrConstructorCall").run1(r = a /*as Runnable */)
J().run1(r = a /*as Runnable */)
}
}
}
@@ -42,26 +42,26 @@ fun test5x(a: Any) {
when {
a is Runnable -> { // BLOCK
a as Function0<Unit> /*~> Unit */
TODO("IrConstructorCall").run1(r = a /*as Runnable */)
J().run1(r = a /*as Runnable */)
}
}
}
fun test6(a: Any) {
a as Function0<Unit> /*~> Unit */
TODO("IrConstructorCall").run1(r = a /*as Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
J().run1(r = a /*as Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
}
fun test7(a: Function1<Int, Int>) {
a as Function0<Unit> /*~> Unit */
TODO("IrConstructorCall").run1(r = a /*as Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
J().run1(r = a /*as Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
}
fun test8(a: Function0<Unit>) {
TODO("IrConstructorCall").run1(r = id<@FlexibleNullability Function0<Unit>?>(x = a) /*!! Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
J().run1(r = id<@FlexibleNullability Function0<Unit>?>(x = a) /*!! Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
}
fun test9() {
TODO("IrConstructorCall").run1(r = ::test9 /*-> @FlexibleNullability Runnable? */)
J().run1(r = ::test9 /*-> @FlexibleNullability Runnable? */)
}