[Klib] Run prerelease checker in all backends
The checker also checks the metadata version, which would be handled separately. Now it would never emmit this error for klib-based backends. ^KT-61773 ^KT-61596 ^KT-55809
This commit is contained in:
committed by
Space Team
parent
9f9287fb2e
commit
9a9598c16b
+15
-15
@@ -4837,6 +4837,21 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.INCOMPATIBLE_CLASS) { firDiagnostic ->
|
||||
IncompatibleClassImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic.b,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.PRE_RELEASE_CLASS) { firDiagnostic ->
|
||||
PreReleaseClassImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJvmErrors.CONFLICTING_JVM_DECLARATIONS) { firDiagnostic ->
|
||||
ConflictingJvmDeclarationsImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
@@ -5319,21 +5334,6 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJvmErrors.INCOMPATIBLE_CLASS) { firDiagnostic ->
|
||||
IncompatibleClassImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic.b,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJvmErrors.PRE_RELEASE_CLASS) { firDiagnostic ->
|
||||
PreReleaseClassImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.IMPLEMENTING_FUNCTION_INTERFACE) { firDiagnostic ->
|
||||
ImplementingFunctionInterfaceImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+11
-11
@@ -3373,6 +3373,17 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = DeprecatedDeclarationOfEnumEntry::class
|
||||
}
|
||||
|
||||
interface IncompatibleClass : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = IncompatibleClass::class
|
||||
val presentableString: String
|
||||
val incompatibility: IncompatibleVersionErrorData<*>
|
||||
}
|
||||
|
||||
interface PreReleaseClass : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = PreReleaseClass::class
|
||||
val presentableString: String
|
||||
}
|
||||
|
||||
interface ConflictingJvmDeclarations : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = ConflictingJvmDeclarations::class
|
||||
}
|
||||
@@ -3705,17 +3716,6 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = NoReflectionInClassPath::class
|
||||
}
|
||||
|
||||
interface IncompatibleClass : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = IncompatibleClass::class
|
||||
val presentableString: String
|
||||
val incompatibility: IncompatibleVersionErrorData<*>
|
||||
}
|
||||
|
||||
interface PreReleaseClass : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = PreReleaseClass::class
|
||||
val presentableString: String
|
||||
}
|
||||
|
||||
interface ImplementingFunctionInterface : KtFirDiagnostic<KtClassOrObject> {
|
||||
override val diagnosticClass get() = ImplementingFunctionInterface::class
|
||||
}
|
||||
|
||||
+13
-13
@@ -4070,6 +4070,19 @@ internal class DeprecatedDeclarationOfEnumEntryImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtEnumEntry>(firDiagnostic, token), KtFirDiagnostic.DeprecatedDeclarationOfEnumEntry
|
||||
|
||||
internal class IncompatibleClassImpl(
|
||||
override val presentableString: String,
|
||||
override val incompatibility: IncompatibleVersionErrorData<*>,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.IncompatibleClass
|
||||
|
||||
internal class PreReleaseClassImpl(
|
||||
override val presentableString: String,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.PreReleaseClass
|
||||
|
||||
internal class ConflictingJvmDeclarationsImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
@@ -4477,19 +4490,6 @@ internal class NoReflectionInClassPathImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.NoReflectionInClassPath
|
||||
|
||||
internal class IncompatibleClassImpl(
|
||||
override val presentableString: String,
|
||||
override val incompatibility: IncompatibleVersionErrorData<*>,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.IncompatibleClass
|
||||
|
||||
internal class PreReleaseClassImpl(
|
||||
override val presentableString: String,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.PreReleaseClass
|
||||
|
||||
internal class ImplementingFunctionInterfaceImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
|
||||
Reference in New Issue
Block a user