Revert "[FE 1.0] Resolve this and super calls through the new type inference infra"

This reverts commit bab8047bb3.
This commit is contained in:
Mikhail Glukhikh
2022-09-12 11:28:52 +02:00
committed by Space
parent f35cebbc25
commit 5fcb18ac2b
11 changed files with 74 additions and 93 deletions
@@ -0,0 +1,44 @@
package foo
import kotlin.reflect.KProperty
class A {
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty1()<!>
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>getMyProperty1()<!>
}
fun <A, B> getMyProperty1() = MyProperty1<A, B>()
class MyProperty1<T, R> {
operator fun getValue(thisRef: R, desc: KProperty<*>): T {
throw Exception()
}
operator fun setValue(i: Int, j: Any, k: Int) {
println("set")
}
}
// -----------------
class B {
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty2()<!>
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>getMyProperty2()<!>
}
fun <A, B> getMyProperty2() = MyProperty2<A, B>()
class MyProperty2<T, R> {
operator fun getValue(thisRef: R, desc: KProperty<*>): T {
throw Exception()
}
<!INAPPLICABLE_OPERATOR_MODIFIER!>operator<!> fun setValue(i: Int) {
println("set")
}
}
// -----------------
fun println(a: Any?) = a
@@ -1,11 +1,10 @@
// FIR_IDENTICAL
package foo
import kotlin.reflect.KProperty
class A {
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty1()<!>
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>getMyProperty1()<!>
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE, DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>MyProperty1<!>()<!>
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE, DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>getMyProperty1<!>()<!>
}
fun <A, B> getMyProperty1() = MyProperty1<A, B>()
@@ -24,8 +23,8 @@ class MyProperty1<T, R> {
// -----------------
class B {
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty2()<!>
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>getMyProperty2()<!>
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE, DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>MyProperty2<!>()<!>
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE, DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>getMyProperty2<!>()<!>
}
fun <A, B> getMyProperty2() = MyProperty2<A, B>()