59bd7364ab
Otherwise behavior might change because enhancement may force computation
for other type parameters in cases like:
class A<X extends Y, Y extends X> {}
See the test:
org.jetbrains.kotlin.checkers.DiagnosticsTestGenerated.Tests.J_k#testRecursiveRawUpperBound3
20 lines
1.6 KiB
Plaintext
Vendored
20 lines
1.6 KiB
Plaintext
Vendored
package
|
|
|
|
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B): kotlin.Unit
|
|
|
|
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> {
|
|
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>()
|
|
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 B {
|
|
public constructor B()
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
@org.jspecify.annotations.DefaultNotNull public open fun noBoundsNotNull(/*0*/ a: A<out @org.jspecify.annotations.NotNull kotlin.Any, out @org.jspecify.annotations.Nullable kotlin.Any, out @org.jspecify.annotations.NullnessUnknown kotlin.Any>): kotlin.Unit
|
|
@org.jspecify.annotations.DefaultNullable public open fun noBoundsNullable(/*0*/ a: A<out @org.jspecify.annotations.NotNull kotlin.Any, *, *>?): kotlin.Unit
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|