5c28762c02
Take local/anonymous classes and their inner classes into account. Simplify approximation: use first available super classifier instead of first super class. This approximation should only happen for private declarations that were not previously approximated by frontend. So basically the only requirement for the approximated types is to be denotable. Note that this only works if the types are not used later. JVM uses a different string table implementatin as it needs exact types of private members for reflection. ^KT-20996 Fixed
46 lines
1.8 KiB
Plaintext
Vendored
46 lines
1.8 KiB
Plaintext
Vendored
// -- Module: <lib> --
|
|
package
|
|
|
|
public abstract class A {
|
|
public constructor A()
|
|
public abstract fun bar(): kotlin.String
|
|
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
public final class C {
|
|
public constructor C()
|
|
private final val propA: C.propA.<no name provided>
|
|
private final val propAI: C.propAI.<no name provided>
|
|
private final val propG: C.propG.<no name provided>
|
|
private final val propI: C.propI.<no name provided>
|
|
private final val propL: C.propL.<anonymous>.L
|
|
private final val propL2: C.propL2.<anonymous>.L.L1.L2
|
|
private final val propOI: C.propOI.<no name provided>.D
|
|
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
public abstract class G</*0*/ T> {
|
|
public constructor G</*0*/ T>()
|
|
public abstract fun baz(): T
|
|
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
public interface I {
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public abstract fun foo(): kotlin.String
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
// -- Module: <main> --
|
|
package
|
|
|
|
public fun test(): kotlin.Unit
|
|
|