[FE] Introduce a language feature entry for expect actual classes

^KT-62885 Fixed
This commit is contained in:
Nikita Bobko
2023-11-07 15:28:47 +01:00
committed by teamcity
parent 4d4ad6c0d8
commit 45c5fd7a2d
8 changed files with 80 additions and 4 deletions
@@ -5,8 +5,8 @@
package org.jetbrains.kotlin.resolve.checkers
import org.jetbrains.kotlin.config.AnalysisFlags
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.areExpectActualClassesStable
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassifierDescriptorWithTypeParameters
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.psi.KtTypeAlias
object ExpectActualClassifiersAreInBetaChecker : DeclarationChecker {
override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) {
if (!context.languageVersionSettings.supportsFeature(LanguageFeature.MultiPlatformProjects)) return
if (context.languageVersionSettings.getFlag(AnalysisFlags.muteExpectActualClassesWarning)) return
if (context.languageVersionSettings.areExpectActualClassesStable) return
if (descriptor !is TypeAliasDescriptor && descriptor !is ClassDescriptor) return
check(declaration is KtClassOrObject || declaration is KtTypeAlias)