Skip to content

Commit 5427ca9

Browse files
sandwwraithSpace Team
authored andcommitted
[FIR] Add "Actual ignorability does not match expect" diagnostic.
Do not report ignorability annotations in ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT because these cases are covered by new diagnostic. General rule is that we do not allow mismatching between must-use and ignorable, but if there is no meaningful way to fix this (e.g. declaration came from typealias or supertype), we allow matching to Unspecified. #KT-77593 Fixed
1 parent 6cd3146 commit 5427ca9

File tree

38 files changed

+1278
-16
lines changed

38 files changed

+1278
-16
lines changed

analysis/analysis-api-fir/gen/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KaFirDataClassConverters.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4934,6 +4934,15 @@ internal val KT_DIAGNOSTIC_CONVERTER = KaDiagnosticConverterBuilder.buildConvert
49344934
token,
49354935
)
49364936
}
4937+
add(FirErrors.ACTUAL_IGNORABILITY_NOT_MATCH_EXPECT) { firDiagnostic ->
4938+
ActualIgnorabilityNotMatchExpectImpl(
4939+
firSymbolBuilder.buildSymbol(firDiagnostic.a),
4940+
firSymbolBuilder.buildSymbol(firDiagnostic.b),
4941+
firDiagnostic.c,
4942+
firDiagnostic as KtPsiDiagnostic,
4943+
token,
4944+
)
4945+
}
49374946
add(FirErrors.OPTIONAL_DECLARATION_OUTSIDE_OF_ANNOTATION_ENTRY) { firDiagnostic ->
49384947
OptionalDeclarationOutsideOfAnnotationEntryImpl(
49394948
firDiagnostic as KtPsiDiagnostic,

analysis/analysis-api-fir/gen/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KaFirDiagnostics.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3457,6 +3457,13 @@ sealed interface KaFirDiagnostic<PSI : PsiElement> : KaDiagnosticWithPsi<PSI> {
34573457
val incompatibilityType: ExpectActualAnnotationsIncompatibilityType<FirAnnotation>
34583458
}
34593459

3460+
interface ActualIgnorabilityNotMatchExpect : KaFirDiagnostic<KtNamedDeclaration> {
3461+
override val diagnosticClass get() = ActualIgnorabilityNotMatchExpect::class
3462+
val expectDeclaration: KaSymbol
3463+
val actualDeclaration: KaSymbol
3464+
val reason: String
3465+
}
3466+
34603467
interface OptionalDeclarationOutsideOfAnnotationEntry : KaFirDiagnostic<PsiElement> {
34613468
override val diagnosticClass get() = OptionalDeclarationOutsideOfAnnotationEntry::class
34623469
}

analysis/analysis-api-fir/gen/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KaFirDiagnosticsImpl.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4144,6 +4144,14 @@ internal class ActualAnnotationsNotMatchExpectImpl(
41444144
token: KaLifetimeToken,
41454145
) : KaAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KaFirDiagnostic.ActualAnnotationsNotMatchExpect
41464146

4147+
internal class ActualIgnorabilityNotMatchExpectImpl(
4148+
override val expectDeclaration: KaSymbol,
4149+
override val actualDeclaration: KaSymbol,
4150+
override val reason: String,
4151+
firDiagnostic: KtPsiDiagnostic,
4152+
token: KaLifetimeToken,
4153+
) : KaAbstractFirDiagnostic<KtNamedDeclaration>(firDiagnostic, token), KaFirDiagnostic.ActualIgnorabilityNotMatchExpect
4154+
41474155
internal class OptionalDeclarationOutsideOfAnnotationEntryImpl(
41484156
firDiagnostic: KtPsiDiagnostic,
41494157
token: KaLifetimeToken,

analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLDiagnosticsFe10TestGenerated.java

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLPartialDiagnosticsFe10TestGenerated.java

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLReversedDiagnosticsFe10TestGenerated.java

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsWithLatestLanguageVersionTestGenerated.java

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsWithoutAliasExpansionTestGenerated.java

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/PhasedJvmDiagnosticLightTreeTestGenerated.java

Lines changed: 53 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)