[FIX] Add the ExplicitBackingFields language feature

This commit is contained in:
Nikolay Lunyak
2021-09-13 19:22:30 +03:00
parent 9ceb477523
commit 7921e64540
5 changed files with 32 additions and 0 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.WITH_EXTEND
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.JDK_KIND
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_REFLECT
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_STDLIB
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.LANGUAGE
import org.jetbrains.kotlin.test.frontend.fir.FirFailingTestSuppressor
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
@@ -123,4 +124,10 @@ fun TestConfigurationBuilder.baseFirDiagnosticTestConfiguration(
+WITH_REFLECT
}
}
forTestsMatching("compiler/fir/analysis-tests/testData/resolveWithStdlib/properties/backingField/*") {
defaultDirectives {
LANGUAGE with "+ExplicitBackingFields"
}
}
}
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.configureJvmArtifactsHandlersStep
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
import org.jetbrains.kotlin.test.frontend.classic.*
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrResultsConverter
@@ -44,6 +45,12 @@ abstract class AbstractBytecodeListingTestBase<R : ResultingArtifact.FrontendOut
}
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor)
forTestsMatching("compiler/fir/fir2ir/testData/codegen/bytecodeListing/*") {
defaultDirectives {
LanguageSettingsDirectives.LANGUAGE with "+ExplicitBackingFields"
}
}
}
}
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_STDLIB
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrResultsConverter
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
import org.jetbrains.kotlin.test.frontend.fir.FirMetaInfoDiffSuppressor
@@ -64,6 +65,15 @@ open class AbstractFirBlackBoxCodegenTest : AbstractJvmBlackBoxCodegenTestBase<F
)
configureDumpHandlersForCodegenTest()
forTestsMatching(
"compiler/fir/fir2ir/testData/codegen/box/properties/backingField/*" or
"compiler/fir/fir2ir/testData/codegen/boxWithStdLib/properties/backingField/*"
) {
defaultDirectives {
LanguageSettingsDirectives.LANGUAGE with "+ExplicitBackingFields"
}
}
}
}
}
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.test.builders.firHandlersStep
import org.jetbrains.kotlin.test.builders.irHandlersStep
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_IR
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_KT_IR
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
@@ -112,6 +113,12 @@ open class AbstractFir2IrTextTest : AbstractIrTextTestBase<FirOutputArtifact>()
::FirIrDumpIdenticalChecker,
::BlackBoxCodegenSuppressor
)
forTestsMatching("compiler/fir/fir2ir/testData/ir/irText/properties/backingField/*") {
defaultDirectives {
LanguageSettingsDirectives.LANGUAGE with "+ExplicitBackingFields"
}
}
}
}
}
@@ -246,6 +246,7 @@ enum class LanguageFeature(
MultiPlatformProjects(sinceVersion = null, defaultState = State.DISABLED),
InlineClasses(KOTLIN_1_3, defaultState = State.ENABLED_WITH_WARNING, kind = UNSTABLE_FEATURE),
ProhibitComparisonOfIncompatibleClasses(sinceVersion = null, kind = BUG_FIX, defaultState = State.DISABLED),
ExplicitBackingFields(sinceVersion = null, defaultState = State.DISABLED, kind = UNSTABLE_FEATURE),
;