Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/annotations/kt55286.fir.txt
T
Dmitriy Novozhilov 880b278c40 [FIR] Deeply copy annotation type ref on COMPILER_REQUIRED_ANNOTATION_PHASE
The original idea was in resolving of annotation type ref using only
  importing scopes and accepting or discarding that resolution result
  depending on if this annotation is needed for compiler/plugins or not
But there is a problem that resolution of FirUserType with type resolver
  is not a pure operation: type resolver transforms qualifier parts which
  may contain type arguments, so if they were unresolved at the first
  resolve, they will stay unresolved forever. To prevent this we will
  deeply copy annotation type ref before first resolution

^KT-55286 Fixed
2022-12-09 12:02:08 +00:00

33 lines
1005 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|>()
}
@R|Deprecated<Base.Nested>|() 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())
}
@R|Deprecated<Base.Nested>|() public final val b: R|kotlin/String| = R|<local>/b|
public get(): R|kotlin/String|
}