diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirAnnotationArgumentsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirAnnotationArgumentsResolveTransformer.kt index 8626f6ef3a6..0d5803905df 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirAnnotationArgumentsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirAnnotationArgumentsResolveTransformer.kt @@ -63,11 +63,11 @@ private class FirDeclarationsResolveTransformerForArgumentAnnotations( override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): FirRegularClass { regularClass.transformAnnotations(this, data) + .transformTypeParameters(transformer, data) + .transformSuperTypeRefs(transformer, data) + withRegularClass(regularClass) { - regularClass - .transformTypeParameters(transformer, data) - .transformSuperTypeRefs(transformer, data) - .transformDeclarations(transformer, data) + regularClass.transformDeclarations(transformer, data) } return regularClass diff --git a/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.fir.kt b/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.fir.kt deleted file mode 100644 index bda555d2843..00000000000 --- a/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.fir.kt +++ /dev/null @@ -1,13 +0,0 @@ -import kotlin.reflect.KClass - -@Target(AnnotationTarget.CLASS, AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.TYPE) -annotation class Special(val why: KClass<*>) - -interface Interface - -class Outer { - @Special(NestedNested::class) - class Nested<@Special(NestedNested::class) T> : @Special(NestedNested::class) Interface { - class NestedNested - } -} diff --git a/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.kt b/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.kt index a20d89496f5..b521cf6b0e4 100644 --- a/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.kt +++ b/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL import kotlin.reflect.KClass @Target(AnnotationTarget.CLASS, AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.TYPE) diff --git a/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.ll.kt b/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.ll.kt deleted file mode 100644 index 49cd2088e78..00000000000 --- a/compiler/testData/diagnostics/tests/annotations/unreachableNestedClassAsAnnotationParameter.ll.kt +++ /dev/null @@ -1,16 +0,0 @@ -// LL_FIR_DIVERGENCE -// KT-62587 -// LL_FIR_DIVERGENCE -import kotlin.reflect.KClass - -@Target(AnnotationTarget.CLASS, AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.TYPE) -annotation class Special(val why: KClass<*>) - -interface Interface - -class Outer { - @Special(NestedNested::class) - class Nested<@Special(NestedNested::class) T> : @Special(NestedNested::class) Interface { - class NestedNested - } -}