From 5cd3f8bb97f6a585c7ae623eb82ab41ca451c024 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 14 Nov 2023 10:09:44 +0100 Subject: [PATCH] K2: don't report inline access errors on const properties in annotations #KT-60604 Fixed --- .../checkers/declaration/FirInlineDeclarationChecker.kt | 7 ++++--- .../tests/inline/nonPublicMember/inAnnotation.fir.kt | 6 ------ .../tests/inline/nonPublicMember/inAnnotation.kt | 1 + 3 files changed, 5 insertions(+), 9 deletions(-) delete mode 100644 compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.fir.kt diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt index 04dc75b0be7..c70552cae74 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt @@ -229,9 +229,10 @@ object FirInlineDeclarationChecker : FirFunctionChecker() { context: CheckerContext, reporter: DiagnosticReporter, ) { - if ( - calledDeclaration == null || - calledDeclaration.callableId.callableName == BACKING_FIELD + if (calledDeclaration == null || + calledDeclaration.callableId.callableName == BACKING_FIELD || + calledDeclaration is FirPropertySymbol && calledDeclaration.isConst && + context.callsOrAssignments.any { it is FirAnnotationCall } ) { return } diff --git a/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.fir.kt b/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.fir.kt deleted file mode 100644 index f2b2bd248bb..00000000000 --- a/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.fir.kt +++ /dev/null @@ -1,6 +0,0 @@ -// ISSUE: KT-60604 - -private const val MESSAGE = "This is deprecated" - -@Deprecated(MESSAGE) -inline fun hello(f: () -> Int): Int = f() diff --git a/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.kt b/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.kt index 98f8d8c1695..d1d255d7cdf 100644 --- a/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.kt +++ b/compiler/testData/diagnostics/tests/inline/nonPublicMember/inAnnotation.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // ISSUE: KT-60604 private const val MESSAGE = "This is deprecated"