Mark expect/actual classifiers as experimental

^KT-61573 Fixed
Review: https://jetbrains.team/p/kt/reviews/11969/timeline

Tests:
- MultiPlatformIntegrationTestGenerated
- CliTestGenerated
- MultiPlatformIntegrationTestGenerated
- DiagnosticTestGenerated.Multiplatform
- FirLightTreeOldFrontendDiagnosticsTestGenerated

Also add -Xexpect-actual-classes flag to all necessary ./libraries/* modules
Otherwise compilation of those modules failes because of `-Werror`
This commit is contained in:
Nikita Bobko
2023-08-30 15:39:19 +02:00
committed by Space Team
parent 6a19c4ce96
commit 01fc708a0f
68 changed files with 633 additions and 5 deletions
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.psi.KtBinaryExpression
import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS
import org.jetbrains.kotlin.psi.KtCallExpression
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassLikeDeclaration
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.KtConstructorDelegationCall
@@ -3666,6 +3667,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.EXPECT_ACTUAL_CLASSIFIERS_ARE_EXPERIMENTAL_WARNING) { firDiagnostic ->
ExpectActualClassifiersAreExperimentalWarningImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.NOT_A_MULTIPLATFORM_COMPILATION) { firDiagnostic ->
NotAMultiplatformCompilationImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -43,6 +43,7 @@ import org.jetbrains.kotlin.psi.KtBinaryExpression
import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS
import org.jetbrains.kotlin.psi.KtCallExpression
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassLikeDeclaration
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.KtConstructorDelegationCall
@@ -2565,6 +2566,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = ActualMissing::class
}
interface ExpectActualClassifiersAreExperimentalWarning : KtFirDiagnostic<KtClassLikeDeclaration> {
override val diagnosticClass get() = ExpectActualClassifiersAreExperimentalWarning::class
}
interface NotAMultiplatformCompilation : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = NotAMultiplatformCompilation::class
}
@@ -44,6 +44,7 @@ import org.jetbrains.kotlin.psi.KtBinaryExpression
import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS
import org.jetbrains.kotlin.psi.KtCallExpression
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassLikeDeclaration
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.KtConstructorDelegationCall
@@ -3092,6 +3093,11 @@ internal class ActualMissingImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtNamedDeclaration>(firDiagnostic, token), KtFirDiagnostic.ActualMissing
internal class ExpectActualClassifiersAreExperimentalWarningImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtClassLikeDeclaration>(firDiagnostic, token), KtFirDiagnostic.ExpectActualClassifiersAreExperimentalWarning
internal class NotAMultiplatformCompilationImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,