Fix "PSI/index mismatch" in case of @ParameterName on non-functional types (KT-34524)

This commit is contained in:
Yan Zhulanow
2020-03-05 20:33:07 +09:00
parent d86b54a2f1
commit ef698a5747
11 changed files with 54 additions and 20 deletions
@@ -7,7 +7,7 @@ public/*package*/ open class Bar : test.Foo {
public open class Foo {
public constructor Foo()
public open fun request(): kotlin.reflect.KFunction1<@kotlin.ParameterName(name = "id") kotlin.Long, test.Request>
public open fun request(): kotlin.reflect.KFunction1<kotlin.Long, test.Request>
}
public final class Request {
@@ -1,7 +1,7 @@
package
public val annClassRef: kotlin.reflect.KClass<Ann>
public val annCtorRef: kotlin.reflect.KFunction1<@kotlin.ParameterName(name = "prop") kotlin.String, Ann>
public val annCtorRef: kotlin.reflect.KFunction1<kotlin.String, Ann>
public val annPropRef: kotlin.reflect.KProperty1<Ann, kotlin.String>
public final annotation class Ann : kotlin.Annotation {
@@ -5,17 +5,17 @@ public fun f2(): kotlin.reflect.KFunction1<java.lang.Runnable, kotlin.Unit>
public fun f3(): kotlin.reflect.KClass<java.lang.Runnable>
public fun f4(): kotlin.reflect.KFunction1<java.lang.Runnable, kotlin.Unit>
public fun f5(): kotlin.reflect.KClass<test.GenericSam<*>>
public fun f6(): kotlin.reflect.KFunction2<test.GenericSam<*>, @kotlin.ParameterName(name = "t") kotlin.Nothing!, kotlin.Unit>
public fun f6(): kotlin.reflect.KFunction2<test.GenericSam<*>, kotlin.Nothing!, kotlin.Unit>
public fun f7(): kotlin.reflect.KClass<test.GenericSam<*>>
public fun f8(): kotlin.reflect.KFunction2<test.GenericSam<kotlin.String>, @kotlin.ParameterName(name = "t") kotlin.String!, kotlin.Unit>
public fun f8(): kotlin.reflect.KFunction2<test.GenericSam<kotlin.String>, kotlin.String!, kotlin.Unit>
public fun g1(): kotlin.reflect.KClass<out java.lang.Runnable>
public fun g2(): kotlin.reflect.KFunction0<kotlin.Unit>
public fun g3(): kotlin.reflect.KClass<out java.lang.Runnable>
public fun g4(): kotlin.reflect.KFunction0<kotlin.Unit>
public fun g5(): kotlin.reflect.KClass<out test.GenericSam<kotlin.String>>
public fun g6(): kotlin.reflect.KFunction1<@kotlin.ParameterName(name = "t") kotlin.String!, kotlin.Unit>
public fun g6(): kotlin.reflect.KFunction1<kotlin.String!, kotlin.Unit>
public fun g7(): kotlin.reflect.KClass<out test.GenericSam<kotlin.String>>
public fun g8(): kotlin.reflect.KFunction1<@kotlin.ParameterName(name = "t") kotlin.String!, kotlin.Unit>
public fun g8(): kotlin.reflect.KFunction1<kotlin.String!, kotlin.Unit>
package test {
@@ -4,7 +4,7 @@ package
public fun block(): kotlin.Unit
public fun expression(): UsefulClass
public fun invoker(): kotlin.Unit
public fun reflection(): kotlin.reflect.KFunction1<@kotlin.ParameterName(name = "param") kotlin.Int, UsefulClass>
public fun reflection(): kotlin.reflect.KFunction1<kotlin.Int, UsefulClass>
public fun reflection2(): kotlin.reflect.KFunction1<UsefulClass, kotlin.Unit>
@kotlin.Deprecated(message = "does nothing good") public fun kotlin.Any.doNothing(): kotlin.String
@@ -95,9 +95,9 @@ fun <T> Inv<out T>.case_7() {
// TESTCASE NUMBER: 8
fun <T> T.case_8() {
this <!UNCHECKED_CAST!>as MutableList<T><!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.reflect.KFunction1<@kotlin.ParameterName kotlin.Any?, kotlin.Boolean>")!><!DEBUG_INFO_SMARTCAST!>this<!>::equals<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.reflect.KFunction1<kotlin.Any?, kotlin.Boolean>")!><!DEBUG_INFO_SMARTCAST!>this<!>::equals<!>
<!DEBUG_INFO_SMARTCAST!>this<!>.equals(10)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.reflect.KFunction1<@kotlin.ParameterName kotlin.Any?, kotlin.Boolean>")!>::<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>equals<!><!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.reflect.KFunction1<kotlin.Any?, kotlin.Boolean>")!>::<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>equals<!><!>
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>equals<!>(10)
}