Load compiler language version settings for codegen tests
This commit is contained in:
+1
-1
@@ -42,7 +42,7 @@ data class CompilerTestLanguageVersionSettings(
|
|||||||
override fun <T> getFlag(flag: AnalysisFlag<T>): T = analysisFlags[flag] as T? ?: flag.defaultValue
|
override fun <T> getFlag(flag: AnalysisFlag<T>): T = analysisFlags[flag] as T? ?: flag.defaultValue
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun specificFeaturesForTests(): Map<LanguageFeature, LanguageFeature.State> {
|
fun specificFeaturesForTests(): Map<LanguageFeature, LanguageFeature.State> {
|
||||||
return if (System.getProperty("kotlin.ni") == "true")
|
return if (System.getProperty("kotlin.ni") == "true")
|
||||||
mapOf(LanguageFeature.NewInference to LanguageFeature.State.ENABLED)
|
mapOf(LanguageFeature.NewInference to LanguageFeature.State.ENABLED)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import org.jetbrains.kotlin.backend.common.output.OutputFile;
|
import org.jetbrains.kotlin.backend.common.output.OutputFile;
|
||||||
import org.jetbrains.kotlin.backend.common.output.SimpleOutputFileCollection;
|
import org.jetbrains.kotlin.backend.common.output.SimpleOutputFileCollection;
|
||||||
import org.jetbrains.kotlin.checkers.CheckerTestUtil;
|
import org.jetbrains.kotlin.checkers.CheckerTestUtil;
|
||||||
|
import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettings;
|
||||||
|
import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettingsKt;
|
||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
|
||||||
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt;
|
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt;
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
||||||
@@ -195,9 +197,16 @@ public abstract class CodegenTestCase extends KtUsefulTestCase {
|
|||||||
CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, explicitLanguageVersionSettings);
|
CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, explicitLanguageVersionSettings);
|
||||||
}
|
}
|
||||||
else if (explicitLanguageVersion != null) {
|
else if (explicitLanguageVersion != null) {
|
||||||
|
CompilerTestLanguageVersionSettings compilerLanguageVersionSettings = new CompilerTestLanguageVersionSettings(
|
||||||
|
Collections.emptyMap(),
|
||||||
|
ApiVersion.createByLanguageVersion(explicitLanguageVersion),
|
||||||
|
explicitLanguageVersion,
|
||||||
|
CompilerTestLanguageVersionSettingsKt.specificFeaturesForTests(),
|
||||||
|
Collections.emptyMap()
|
||||||
|
);
|
||||||
CommonConfigurationKeysKt.setLanguageVersionSettings(
|
CommonConfigurationKeysKt.setLanguageVersionSettings(
|
||||||
configuration,
|
configuration,
|
||||||
new LanguageVersionSettingsImpl(explicitLanguageVersion, ApiVersion.createByLanguageVersion(explicitLanguageVersion))
|
compilerLanguageVersionSettings
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user