diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractMemberDeclaration.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractMemberDeclaration.kt index 82126dd9d56..9a3a176f3a9 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractMemberDeclaration.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractMemberDeclaration.kt @@ -29,9 +29,8 @@ abstract class FirAbstractMemberDeclaration( final override val typeParameters = mutableListOf() override fun transformChildren(transformer: FirTransformer, data: D): FirElement { - annotations.transformInplace(transformer, data) typeParameters.transformInplace(transformer, data) - return this + return super.transformChildren(transformer, data) } } \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractNamedAnnotatedDeclaration.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractNamedAnnotatedDeclaration.kt index fd5c359a1b3..a29ad8bea5a 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractNamedAnnotatedDeclaration.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirAbstractNamedAnnotatedDeclaration.kt @@ -6,12 +6,21 @@ package org.jetbrains.kotlin.fir.declarations.impl import com.intellij.psi.PsiElement +import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirNamedDeclaration +import org.jetbrains.kotlin.fir.transformInplace +import org.jetbrains.kotlin.fir.visitors.FirTransformer import org.jetbrains.kotlin.name.Name abstract class FirAbstractNamedAnnotatedDeclaration( session: FirSession, psi: PsiElement?, final override val name: Name -) : FirAbstractAnnotatedDeclaration(session, psi), FirNamedDeclaration \ No newline at end of file +) : FirAbstractAnnotatedDeclaration(session, psi), FirNamedDeclaration { + override fun transformChildren(transformer: FirTransformer, data: D): FirElement { + annotations.transformInplace(transformer, data) + + return this + } +} \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt index 680fa73c583..ac5c5af455b 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt @@ -31,7 +31,7 @@ class FirDefaultSetterValueParameter( override fun transformChildren(transformer: FirTransformer, data: D): FirElement { returnType = returnType.transformSingle(transformer, data) - return this + return super.transformChildren(transformer, data) } companion object { diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt index b5fe613b0d8..7700ad8cfde 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt @@ -33,6 +33,6 @@ class FirTypeParameterImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirElement { bounds.transformInplace(transformer, data) - return this + return super.transformChildren(transformer, data) } } \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt index 2ee78bd15a3..7f081d9bd51 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt @@ -29,6 +29,6 @@ class FirValueParameterImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirElement { returnType = returnType.transformSingle(transformer, data) - return this + return super.transformChildren(transformer, data) } } \ No newline at end of file diff --git a/compiler/testData/fir/resolve/multifile/Annotations.txt b/compiler/testData/fir/resolve/multifile/Annotations.txt index b8819376b47..0d41c2b3414 100644 --- a/compiler/testData/fir/resolve/multifile/Annotations.txt +++ b/compiler/testData/fir/resolve/multifile/Annotations.txt @@ -1,7 +1,7 @@ FILE: Annotations.kt @FILE:R|annotations/Simple|() @R|annotations/WithInt|(STUB) public? abstract class First { - @R|annotations/Simple|() public? abstract function foo(@WithString(STUB) arg: @R|annotations/Simple|() R|kotlin/Double|): R|error: Not supported: FirImplicitTypeImpl| + @R|annotations/Simple|() public? abstract function foo(@R|annotations/WithString|(STUB) arg: @R|annotations/Simple|() R|kotlin/Double|): R|error: Not supported: FirImplicitTypeImpl| @R|annotations/Complex|(STUB, STUB) public? abstract property v(val): R|kotlin/String| public? get(): R|kotlin/String|