[FIR] Move createSessionWithDependencies and createEmptySession into FirSessionFactoryHelper
This commit is contained in:
committed by
Space Team
parent
281c79e21e
commit
40a01180ff
+2
-2
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
|||||||
import org.jetbrains.kotlin.fir.scopes.FirContainingNamesAwareScope
|
import org.jetbrains.kotlin.fir.scopes.FirContainingNamesAwareScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType
|
import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType
|
||||||
@@ -110,7 +110,7 @@ abstract class AbstractPartialRawFirBuilderTestCase : AbstractLowLevelApiSingleF
|
|||||||
error("Should not be called")
|
error("Should not be called")
|
||||||
}
|
}
|
||||||
|
|
||||||
val session = FirSessionFactory.createEmptySession()
|
val session = FirSessionFactoryHelper.createEmptySession()
|
||||||
val firBuilder = RawFirBuilder(session, scopeProvider, PsiHandlingMode.IDE)
|
val firBuilder = RawFirBuilder(session, scopeProvider, PsiHandlingMode.IDE)
|
||||||
val original = firBuilder.buildFirFile(file)
|
val original = firBuilder.buildFirFile(file)
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -46,7 +46,7 @@ import org.jetbrains.kotlin.fir.pipeline.convertToIr
|
|||||||
import org.jetbrains.kotlin.fir.pipeline.runCheckers
|
import org.jetbrains.kotlin.fir.pipeline.runCheckers
|
||||||
import org.jetbrains.kotlin.fir.pipeline.runResolution
|
import org.jetbrains.kotlin.fir.pipeline.runResolution
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory.createSessionWithDependencies
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.fir.session.IncrementalCompilationContext
|
import org.jetbrains.kotlin.fir.session.IncrementalCompilationContext
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
||||||
@@ -247,7 +247,7 @@ object FirKotlinToJvmBytecodeCompiler {
|
|||||||
needRegisterJavaElementFinder: Boolean,
|
needRegisterJavaElementFinder: Boolean,
|
||||||
dependenciesConfigurator: DependencyListForCliModule.Builder.() -> Unit = {}
|
dependenciesConfigurator: DependencyListForCliModule.Builder.() -> Unit = {}
|
||||||
): FirSession {
|
): FirSession {
|
||||||
return createSessionWithDependencies(
|
return FirSessionFactoryHelper.createSessionWithDependencies(
|
||||||
Name.identifier(name),
|
Name.identifier(name),
|
||||||
platform,
|
platform,
|
||||||
analyzerServices,
|
analyzerServices,
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ import org.jetbrains.kotlin.fir.pipeline.convertToIr
|
|||||||
import org.jetbrains.kotlin.fir.pipeline.runCheckers
|
import org.jetbrains.kotlin.fir.pipeline.runCheckers
|
||||||
import org.jetbrains.kotlin.fir.pipeline.runResolution
|
import org.jetbrains.kotlin.fir.pipeline.runResolution
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.fir.session.IncrementalCompilationContext
|
import org.jetbrains.kotlin.fir.session.IncrementalCompilationContext
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
||||||
@@ -397,7 +397,7 @@ fun createSession(
|
|||||||
precompiledBinariesFileScope?.let { librariesScope -= it }
|
precompiledBinariesFileScope?.let { librariesScope -= it }
|
||||||
}
|
}
|
||||||
|
|
||||||
return FirSessionFactory.createSessionWithDependencies(
|
return FirSessionFactoryHelper.createSessionWithDependencies(
|
||||||
Name.identifier(name),
|
Name.identifier(name),
|
||||||
platform,
|
platform,
|
||||||
analyzerServices,
|
analyzerServices,
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.session
|
package org.jetbrains.kotlin.fir.session
|
||||||
|
|
||||||
import org.jetbrains.annotations.TestOnly
|
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.checkers.registerJvmCheckers
|
import org.jetbrains.kotlin.fir.checkers.registerJvmCheckers
|
||||||
@@ -18,7 +17,6 @@ import org.jetbrains.kotlin.fir.java.deserialization.JvmClassFileBasedSymbolProv
|
|||||||
import org.jetbrains.kotlin.fir.java.deserialization.OptionalAnnotationClassesProvider
|
import org.jetbrains.kotlin.fir.java.deserialization.OptionalAnnotationClassesProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProviderImpl
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||||
@@ -27,66 +25,8 @@ import org.jetbrains.kotlin.incremental.components.EnumWhenTracker
|
|||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
|
||||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
|
|
||||||
|
|
||||||
@OptIn(PrivateSessionConstructor::class)
|
|
||||||
object FirSessionFactory : FirAbstractSessionFactory() {
|
object FirSessionFactory : FirAbstractSessionFactory() {
|
||||||
inline fun createSessionWithDependencies(
|
|
||||||
moduleName: Name,
|
|
||||||
platform: TargetPlatform,
|
|
||||||
analyzerServices: PlatformDependentAnalyzerServices,
|
|
||||||
externalSessionProvider: FirProjectSessionProvider?,
|
|
||||||
projectEnvironment: AbstractProjectEnvironment,
|
|
||||||
languageVersionSettings: LanguageVersionSettings,
|
|
||||||
javaSourcesScope: AbstractProjectFileSearchScope,
|
|
||||||
librariesScope: AbstractProjectFileSearchScope,
|
|
||||||
lookupTracker: LookupTracker?,
|
|
||||||
enumWhenTracker: EnumWhenTracker?,
|
|
||||||
incrementalCompilationContext: IncrementalCompilationContext?,
|
|
||||||
extensionRegistrars: List<FirExtensionRegistrar>,
|
|
||||||
needRegisterJavaElementFinder: Boolean,
|
|
||||||
dependenciesConfigurator: DependencyListForCliModule.Builder.() -> Unit = {},
|
|
||||||
noinline sessionConfigurator: FirSessionConfigurator.() -> Unit = {},
|
|
||||||
): FirSession {
|
|
||||||
val dependencyList = DependencyListForCliModule.build(moduleName, platform, analyzerServices, dependenciesConfigurator)
|
|
||||||
val sessionProvider = externalSessionProvider ?: FirProjectSessionProvider()
|
|
||||||
val packagePartProvider = projectEnvironment.getPackagePartProvider(librariesScope)
|
|
||||||
createLibrarySession(
|
|
||||||
moduleName,
|
|
||||||
sessionProvider,
|
|
||||||
dependencyList,
|
|
||||||
projectEnvironment,
|
|
||||||
librariesScope,
|
|
||||||
packagePartProvider,
|
|
||||||
languageVersionSettings
|
|
||||||
)
|
|
||||||
|
|
||||||
val mainModuleData = FirModuleDataImpl(
|
|
||||||
moduleName,
|
|
||||||
dependencyList.regularDependencies,
|
|
||||||
dependencyList.dependsOnDependencies,
|
|
||||||
dependencyList.friendsDependencies,
|
|
||||||
dependencyList.platform,
|
|
||||||
dependencyList.analyzerServices
|
|
||||||
)
|
|
||||||
return createModuleBasedSession(
|
|
||||||
mainModuleData,
|
|
||||||
sessionProvider,
|
|
||||||
javaSourcesScope,
|
|
||||||
projectEnvironment,
|
|
||||||
incrementalCompilationContext,
|
|
||||||
extensionRegistrars,
|
|
||||||
languageVersionSettings,
|
|
||||||
lookupTracker,
|
|
||||||
enumWhenTracker,
|
|
||||||
needRegisterJavaElementFinder,
|
|
||||||
sessionConfigurator
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun createLibrarySession(
|
fun createLibrarySession(
|
||||||
mainModuleName: Name,
|
mainModuleName: Name,
|
||||||
sessionProvider: FirProjectSessionProvider,
|
sessionProvider: FirProjectSessionProvider,
|
||||||
@@ -195,44 +135,4 @@ object FirSessionFactory : FirAbstractSessionFactory() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
|
||||||
@TestOnly
|
|
||||||
fun createEmptySession(): FirSession {
|
|
||||||
return object : FirSession(null, Kind.Source) {}.apply {
|
|
||||||
val moduleData = FirModuleDataImpl(
|
|
||||||
Name.identifier("<stub module>"),
|
|
||||||
dependencies = emptyList(),
|
|
||||||
dependsOnDependencies = emptyList(),
|
|
||||||
friendDependencies = emptyList(),
|
|
||||||
platform = JvmPlatforms.unspecifiedJvmPlatform,
|
|
||||||
analyzerServices = JvmPlatformAnalyzerServices
|
|
||||||
)
|
|
||||||
registerModuleData(moduleData)
|
|
||||||
moduleData.bindSession(this)
|
|
||||||
// Empty stub for tests
|
|
||||||
register(FirLanguageSettingsComponent::class, FirLanguageSettingsComponent(
|
|
||||||
object : LanguageVersionSettings {
|
|
||||||
|
|
||||||
private fun stub(): Nothing = TODO(
|
|
||||||
"It does not yet have well-defined semantics for tests." +
|
|
||||||
"If you're seeing this, implement it in a test-specific way"
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State {
|
|
||||||
return LanguageFeature.State.DISABLED
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun isPreRelease(): Boolean = stub()
|
|
||||||
|
|
||||||
override fun <T> getFlag(flag: AnalysisFlag<T>): T = stub()
|
|
||||||
|
|
||||||
override val apiVersion: ApiVersion
|
|
||||||
get() = stub()
|
|
||||||
override val languageVersion: LanguageVersion
|
|
||||||
get() = stub()
|
|
||||||
}
|
|
||||||
))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+116
@@ -0,0 +1,116 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2022 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.session
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.TestOnly
|
||||||
|
import org.jetbrains.kotlin.config.*
|
||||||
|
import org.jetbrains.kotlin.fir.*
|
||||||
|
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||||
|
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||||
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||||
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
||||||
|
import org.jetbrains.kotlin.incremental.components.EnumWhenTracker
|
||||||
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
|
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
||||||
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
|
||||||
|
|
||||||
|
object FirSessionFactoryHelper {
|
||||||
|
inline fun createSessionWithDependencies(
|
||||||
|
moduleName: Name,
|
||||||
|
platform: TargetPlatform,
|
||||||
|
analyzerServices: PlatformDependentAnalyzerServices,
|
||||||
|
externalSessionProvider: FirProjectSessionProvider?,
|
||||||
|
projectEnvironment: AbstractProjectEnvironment,
|
||||||
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
|
javaSourcesScope: AbstractProjectFileSearchScope,
|
||||||
|
librariesScope: AbstractProjectFileSearchScope,
|
||||||
|
lookupTracker: LookupTracker?,
|
||||||
|
enumWhenTracker: EnumWhenTracker?,
|
||||||
|
incrementalCompilationContext: IncrementalCompilationContext?,
|
||||||
|
extensionRegistrars: List<FirExtensionRegistrar>,
|
||||||
|
needRegisterJavaElementFinder: Boolean,
|
||||||
|
dependenciesConfigurator: DependencyListForCliModule.Builder.() -> Unit = {},
|
||||||
|
noinline sessionConfigurator: FirSessionConfigurator.() -> Unit = {},
|
||||||
|
): FirSession {
|
||||||
|
val dependencyList = DependencyListForCliModule.build(moduleName, platform, analyzerServices, dependenciesConfigurator)
|
||||||
|
val sessionProvider = externalSessionProvider ?: FirProjectSessionProvider()
|
||||||
|
val packagePartProvider = projectEnvironment.getPackagePartProvider(librariesScope)
|
||||||
|
FirJvmSessionFactory.createLibrarySession(
|
||||||
|
moduleName,
|
||||||
|
sessionProvider,
|
||||||
|
dependencyList,
|
||||||
|
projectEnvironment,
|
||||||
|
librariesScope,
|
||||||
|
packagePartProvider,
|
||||||
|
languageVersionSettings
|
||||||
|
)
|
||||||
|
|
||||||
|
val mainModuleData = FirModuleDataImpl(
|
||||||
|
moduleName,
|
||||||
|
dependencyList.regularDependencies,
|
||||||
|
dependencyList.dependsOnDependencies,
|
||||||
|
dependencyList.friendsDependencies,
|
||||||
|
dependencyList.platform,
|
||||||
|
dependencyList.analyzerServices
|
||||||
|
)
|
||||||
|
return FirJvmSessionFactory.createModuleBasedSession(
|
||||||
|
mainModuleData,
|
||||||
|
sessionProvider,
|
||||||
|
javaSourcesScope,
|
||||||
|
projectEnvironment,
|
||||||
|
incrementalCompilationContext,
|
||||||
|
extensionRegistrars,
|
||||||
|
languageVersionSettings,
|
||||||
|
lookupTracker,
|
||||||
|
enumWhenTracker,
|
||||||
|
needRegisterJavaElementFinder,
|
||||||
|
sessionConfigurator
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@OptIn(SessionConfiguration::class, PrivateSessionConstructor::class)
|
||||||
|
@TestOnly
|
||||||
|
fun createEmptySession(): FirSession {
|
||||||
|
return object : FirSession(null, Kind.Source) {}.apply {
|
||||||
|
val moduleData = FirModuleDataImpl(
|
||||||
|
Name.identifier("<stub module>"),
|
||||||
|
dependencies = emptyList(),
|
||||||
|
dependsOnDependencies = emptyList(),
|
||||||
|
friendDependencies = emptyList(),
|
||||||
|
platform = JvmPlatforms.unspecifiedJvmPlatform,
|
||||||
|
analyzerServices = JvmPlatformAnalyzerServices
|
||||||
|
)
|
||||||
|
registerModuleData(moduleData)
|
||||||
|
moduleData.bindSession(this)
|
||||||
|
// Empty stub for tests
|
||||||
|
register(FirLanguageSettingsComponent::class, FirLanguageSettingsComponent(
|
||||||
|
object : LanguageVersionSettings {
|
||||||
|
|
||||||
|
private fun stub(): Nothing = TODO(
|
||||||
|
"It does not yet have well-defined semantics for tests." +
|
||||||
|
"If you're seeing this, implement it in a test-specific way"
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State {
|
||||||
|
return LanguageFeature.State.DISABLED
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun isPreRelease(): Boolean = stub()
|
||||||
|
|
||||||
|
override fun <T> getFlag(flag: AnalysisFlag<T>): T = stub()
|
||||||
|
|
||||||
|
override val apiVersion: ApiVersion
|
||||||
|
get() = stub()
|
||||||
|
override val languageVersion: LanguageVersion
|
||||||
|
get() = stub()
|
||||||
|
}
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-4
@@ -7,10 +7,8 @@ package org.jetbrains.kotlin.fir.lightTree
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase
|
import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase
|
||||||
import org.jetbrains.kotlin.fir.builder.StubFirScopeProvider
|
import org.jetbrains.kotlin.fir.builder.StubFirScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.render
|
|
||||||
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithAttributes
|
|
||||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.nio.file.Paths
|
import java.nio.file.Paths
|
||||||
@@ -20,7 +18,7 @@ abstract class AbstractLightTree2FirConverterTestCase : AbstractRawFirBuilderTes
|
|||||||
|
|
||||||
fun doTest(filePath: String) {
|
fun doTest(filePath: String) {
|
||||||
val firFile = LightTree2Fir(
|
val firFile = LightTree2Fir(
|
||||||
session = FirSessionFactory.createEmptySession(),
|
session = FirSessionFactoryHelper.createEmptySession(),
|
||||||
scopeProvider = StubFirScopeProvider,
|
scopeProvider = StubFirScopeProvider,
|
||||||
diagnosticsReporter = null
|
diagnosticsReporter = null
|
||||||
).buildFirFile(Paths.get(filePath))
|
).buildFirFile(Paths.get(filePath))
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.KtSourceFileLinesMapping
|
|||||||
import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase
|
import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase
|
||||||
import org.jetbrains.kotlin.fir.builder.StubFirScopeProvider
|
import org.jetbrains.kotlin.fir.builder.StubFirScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.readSourceFileWithMapping
|
import org.jetbrains.kotlin.readSourceFileWithMapping
|
||||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||||
@@ -56,7 +56,7 @@ class TotalKotlinTest : AbstractRawFirBuilderTestCase() {
|
|||||||
var time = 0L
|
var time = 0L
|
||||||
|
|
||||||
val lightTreeConverter = LightTree2Fir(
|
val lightTreeConverter = LightTree2Fir(
|
||||||
session = FirSessionFactory.createEmptySession(),
|
session = FirSessionFactoryHelper.createEmptySession(),
|
||||||
scopeProvider = StubFirScopeProvider,
|
scopeProvider = StubFirScopeProvider,
|
||||||
diagnosticsReporter = null
|
diagnosticsReporter = null
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-3
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir
|
|||||||
import org.jetbrains.kotlin.fir.lightTree.walkTopDown
|
import org.jetbrains.kotlin.fir.lightTree.walkTopDown
|
||||||
import org.jetbrains.kotlin.fir.lightTree.walkTopDownWithTestData
|
import org.jetbrains.kotlin.fir.lightTree.walkTopDownWithTestData
|
||||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.readSourceFileWithMapping
|
import org.jetbrains.kotlin.readSourceFileWithMapping
|
||||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||||
@@ -60,7 +60,7 @@ class TreesCompareTest : AbstractRawFirBuilderTestCase() {
|
|||||||
|
|
||||||
private fun compareAll() {
|
private fun compareAll() {
|
||||||
val lightTreeConverter = LightTree2Fir(
|
val lightTreeConverter = LightTree2Fir(
|
||||||
session = FirSessionFactory.createEmptySession(),
|
session = FirSessionFactoryHelper.createEmptySession(),
|
||||||
scopeProvider = StubFirScopeProvider,
|
scopeProvider = StubFirScopeProvider,
|
||||||
diagnosticsReporter = null
|
diagnosticsReporter = null
|
||||||
)
|
)
|
||||||
@@ -86,7 +86,7 @@ class TreesCompareTest : AbstractRawFirBuilderTestCase() {
|
|||||||
|
|
||||||
fun testCompareDiagnostics() {
|
fun testCompareDiagnostics() {
|
||||||
val lightTreeConverter = LightTree2Fir(
|
val lightTreeConverter = LightTree2Fir(
|
||||||
session = FirSessionFactory.createEmptySession(),
|
session = FirSessionFactoryHelper.createEmptySession(),
|
||||||
scopeProvider = StubFirScopeProvider,
|
scopeProvider = StubFirScopeProvider,
|
||||||
diagnosticsReporter = null
|
diagnosticsReporter = null
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-3
@@ -24,9 +24,8 @@ import org.jetbrains.kotlin.fir.expressions.FirExpression
|
|||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement
|
import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement
|
||||||
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
||||||
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithAttributes
|
|
||||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.isExtensionFunctionAnnotationCall
|
import org.jetbrains.kotlin.fir.types.isExtensionFunctionAnnotationCall
|
||||||
@@ -79,7 +78,7 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected fun KtFile.toFirFile(bodyBuildingMode: BodyBuildingMode = BodyBuildingMode.NORMAL): FirFile {
|
protected fun KtFile.toFirFile(bodyBuildingMode: BodyBuildingMode = BodyBuildingMode.NORMAL): FirFile {
|
||||||
val session = FirSessionFactory.createEmptySession()
|
val session = FirSessionFactoryHelper.createEmptySession()
|
||||||
return RawFirBuilder(
|
return RawFirBuilder(
|
||||||
session,
|
session,
|
||||||
StubFirScopeProvider,
|
StubFirScopeProvider,
|
||||||
|
|||||||
+2
-3
@@ -33,13 +33,12 @@ import org.jetbrains.kotlin.fir.builder.BodyBuildingMode
|
|||||||
import org.jetbrains.kotlin.fir.builder.PsiHandlingMode
|
import org.jetbrains.kotlin.fir.builder.PsiHandlingMode
|
||||||
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.extensions.BunchOfRegisteredExtensions
|
|
||||||
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||||
import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir
|
import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
||||||
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionConfigurator
|
import org.jetbrains.kotlin.fir.session.FirSessionConfigurator
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
@@ -87,7 +86,7 @@ abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() {
|
|||||||
val scope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope(
|
val scope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope(
|
||||||
project,
|
project,
|
||||||
moduleFiles.mapNotNull { it.ktFile })
|
moduleFiles.mapNotNull { it.ktFile })
|
||||||
FirSessionFactory.createSessionWithDependencies(
|
FirSessionFactoryHelper.createSessionWithDependencies(
|
||||||
Name.identifier(info.name.asString().removeSurrounding("<", ">")),
|
Name.identifier(info.name.asString().removeSurrounding("<", ">")),
|
||||||
info.platform,
|
info.platform,
|
||||||
info.analyzerServices,
|
info.analyzerServices,
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.PsiBasedProjectFileSearchScope
|
|||||||
import org.jetbrains.kotlin.cli.jvm.compiler.VfsBasedProjectEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.VfsBasedProjectEnvironment
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactory
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
|
||||||
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||||
@@ -31,7 +31,7 @@ fun createSessionForTests(
|
|||||||
moduleName: String = "TestModule",
|
moduleName: String = "TestModule",
|
||||||
friendsPaths: List<Path> = emptyList(),
|
friendsPaths: List<Path> = emptyList(),
|
||||||
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT
|
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT
|
||||||
): FirSession = FirSessionFactory.createSessionWithDependencies(
|
): FirSession = FirSessionFactoryHelper.createSessionWithDependencies(
|
||||||
Name.identifier(moduleName),
|
Name.identifier(moduleName),
|
||||||
JvmPlatforms.unspecifiedJvmPlatform,
|
JvmPlatforms.unspecifiedJvmPlatform,
|
||||||
JvmPlatformAnalyzerServices,
|
JvmPlatformAnalyzerServices,
|
||||||
@@ -59,7 +59,7 @@ fun createSessionForTests(
|
|||||||
friendsPaths: List<Path> = emptyList(),
|
friendsPaths: List<Path> = emptyList(),
|
||||||
getPackagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
getPackagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
||||||
): FirSession {
|
): FirSession {
|
||||||
return FirSessionFactory.createSessionWithDependencies(
|
return FirSessionFactoryHelper.createSessionWithDependencies(
|
||||||
Name.identifier(moduleName),
|
Name.identifier(moduleName),
|
||||||
JvmPlatforms.unspecifiedJvmPlatform,
|
JvmPlatforms.unspecifiedJvmPlatform,
|
||||||
JvmPlatformAnalyzerServices,
|
JvmPlatformAnalyzerServices,
|
||||||
|
|||||||
Reference in New Issue
Block a user