[IR] update testdata after rebase

This commit is contained in:
Zalim Bashorov
2020-11-05 23:27:19 +03:00
committed by teamcityserver
parent 1c6c996084
commit 3b1a6389ab
14 changed files with 120 additions and 74 deletions
@@ -113,7 +113,16 @@ dataClassArrayMemberToString(arg0 = #doubleArray) +
}
override fun hashCode(): Int {
return dataClassArrayMemberHashCode(arg0 = #stringArray).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #charArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #booleanArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #byteArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #shortArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #intArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #longArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #floatArray)).times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #doubleArray))
var result: Int = dataClassArrayMemberHashCode(arg0 = #stringArray)
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #charArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #booleanArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #byteArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #shortArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #intArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #longArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #floatArray))
result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #doubleArray))
return result
}
override operator fun equals(other: Any?): Boolean {
+10 -3
View File
@@ -47,7 +47,10 @@ data class Test1 {
}
override fun hashCode(): Int {
return #x.hashCode().times(other = 31).plus(other = #y.hashCode()).times(other = 31).plus(other = #z.hashCode())
var result: Int = #x.hashCode()
result = result.times(other = 31).plus(other = #y.hashCode())
result = result.times(other = 31).plus(other = #z.hashCode())
return result
}
override operator fun equals(other: Any?): Boolean {
@@ -181,13 +184,17 @@ data class Test3 {
}
override fun hashCode(): Int {
return #d.hashCode().times(other = 31).plus(other = when {
var result: Int = #d.hashCode()
result = result.times(other = 31).plus(other = when {
EQEQ(arg0 = #dn, arg1 = null) -> 0
true -> #dn.hashCode()
}).times(other = 31).plus(other = #f.hashCode()).times(other = 31).plus(other = when {
})
result = result.times(other = 31).plus(other = #f.hashCode())
result = result.times(other = 31).plus(other = when {
EQEQ(arg0 = #df, arg1 = null) -> 0
true -> #df.hashCode()
})
return result
}
override operator fun equals(other: Any?): Boolean {
@@ -36,10 +36,12 @@ data class Test<T : Any?> {
}
override fun hashCode(): Int {
return when {
var result: Int = when {
EQEQ(arg0 = #x, arg1 = null) -> 0
true -> #x.hashCode()
}.times(other = 31).plus(other = #y.hashCode())
}
result = result.times(other = 31).plus(other = #y.hashCode())
return result
}
override operator fun equals(other: Any?): Boolean {
@@ -58,7 +58,6 @@ fun testInnerClassConstructor(outer: Outer): Any {
fun testInnerClassConstructorCapturingOuter(): Any {
return use(fn = { //BLOCK
val tmp0_receiver: Outer = TODO("IrConstructorCall")
local fun Outer.<init>(p0: Int): Inner {
return TODO("IrConstructorCall")
}
@@ -93,7 +93,6 @@ fun testWithDefaults() {
fun testWithBoundReceiver() {
useSuspend(fn = { //BLOCK
val tmp0_receiver: C = TODO("IrConstructorCall")
local suspend fun C.bar() {
receiver.bar()
}
@@ -39,7 +39,6 @@ class Host {
fun testBoundReceiverLocalVar() {
var h: Host = TODO("IrConstructorCall")
use(fn = { //BLOCK
val tmp0_receiver: Host = h
local fun Host.withVararg(p0: Int) {
receiver.withVararg(xs = [p0]) /*~> Unit */
}
@@ -62,7 +61,6 @@ class Host {
fun testBoundReceiverExpression() {
use(fn = { //BLOCK
val tmp0_receiver: Host = TODO("IrConstructorCall")
local fun Host.withVararg(p0: Int) {
receiver.withVararg(xs = [p0]) /*~> Unit */
}
@@ -26,7 +26,7 @@ fun test1(): @FlexibleNullability String? {
}
fun test2(): String {
return checkT<String?>(fn = local fun <anonymous>(): String? {
return checkT<@EnhancedNullability String>(fn = local fun <anonymous>(): @EnhancedNullability String {
return nnFoo()
}
) /*!! String */
@@ -40,7 +40,7 @@ fun test3(): @FlexibleNullability String? {
}
fun test4(): String {
return checkTAny<String?>(fn = local fun <anonymous>(): String? {
return checkTAny<@EnhancedNullability String>(fn = local fun <anonymous>(): @EnhancedNullability String {
return nnFoo()
}
) /*!! String */
@@ -30,12 +30,12 @@ fun test5(a: Any) {
}
fun <T : Any?> test6(a: Function1<T, T>) {
bar<T?>(j = a /*-> @FlexibleNullability J<T?>? */)
bar<@FlexibleNullability T?>(j = a /*-> @FlexibleNullability J<@FlexibleNullability T?>? */)
}
fun <T : Any?> test7(a: Any) {
a as Function1<T, T> /*~> Unit */
bar<T?>(j = a /*as Function1<@ParameterName(...) T?, T?> */ /*-> @FlexibleNullability J<T?>? */)
bar<@FlexibleNullability T?>(j = a /*as Function1<@ParameterName(...) @FlexibleNullability T?, @FlexibleNullability T?> */ /*-> @FlexibleNullability J<@FlexibleNullability T?>? */)
}
fun test8(efn: @ExtensionFunctionType Function1<String, String>): J<@FlexibleNullability String?> {
@@ -22,129 +22,156 @@ fun produceFun(): Function0<Unit> {
fun testSimple(fn: Function0<Unit>) {
useSuspend(sfn = { //BLOCK
local suspend fun suspendConversion0() {
fn.invoke()
local suspend fun Function0<Unit>.suspendConversion0() {
callee.invoke()
}
::suspendConversion0
})
}
fun testSimpleNonVal() {
useSuspend(sfn = { //BLOCK
val tmp0: Function0<Unit> = produceFun()
local suspend fun suspendConversion1() {
tmp0.invoke()
local suspend fun Function0<Unit>.suspendConversion0() {
callee.invoke()
}
::suspendConversion0
})
}
fun testExtAsExt(fn: @ExtensionFunctionType Function1<Int, Unit>) {
useSuspendExt(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun @ExtensionFunctionType Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testExtAsSimple(fn: @ExtensionFunctionType Function1<Int, Unit>) {
useSuspendArg(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testSimpleAsExt(fn: Function1<Int, Unit>) {
useSuspendExt(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun @ExtensionFunctionType Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testSimpleAsSimpleT(fn: Function1<Int, Unit>) {
useSuspendArgT<Int>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testSimpleAsExtT(fn: Function1<Int, Unit>) {
useSuspendExtT<Int>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun @ExtensionFunctionType Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testExtAsSimpleT(fn: @ExtensionFunctionType Function1<Int, Unit>) {
useSuspendArgT<Int>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testExtAsExtT(fn: @ExtensionFunctionType Function1<Int, Unit>) {
useSuspendExtT<Int>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: Int) {
fn.invoke(p1 = p0)
local suspend fun @ExtensionFunctionType Function1<Int, Unit>.suspendConversion0(p0: Int) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun <S : Any?> testSimpleSAsSimpleT(fn: Function1<S, Unit>) {
useSuspendArgT<S>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: S) {
fn.invoke(p1 = p0)
local suspend fun Function1<S, Unit>.suspendConversion0(p0: S) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun <S : Any?> testSimpleSAsExtT(fn: Function1<S, Unit>) {
useSuspendExtT<S>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: S) {
fn.invoke(p1 = p0)
local suspend fun @ExtensionFunctionType Function1<S, Unit>.suspendConversion0(p0: S) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun <S : Any?> testExtSAsSimpleT(fn: @ExtensionFunctionType Function1<S, Unit>) {
useSuspendArgT<S>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: S) {
fn.invoke(p1 = p0)
local suspend fun Function1<S, Unit>.suspendConversion0(p0: S) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun <S : Any?> testExtSAsExtT(fn: @ExtensionFunctionType Function1<S, Unit>) {
useSuspendExtT<S>(sfn = { //BLOCK
local suspend fun suspendConversion0(p0: S) {
fn.invoke(p1 = p0)
local suspend fun @ExtensionFunctionType Function1<S, Unit>.suspendConversion0(p0: S) {
callee.invoke(p1 = p0)
}
::suspendConversion0
})
}
fun testSmartCastWithSuspendConversion(a: Any) {
a as Function0<Unit> /*~> Unit */
useSuspend(sfn = { //BLOCK
local suspend fun suspendConversion0() {
a /*as Function0<Unit> */.invoke()
local suspend fun Function0<Unit>.suspendConversion0() {
callee.invoke()
}
::suspendConversion0
})
}
@@ -152,11 +179,12 @@ fun testSmartCastOnVarWithSuspendConversion(a: Any) {
var b: Any = a
b as Function0<Unit> /*~> Unit */
useSuspend(sfn = { //BLOCK
val tmp0: Function0<Unit> = b /*as Function0<Unit> */
local suspend fun suspendConversion1() {
tmp0.invoke()
local suspend fun Function0<Unit>.suspendConversion0() {
callee.invoke()
}
::suspendConversion0
})
}
@@ -36,7 +36,9 @@ data class A {
}
override fun hashCode(): Int {
return #x.hashCode().times(other = 31).plus(other = #y.hashCode())
var result: Int = #x.hashCode()
result = result.times(other = 31).plus(other = #y.hashCode())
return result
}
override operator fun equals(other: Any?): Boolean {
@@ -1,6 +1,6 @@
fun <T : Any?> problematic(lss: List<List<T>>): List<T> {
return flatMap<List<T>, T?>($receiver = lss, transform = local fun <anonymous>(it: List<T>): List<T?>? {
return id<T?>(v = it) /*!! List<T?> */
return flatMap<List<T>, @FlexibleNullability T?>($receiver = lss, transform = local fun <anonymous>(it: List<T>): @EnhancedNullability MutableList<@FlexibleNullability T?> {
return id<@FlexibleNullability T?>(v = it) /*!! List<@FlexibleNullability T?> */
}
)
}
+1 -1
View File
@@ -1,7 +1,7 @@
fun <K1 : Any?, V1 : Any?> Map<out K1, V1>.plus(pair: Pair<K1, V1>): Map<K1, V1> {
return when {
<this>.isEmpty() -> mapOf<K1, V1>(pair = pair)
true -> apply<LinkedHashMap<K1?, V1?>>($receiver = TODO("IrConstructorCall"), block = local fun LinkedHashMap<K1?, V1?>.<anonymous>() {
true -> apply<LinkedHashMap<@FlexibleNullability K1?, @FlexibleNullability V1?>>($receiver = TODO("IrConstructorCall"), block = local fun LinkedHashMap<@FlexibleNullability K1?, @FlexibleNullability V1?>.<anonymous>() {
<this>.put(key = pair.<get-first>(), value = pair.<get-second>()) /*~> Unit */
}
)
@@ -59,7 +59,7 @@ class Q<T1 : Any?, T2 : Any?> {
fun test1() {
// COMPOSITE {
val tmp0_container: P? = notNullP()
val tmp0_container: @EnhancedNullability P = notNullP()
val x: Int = tmp0_container /*!! P */.component1()
val y: Int = tmp0_container /*!! P */.component2()
// }
@@ -68,34 +68,34 @@ fun test1() {
fun test2() {
// COMPOSITE {
val tmp0_container: @FlexibleNullability Q<@NotNull(...) String?, @NotNull(...) String?>? = notNullComponents()
val x: @NotNull(...) String? = tmp0_container /*!! Q<@NotNull(...) String?, @NotNull(...) String?> */.component1()
val y: @NotNull(...) String? = tmp0_container /*!! Q<@NotNull(...) String?, @NotNull(...) String?> */.component2()
val tmp0_container: @FlexibleNullability Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String>? = notNullComponents()
val x: @NotNull(...) @EnhancedNullability String = tmp0_container /*!! Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> */.component1()
val y: @NotNull(...) @EnhancedNullability String = tmp0_container /*!! Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> */.component2()
// }
use(x = x /*!! @NotNull(...) String */, y = y /*!! @NotNull(...) String */)
}
fun test2Desugared() {
val tmp: @FlexibleNullability Q<@NotNull(...) String?, @NotNull(...) String?>? = notNullComponents()
val x: @NotNull(...) String = tmp /*!! Q<@NotNull(...) String?, @NotNull(...) String?> */.component1() /*!! @NotNull(...) String */
val y: @NotNull(...) String = tmp /*!! Q<@NotNull(...) String?, @NotNull(...) String?> */.component2() /*!! @NotNull(...) String */
val tmp: @FlexibleNullability Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String>? = notNullComponents()
val x: @NotNull(...) String = tmp /*!! Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> */.component1() /*!! @NotNull(...) String */
val y: @NotNull(...) String = tmp /*!! Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> */.component2() /*!! @NotNull(...) String */
use(x = x, y = y)
}
fun test3() {
// COMPOSITE {
val tmp0_container: Q<@NotNull(...) String?, @NotNull(...) String?>? = notNullQAndComponents()
val x: @NotNull(...) String? = tmp0_container /*!! Q<@NotNull(...) String?, @NotNull(...) String?> */.component1()
val y: @NotNull(...) String? = tmp0_container /*!! Q<@NotNull(...) String?, @NotNull(...) String?> */.component2()
val tmp0_container: @EnhancedNullability Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> = notNullQAndComponents()
val x: @NotNull(...) @EnhancedNullability String = tmp0_container /*!! Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> */.component1()
val y: @NotNull(...) @EnhancedNullability String = tmp0_container /*!! Q<@NotNull(...) @EnhancedNullability String, @NotNull(...) @EnhancedNullability String> */.component2()
// }
use(x = x /*!! @NotNull(...) String */, y = y /*!! @NotNull(...) String */)
}
fun test4() {
// COMPOSITE {
val tmp0_container: IndexedValue<@NotNull(...) P?> = first<IndexedValue<@NotNull(...) P?>>($receiver = withIndex<@NotNull(...) P?>($receiver = listOfNotNull() /*!! List<@NotNull(...) P?> */))
val tmp0_container: IndexedValue<@NotNull(...) @EnhancedNullability P> = first<IndexedValue<@NotNull(...) @EnhancedNullability P>>($receiver = withIndex<@NotNull(...) @EnhancedNullability P>($receiver = listOfNotNull() /*!! List<@NotNull(...) @EnhancedNullability P> */))
val x: Int = tmp0_container.component1()
val y: @NotNull(...) P? = tmp0_container.component2()
val y: @NotNull(...) @EnhancedNullability P = tmp0_container.component2()
// }
use(x = x, y = y /*!! @NotNull(...) P */)
}
@@ -3,9 +3,9 @@ fun use(s: P) {
fun testForInListUnused() {
{ //BLOCK
val tmp0_iterator: MutableIterator<@NotNull(...) P?> = listOfNotNull() /*!! List<@NotNull(...) P?> */ /*as MutableList<*> */.iterator()
val tmp0_iterator: MutableIterator<@NotNull(...) @EnhancedNullability P> = listOfNotNull() /*!! List<@NotNull(...) @EnhancedNullability P> */ /*as MutableList<*> */.iterator()
while (tmp0_iterator.hasNext()) { //BLOCK
val x: @NotNull(...) P? = tmp0_iterator.next()
val x: @NotNull(...) @EnhancedNullability P = tmp0_iterator.next()
{ //BLOCK
}
}
@@ -14,9 +14,9 @@ fun testForInListUnused() {
fun testForInListDestructured() {
{ //BLOCK
val tmp0_iterator: MutableIterator<@NotNull(...) P?> = listOfNotNull() /*!! List<@NotNull(...) P?> */ /*as MutableList<*> */.iterator()
val tmp0_iterator: MutableIterator<@NotNull(...) @EnhancedNullability P> = listOfNotNull() /*!! List<@NotNull(...) @EnhancedNullability P> */ /*as MutableList<*> */.iterator()
while (tmp0_iterator.hasNext()) { //BLOCK
val tmp1_loop_parameter: @NotNull(...) P? = tmp0_iterator.next()
val tmp1_loop_parameter: @NotNull(...) @EnhancedNullability P = tmp0_iterator.next()
val x: Int = tmp1_loop_parameter /*!! @NotNull(...) P */.component1()
val y: Int = tmp1_loop_parameter /*!! @NotNull(...) P */.component2()
{ //BLOCK
@@ -26,7 +26,7 @@ fun testForInListDestructured() {
}
fun testDesugaredForInList() {
val iterator: MutableIterator<@NotNull(...) P?> = listOfNotNull() /*!! List<@NotNull(...) P?> */ /*as MutableList<*> */.iterator()
val iterator: MutableIterator<@NotNull(...) @EnhancedNullability P> = listOfNotNull() /*!! List<@NotNull(...) @EnhancedNullability P> */ /*as MutableList<*> */.iterator()
while (iterator.hasNext()) { //BLOCK
val x: @NotNull(...) P = iterator.next() /*!! @NotNull(...) P */
}
@@ -34,9 +34,9 @@ fun testDesugaredForInList() {
fun testForInArrayUnused(j: J) {
{ //BLOCK
val tmp0_iterator: Iterator<P?> = j.arrayOfNotNull() /*!! Array<out P?> */ /*as Array<P?> */.iterator()
val tmp0_iterator: Iterator<@EnhancedNullability P> = j.arrayOfNotNull() /*!! Array<out @EnhancedNullability P> */ /*as Array<@EnhancedNullability P> */.iterator()
while (tmp0_iterator.hasNext()) { //BLOCK
val x: P? = tmp0_iterator.next()
val x: @EnhancedNullability P = tmp0_iterator.next()
{ //BLOCK
}
}
@@ -45,9 +45,9 @@ fun testForInArrayUnused(j: J) {
fun testForInListUse() {
{ //BLOCK
val tmp0_iterator: MutableIterator<@NotNull(...) P?> = listOfNotNull() /*!! List<@NotNull(...) P?> */ /*as MutableList<*> */.iterator()
val tmp0_iterator: MutableIterator<@NotNull(...) @EnhancedNullability P> = listOfNotNull() /*!! List<@NotNull(...) @EnhancedNullability P> */ /*as MutableList<*> */.iterator()
while (tmp0_iterator.hasNext()) { //BLOCK
val x: @NotNull(...) P? = tmp0_iterator.next()
val x: @NotNull(...) @EnhancedNullability P = tmp0_iterator.next()
{ //BLOCK
use(s = x /*!! @NotNull(...) P */)
use(s = x)
@@ -58,9 +58,9 @@ fun testForInListUse() {
fun testForInArrayUse(j: J) {
{ //BLOCK
val tmp0_iterator: Iterator<P?> = j.arrayOfNotNull() /*!! Array<out P?> */ /*as Array<P?> */.iterator()
val tmp0_iterator: Iterator<@EnhancedNullability P> = j.arrayOfNotNull() /*!! Array<out @EnhancedNullability P> */ /*as Array<@EnhancedNullability P> */.iterator()
while (tmp0_iterator.hasNext()) { //BLOCK
val x: P? = tmp0_iterator.next()
val x: @EnhancedNullability P = tmp0_iterator.next()
{ //BLOCK
use(s = x /*!! P */)
use(s = x)
@@ -114,7 +114,9 @@ data class P {
}
override fun hashCode(): Int {
return #x.hashCode().times(other = 31).plus(other = #y.hashCode())
var result: Int = #x.hashCode()
result = result.times(other = 31).plus(other = #y.hashCode())
return result
}
override operator fun equals(other: Any?): Boolean {