Support "-language-version" CLI option for compatibility with older releases
Introduce LanguageFeatureSettings, instance of which should be injected by the container and be accessible everywhere during the compilation (front-end and back-end). Parameters of LanguageFeatureSettings are unused in this commit, will be used later
This commit is contained in:
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
||||
import org.jetbrains.kotlin.config.LanguageFeatureSettings
|
||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider
|
||||
import org.jetbrains.kotlin.frontend.java.di.createContainerForTopDownAnalyzerForJvm
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
@@ -59,7 +60,8 @@ abstract class AbstractLocalClassProtoTest : TestCaseWithTmpdir() {
|
||||
|
||||
val container = createContainerForTopDownAnalyzerForJvm(
|
||||
moduleContext, CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(),
|
||||
providerFactory, GlobalSearchScope.allScope(environment.project), LookupTracker.DO_NOTHING, PackagePartProvider.EMPTY
|
||||
providerFactory, GlobalSearchScope.allScope(environment.project), LookupTracker.DO_NOTHING, PackagePartProvider.EMPTY,
|
||||
LanguageFeatureSettings.LATEST
|
||||
)
|
||||
moduleContext.initializeModuleContents(container.javaDescriptorResolver.packageFragmentProvider)
|
||||
|
||||
|
||||
+5
-3
@@ -20,6 +20,7 @@ import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns.*
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.config.LanguageFeatureSettings
|
||||
import org.jetbrains.kotlin.context.ModuleContext
|
||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider
|
||||
import org.jetbrains.kotlin.frontend.java.di.createContainerForTopDownAnalyzerForJvm
|
||||
@@ -61,9 +62,10 @@ abstract class AbstractBuiltInsWithJDKMembersTest : KotlinTestWithEnvironment()
|
||||
val providerFactory = FileBasedDeclarationProviderFactory(moduleContext.storageManager, emptyList())
|
||||
|
||||
val container = createContainerForTopDownAnalyzerForJvm(
|
||||
moduleContext,
|
||||
CliLightClassGenerationSupport.CliBindingTrace(), providerFactory,
|
||||
GlobalSearchScope.allScope(environment.project), LookupTracker.DO_NOTHING, PackagePartProvider.EMPTY)
|
||||
moduleContext, CliLightClassGenerationSupport.CliBindingTrace(), providerFactory,
|
||||
GlobalSearchScope.allScope(environment.project), LookupTracker.DO_NOTHING, PackagePartProvider.EMPTY,
|
||||
LanguageFeatureSettings.LATEST
|
||||
)
|
||||
|
||||
emptyModule.initialize(container.javaDescriptorResolver.packageFragmentProvider)
|
||||
emptyModule.setDependencies(emptyModule)
|
||||
|
||||
@@ -21,6 +21,7 @@ import kotlin.jvm.functions.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.config.LanguageFeatureSettings;
|
||||
import org.jetbrains.kotlin.context.ContextKt;
|
||||
import org.jetbrains.kotlin.context.ModuleContext;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
@@ -109,7 +110,8 @@ public class DefaultModalityModifiersTest extends KotlinTestWithEnvironment {
|
||||
new FileBasedDeclarationProviderFactory(moduleContext.getStorageManager(),
|
||||
Collections.singleton(aClass.getContainingKtFile())),
|
||||
new BindingTraceContext(),
|
||||
TargetPlatform.Default.INSTANCE
|
||||
TargetPlatform.Default.INSTANCE,
|
||||
LanguageFeatureSettings.LATEST
|
||||
);
|
||||
|
||||
return (ClassDescriptorWithResolutionScopes) resolveSession.getClassDescriptor(aClass, NoLookupLocation.FROM_TEST);
|
||||
|
||||
Reference in New Issue
Block a user