package package base { public open class BaseJava { public constructor BaseJava() protected/*protected and package*/ final var a: kotlin.String! public/*package*/ final var b: 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 abstract class BaseKotlin { public constructor BaseKotlin() 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 Derived : base.Intermediate { public constructor Derived() invisible_fake final override /*1*/ /*fake_override*/ val a: kotlin.String protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! public/*package*/ final override /*1*/ /*fake_override*/ var b: kotlin.String! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } private final class DerivedFromDerivedJava : base.DerivedJava { public constructor DerivedFromDerivedJava() protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public/*package*/ open class DerivedJava : base.BaseKotlin { public/*package*/ constructor DerivedJava() protected/*protected and package*/ final var a: 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 open class Intermediate : base.BaseJava { public constructor Intermediate() private final val a: kotlin.String = "" protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! public/*package*/ final override /*1*/ /*fake_override*/ var b: 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 } } package derived { public fun local(): kotlin.Unit public fun test(/*0*/ d: derived.Derived): kotlin.Unit public final class Derived : derived.Intermediate { public constructor Derived() invisible_fake final override /*1*/ /*fake_override*/ val a: kotlin.String protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! invisible_fake final override /*1*/ /*fake_override*/ val b: kotlin.String invisible_fake final override /*1*/ /*fake_override*/ var b: kotlin.String! public final fun bar(): kotlin.String! public final fun baz(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final class DerivedAlias : derived.Alias /* = derived.Intermediate */ { public constructor DerivedAlias() invisible_fake final override /*1*/ /*fake_override*/ val a: kotlin.String protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! invisible_fake final override /*1*/ /*fake_override*/ val b: kotlin.String invisible_fake final override /*1*/ /*fake_override*/ var b: kotlin.String! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final class DerivedPublic : derived.IntermediatePublic { public constructor DerivedPublic() protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! public final override /*1*/ /*fake_override*/ val a: kotlin.String invisible_fake final override /*1*/ /*fake_override*/ var b: kotlin.String! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final class DerivedWithoutBackingField : derived.IntermediateWithoutField { public constructor DerivedWithoutBackingField() invisible_fake final override /*1*/ /*fake_override*/ val a: kotlin.String protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! invisible_fake final override /*1*/ /*fake_override*/ var b: kotlin.String! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final class DirectlyDerived : base.BaseJava { public constructor DirectlyDerived() protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! invisible_fake final override /*1*/ /*fake_override*/ var b: kotlin.String! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.reflect.KMutableProperty0 public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public open class Intermediate : base.BaseJava { public constructor Intermediate() private final val a: kotlin.String = "" protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! private final val b: kotlin.String = "" invisible_fake final override /*1*/ /*fake_override*/ var b: 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 open class IntermediatePublic : base.BaseJava { public constructor IntermediatePublic() public final val a: kotlin.String = "" protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! invisible_fake final override /*1*/ /*fake_override*/ var b: 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 open class IntermediateWithoutField : base.BaseJava { public constructor IntermediateWithoutField() private final val a: kotlin.String protected/*protected and package*/ final override /*1*/ /*fake_override*/ var a: kotlin.String! invisible_fake final override /*1*/ /*fake_override*/ var b: 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 typealias Alias = derived.Intermediate }