Replace blank messages in OptIn diagnostics #KT-51358 Fixed

This commit is contained in:
Mikhail Glukhikh
2022-02-21 18:15:04 +03:00
committed by Space
parent 4178c8156a
commit b42c236fb3
9 changed files with 52 additions and 4 deletions
@@ -71,7 +71,7 @@ class ExperimentalUsageChecker(project: Project) : CallChecker {
val defaultMessage: (FqName) -> String
) : ExperimentalityDiagnostic {
override fun report(trace: BindingTrace, element: PsiElement, fqName: FqName, message: String?) {
trace.reportDiagnosticOnce(factory.on(element, fqName, message ?: defaultMessage(fqName)))
trace.reportDiagnosticOnce(factory.on(element, fqName, message?.takeIf { it.isNotBlank() } ?: defaultMessage(fqName)))
}
}
@@ -480,7 +480,7 @@ class ExperimentalUsageChecker(project: Project) : CallChecker {
Experimentality.Severity.ERROR -> Errors.OPT_IN_OVERRIDE_ERROR to "must"
Experimentality.Severity.FUTURE_ERROR -> Errors.OPT_IN_OVERRIDE_ERROR to "must"
}
val message = experimentality.message
val message = experimentality.message?.takeIf { it.isNotBlank() }
?: "This declaration overrides experimental member of supertype " +
"'${member.containingDeclaration.name.asString()}' and $defaultMessageVerb be annotated " +
"with '@${experimentality.annotationFqName.asString()}'"