[FIR] Report errors on cycles in annotation parameter types
^KT-47932
This commit is contained in:
committed by
teamcity
parent
e9ac24dc33
commit
9f870b0549
+12
@@ -737,6 +737,18 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CYCLE_IN_ANNOTATION_PARAMETER.errorFactory) { firDiagnostic ->
|
||||
CycleInAnnotationParameterErrorImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CYCLE_IN_ANNOTATION_PARAMETER.warningFactory) { firDiagnostic ->
|
||||
CycleInAnnotationParameterWarningImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.ANNOTATION_CLASS_CONSTRUCTOR_CALL) { firDiagnostic ->
|
||||
AnnotationClassConstructorCallImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+8
@@ -538,6 +538,14 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = NonConstValUsedInConstantExpression::class
|
||||
}
|
||||
|
||||
abstract class CycleInAnnotationParameterError : KtFirDiagnostic<KtParameter>() {
|
||||
override val diagnosticClass get() = CycleInAnnotationParameterError::class
|
||||
}
|
||||
|
||||
abstract class CycleInAnnotationParameterWarning : KtFirDiagnostic<KtParameter>() {
|
||||
override val diagnosticClass get() = CycleInAnnotationParameterWarning::class
|
||||
}
|
||||
|
||||
abstract class AnnotationClassConstructorCall : KtFirDiagnostic<KtCallExpression>() {
|
||||
override val diagnosticClass get() = AnnotationClassConstructorCall::class
|
||||
}
|
||||
|
||||
+10
@@ -641,6 +641,16 @@ internal class NonConstValUsedInConstantExpressionImpl(
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.NonConstValUsedInConstantExpression(), KtAbstractFirDiagnostic<KtExpression>
|
||||
|
||||
internal class CycleInAnnotationParameterErrorImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.CycleInAnnotationParameterError(), KtAbstractFirDiagnostic<KtParameter>
|
||||
|
||||
internal class CycleInAnnotationParameterWarningImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.CycleInAnnotationParameterWarning(), KtAbstractFirDiagnostic<KtParameter>
|
||||
|
||||
internal class AnnotationClassConstructorCallImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
|
||||
Reference in New Issue
Block a user