[FIR] Move createSessionForTests, createSessionForTests into FirTestSessionFactoryHelper
This commit is contained in:
committed by
Space Team
parent
1deb253bac
commit
a4ad8d59b6
@@ -30,10 +30,10 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.FirAnalyzerFacade
|
||||
import org.jetbrains.kotlin.fir.FirTestSessionFactoryHelper
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendClassResolver
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendExtension
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions
|
||||
import org.jetbrains.kotlin.fir.createSessionForTests
|
||||
import org.jetbrains.kotlin.ir.backend.jvm.jvmResolveLibraries
|
||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||
@@ -105,7 +105,13 @@ object GenerationUtils {
|
||||
val scope = GlobalSearchScope.filesScope(project, files.map { it.virtualFile })
|
||||
.uniteWith(TopDownAnalyzerFacadeForJVM.AllJavaSourcesInProjectScope(project))
|
||||
val librariesScope = ProjectScope.getLibrariesScope(project)
|
||||
val session = createSessionForTests(project, scope, librariesScope, "main", getPackagePartProvider = packagePartProvider)
|
||||
val session = FirTestSessionFactoryHelper.createSessionForTests(
|
||||
project,
|
||||
scope,
|
||||
librariesScope,
|
||||
"main",
|
||||
getPackagePartProvider = packagePartProvider
|
||||
)
|
||||
|
||||
// TODO: add running checkers and check that it's safe to compile
|
||||
val firAnalyzerFacade = FirAnalyzerFacade(
|
||||
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.StandardFileSystems
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.ObsoleteTestInfrastructure
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.PsiBasedProjectFileSearchScope
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.VfsBasedProjectEnvironment
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
|
||||
import java.nio.file.Path
|
||||
|
||||
object FirTestSessionFactoryHelper {
|
||||
@ObsoleteTestInfrastructure
|
||||
fun createSessionForTests(
|
||||
projectEnvironment: AbstractProjectEnvironment,
|
||||
sourceScope: AbstractProjectFileSearchScope,
|
||||
librariesScope: AbstractProjectFileSearchScope = !sourceScope,
|
||||
moduleName: String = "TestModule",
|
||||
friendsPaths: List<Path> = emptyList(),
|
||||
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT
|
||||
): FirSession = FirSessionFactoryHelper.createSessionWithDependencies(
|
||||
Name.identifier(moduleName),
|
||||
JvmPlatforms.unspecifiedJvmPlatform,
|
||||
JvmPlatformAnalyzerServices,
|
||||
externalSessionProvider = null,
|
||||
projectEnvironment,
|
||||
languageVersionSettings,
|
||||
sourceScope,
|
||||
librariesScope,
|
||||
lookupTracker = null,
|
||||
enumWhenTracker = null,
|
||||
incrementalCompilationContext = null,
|
||||
extensionRegistrars = emptyList(),
|
||||
needRegisterJavaElementFinder = true,
|
||||
dependenciesConfigurator = {
|
||||
friendDependencies(friendsPaths)
|
||||
}
|
||||
)
|
||||
|
||||
@ObsoleteTestInfrastructure
|
||||
fun createSessionForTests(
|
||||
project: Project,
|
||||
sourceScope: GlobalSearchScope,
|
||||
librariesScope: GlobalSearchScope,
|
||||
moduleName: String = "TestModule",
|
||||
friendsPaths: List<Path> = emptyList(),
|
||||
getPackagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
||||
): FirSession {
|
||||
return FirSessionFactoryHelper.createSessionWithDependencies(
|
||||
Name.identifier(moduleName),
|
||||
JvmPlatforms.unspecifiedJvmPlatform,
|
||||
JvmPlatformAnalyzerServices,
|
||||
externalSessionProvider = null,
|
||||
VfsBasedProjectEnvironment(
|
||||
project,
|
||||
VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.FILE_PROTOCOL),
|
||||
getPackagePartProvider
|
||||
),
|
||||
languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
|
||||
PsiBasedProjectFileSearchScope(sourceScope),
|
||||
PsiBasedProjectFileSearchScope(librariesScope),
|
||||
lookupTracker = null,
|
||||
enumWhenTracker = null,
|
||||
incrementalCompilationContext = null,
|
||||
extensionRegistrars = emptyList(),
|
||||
needRegisterJavaElementFinder = true,
|
||||
dependenciesConfigurator = {
|
||||
friendDependencies(friendsPaths)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.StandardFileSystems
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.ObsoleteTestInfrastructure
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.PsiBasedProjectFileSearchScope
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.VfsBasedProjectEnvironment
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
|
||||
import java.nio.file.Path
|
||||
|
||||
@ObsoleteTestInfrastructure
|
||||
fun createSessionForTests(
|
||||
projectEnvironment: AbstractProjectEnvironment,
|
||||
sourceScope: AbstractProjectFileSearchScope,
|
||||
librariesScope: AbstractProjectFileSearchScope = !sourceScope,
|
||||
moduleName: String = "TestModule",
|
||||
friendsPaths: List<Path> = emptyList(),
|
||||
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT
|
||||
): FirSession = FirSessionFactoryHelper.createSessionWithDependencies(
|
||||
Name.identifier(moduleName),
|
||||
JvmPlatforms.unspecifiedJvmPlatform,
|
||||
JvmPlatformAnalyzerServices,
|
||||
externalSessionProvider = null,
|
||||
projectEnvironment,
|
||||
languageVersionSettings,
|
||||
sourceScope,
|
||||
librariesScope,
|
||||
lookupTracker = null,
|
||||
enumWhenTracker = null,
|
||||
incrementalCompilationContext = null,
|
||||
extensionRegistrars = emptyList(),
|
||||
needRegisterJavaElementFinder = true,
|
||||
dependenciesConfigurator = {
|
||||
friendDependencies(friendsPaths)
|
||||
}
|
||||
)
|
||||
|
||||
@ObsoleteTestInfrastructure
|
||||
fun createSessionForTests(
|
||||
project: Project,
|
||||
sourceScope: GlobalSearchScope,
|
||||
librariesScope: GlobalSearchScope,
|
||||
moduleName: String = "TestModule",
|
||||
friendsPaths: List<Path> = emptyList(),
|
||||
getPackagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
||||
): FirSession {
|
||||
return FirSessionFactoryHelper.createSessionWithDependencies(
|
||||
Name.identifier(moduleName),
|
||||
JvmPlatforms.unspecifiedJvmPlatform,
|
||||
JvmPlatformAnalyzerServices,
|
||||
externalSessionProvider = null,
|
||||
VfsBasedProjectEnvironment(
|
||||
project,
|
||||
VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.FILE_PROTOCOL),
|
||||
getPackagePartProvider
|
||||
),
|
||||
languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
|
||||
PsiBasedProjectFileSearchScope(sourceScope),
|
||||
PsiBasedProjectFileSearchScope(librariesScope),
|
||||
lookupTracker = null,
|
||||
enumWhenTracker = null,
|
||||
incrementalCompilationContext = null,
|
||||
extensionRegistrars = emptyList(),
|
||||
needRegisterJavaElementFinder = true,
|
||||
dependenciesConfigurator = {
|
||||
friendDependencies(friendsPaths)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user