Files
kotlin-fork/compiler/testData/loadJava/compiledJava/ReferenceCycleThroughAnnotation.fir.txt
T
Denis.Zharkov 81414d758d K2: repeat K1 representation for flexible type parameters
This commit changes the behavior of KT-59138 effectively declining it in 2.0.
However, we plan to implement KT-59138 behavior under a feature
flag in 2.0 (see KT-66447), and switch this feature on version 2.x.

Also, this commit implements the LC resolution about postponing
KT-57014 change. We don't have KT-57014 described behavior in 2.0 anymore.
However, we plan to implement a deprecation warning here, see KT-65578.

After this commit, 6 diagnostic tests become incorrectly broken:
- 5 tests from PurelyImplementedCollection group
- a test platformTypes/nullableTypeArgument.kt

This commit also breaks currently fixed-in-k2 KT-50134
(it is fixed again in the following commits),
as well as KT-58933 (it will remain not fixed till we enable KT-59138
behavior again).

#KT-65596 In Progress
#KT-57014 In Progress
#KT-58933 Submitted
2024-03-11 13:38:05 +00:00

19 lines
1.2 KiB
Plaintext
Vendored

public open class ReferenceCycleThroughAnnotation : R|kotlin/Any| {
public constructor(): R|test/ReferenceCycleThroughAnnotation|
@R|test/ReferenceCycleThroughAnnotation.C|(value = <getClass>(<getClass>(R|ft<Raw type test/ReferenceCycleThroughAnnotation.B<ft<test/ReferenceCycleThroughAnnotation.A<*>, test/ReferenceCycleThroughAnnotation.A<*>?>>, test/ReferenceCycleThroughAnnotation.B<*>?>|))) public open inner class A<T : R|kotlin/Any!|> : R|kotlin/Any| {
public open fun foo(): R|kotlin/Unit|
public test/ReferenceCycleThroughAnnotation.constructor<T : R|kotlin/Any!|>(): R|test/ReferenceCycleThroughAnnotation.A<T>|
}
public open inner class B<T : R|ft<test/ReferenceCycleThroughAnnotation.A<T!>, test/ReferenceCycleThroughAnnotation.A<T!>?>|> : R|kotlin/Any| {
public test/ReferenceCycleThroughAnnotation.constructor<T : R|ft<test/ReferenceCycleThroughAnnotation.A<T!>, test/ReferenceCycleThroughAnnotation.A<T!>?>|>(): R|test/ReferenceCycleThroughAnnotation.B<T>|
}
public final annotation class C : R|kotlin/Annotation| {
public constructor(value: R|kotlin/reflect/KClass<*>|): R|test/ReferenceCycleThroughAnnotation.C|
}
}