eee66ab43f
If an annotation doesn't specify an explicit use-site target, previously it was added to both, the primary constructor value parameter and the property in the FIR. Then, in FIR2IR, only the "correct" one was added to the IR. Move up the deduplication logic into the frontend. ^KT-56177 Fixed
33 lines
945 B
Plaintext
Vendored
33 lines
945 B
Plaintext
Vendored
FILE: kt55286.kt
|
|
public final annotation class Deprecated<T> : R|kotlin/Annotation| {
|
|
public constructor<T>(): R|Deprecated<T>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public open class Base : R|kotlin/Any| {
|
|
public constructor(@R|Deprecated<Base.Nested>|() a: R|kotlin/String|): R|Base| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val a: R|kotlin/String| = R|<local>/a|
|
|
public get(): R|kotlin/String|
|
|
|
|
public final class Nested : R|kotlin/Any| {
|
|
public constructor(): R|Base.Nested| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
public final class Derived : R|Base| {
|
|
public constructor(@R|Deprecated<Base.Nested>|() b: R|kotlin/String|): R|Derived| {
|
|
super<R|Base|>(String())
|
|
}
|
|
|
|
public final val b: R|kotlin/String| = R|<local>/b|
|
|
public get(): R|kotlin/String|
|
|
|
|
}
|