Don't create substituted copy of invoke descriptor with unchanged names

#KT-34919 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-04-04 13:24:28 +03:00
committed by Space
parent 04e8e1b2ad
commit 0ef32e5807
8 changed files with 52 additions and 0 deletions
@@ -0,0 +1,3 @@
typealias TA<X, Y> = (x: X) -> Y
abstract class Base<X, Y> : TA<X, Y>
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Impl<!> : Base<Any, Any>()
@@ -0,0 +1,3 @@
typealias TA<X, Y> = (x: X) -> Y
abstract class Base<X, Y> : TA<X, Y>
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class Impl<!> : Base<Any, Any>()
@@ -0,0 +1,19 @@
package
public abstract class Base</*0*/ X, /*1*/ Y> : TA<X, Y> /* = (x: X) -> Y */ {
public constructor Base</*0*/ X, /*1*/ Y>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun invoke(/*0*/ x: X): Y
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Impl : Base<kotlin.Any, kotlin.Any> {
public constructor Impl()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun invoke(/*0*/ x: kotlin.Any): kotlin.Any
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public typealias TA</*0*/ X, /*1*/ Y> = (x: X) -> Y