Refactoring: rename AnalyzerFacade -> ResolverForModuleFactory
This commit is contained in:
@@ -41,7 +41,7 @@ class JvmPlatformParameters(
|
|||||||
) : PlatformAnalysisParameters
|
) : PlatformAnalysisParameters
|
||||||
|
|
||||||
|
|
||||||
object JvmAnalyzerFacade : AnalyzerFacade() {
|
object JvmAnalyzerFacade : ResolverForModuleFactory() {
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleInfo: M,
|
moduleInfo: M,
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
private val debugName: String,
|
private val debugName: String,
|
||||||
private val projectContext: ProjectContext,
|
private val projectContext: ProjectContext,
|
||||||
modules: Collection<M>,
|
modules: Collection<M>,
|
||||||
private val analyzerFacade: (M) -> AnalyzerFacade,
|
private val resolverForModuleFactory: (M) -> ResolverForModuleFactory,
|
||||||
private val modulesContent: (M) -> ModuleContent,
|
private val modulesContent: (M) -> ModuleContent,
|
||||||
private val platformParameters: PlatformAnalysisParameters,
|
private val platformParameters: PlatformAnalysisParameters,
|
||||||
private val targetEnvironment: TargetEnvironment = CompilerEnvironment,
|
private val targetEnvironment: TargetEnvironment = CompilerEnvironment,
|
||||||
@@ -170,7 +170,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
|
|
||||||
ResolverForModuleComputationTracker.getInstance(projectContext.project)?.onResolverComputed(module)
|
ResolverForModuleComputationTracker.getInstance(projectContext.project)?.onResolverComputed(module)
|
||||||
|
|
||||||
analyzerFacade(module).createResolverForModule(
|
resolverForModuleFactory(module).createResolverForModule(
|
||||||
module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module),
|
module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module),
|
||||||
platformParameters, targetEnvironment, this@ResolverForProjectImpl,
|
platformParameters, targetEnvironment, this@ResolverForProjectImpl,
|
||||||
languageSettingsProvider,
|
languageSettingsProvider,
|
||||||
@@ -281,7 +281,7 @@ interface TrackableModuleInfo : ModuleInfo {
|
|||||||
fun createModificationTracker(): ModificationTracker
|
fun createModificationTracker(): ModificationTracker
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class AnalyzerFacade {
|
abstract class ResolverForModuleFactory {
|
||||||
abstract fun <M : ModuleInfo> createResolverForModule(
|
abstract fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleInfo: M,
|
moduleInfo: M,
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ import org.jetbrains.kotlin.serialization.deserialization.MetadataPackageFragmen
|
|||||||
* A facade that is used to analyze common (platform-independent) modules in multi-platform projects.
|
* A facade that is used to analyze common (platform-independent) modules in multi-platform projects.
|
||||||
* See [TargetPlatform.Common]
|
* See [TargetPlatform.Common]
|
||||||
*/
|
*/
|
||||||
object CommonAnalyzerFacade : AnalyzerFacade() {
|
object CommonAnalyzerFacade : ResolverForModuleFactory() {
|
||||||
private class SourceModuleInfo(
|
private class SourceModuleInfo(
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
override val capabilities: Map<ModuleDescriptor.Capability<*>, Any?>,
|
override val capabilities: Map<ModuleDescriptor.Capability<*>, Any?>,
|
||||||
@@ -78,9 +78,11 @@ object CommonAnalyzerFacade : AnalyzerFacade() {
|
|||||||
@Suppress("NAME_SHADOWING")
|
@Suppress("NAME_SHADOWING")
|
||||||
val resolver = ResolverForProjectImpl(
|
val resolver = ResolverForProjectImpl(
|
||||||
"sources for metadata serializer",
|
"sources for metadata serializer",
|
||||||
ProjectContext(project), listOf(moduleInfo), { CommonAnalyzerFacade },
|
ProjectContext(project),
|
||||||
{ ModuleContent(files, GlobalSearchScope.allScope(project)) },
|
listOf(moduleInfo),
|
||||||
object : PlatformAnalysisParameters {},
|
resolverForModuleFactory = { CommonAnalyzerFacade },
|
||||||
|
modulesContent = { ModuleContent(files, GlobalSearchScope.allScope(project)) },
|
||||||
|
platformParameters = object : PlatformAnalysisParameters {},
|
||||||
languageSettingsProvider = object : LanguageSettingsProvider {
|
languageSettingsProvider = object : LanguageSettingsProvider {
|
||||||
override fun getLanguageVersionSettings(moduleInfo: ModuleInfo, project: Project) = multiplatformLanguageSettings
|
override fun getLanguageVersionSettings(moduleInfo: ModuleInfo, project: Project) = multiplatformLanguageSettings
|
||||||
override fun getTargetPlatform(moduleInfo: ModuleInfo) = TargetPlatformVersion.NoVersion
|
override fun getTargetPlatform(moduleInfo: ModuleInfo) = TargetPlatformVersion.NoVersion
|
||||||
|
|||||||
+2
-2
@@ -71,8 +71,8 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
|
|||||||
val resolverForProject = ResolverForProjectImpl(
|
val resolverForProject = ResolverForProjectImpl(
|
||||||
"test",
|
"test",
|
||||||
projectContext, modules, { JvmAnalyzerFacade },
|
projectContext, modules, { JvmAnalyzerFacade },
|
||||||
{ module -> ModuleContent(module.kotlinFiles, module.javaFilesScope) },
|
modulesContent = { module -> ModuleContent(module.kotlinFiles, module.javaFilesScope) },
|
||||||
JvmPlatformParameters {
|
platformParameters = JvmPlatformParameters {
|
||||||
javaClass ->
|
javaClass ->
|
||||||
val moduleName = javaClass.name.asString().toLowerCase().first().toString()
|
val moduleName = javaClass.name.asString().toLowerCase().first().toString()
|
||||||
modules.first { it._name == moduleName }
|
modules.first { it._name == moduleName }
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.serialization.deserialization.DeserializationConfigu
|
|||||||
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
||||||
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
||||||
|
|
||||||
object JsAnalyzerFacade : AnalyzerFacade() {
|
object JsAnalyzerFacade : ResolverForModuleFactory() {
|
||||||
|
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleInfo: M,
|
moduleInfo: M,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import com.intellij.openapi.extensions.ExtensionPointName
|
|||||||
import com.intellij.openapi.extensions.Extensions
|
import com.intellij.openapi.extensions.Extensions
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
||||||
import org.jetbrains.kotlin.analyzer.AnalyzerFacade
|
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
||||||
import org.jetbrains.kotlin.analyzer.common.CommonAnalyzerFacade
|
import org.jetbrains.kotlin.analyzer.common.CommonAnalyzerFacade
|
||||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
|||||||
|
|
||||||
abstract class IdePlatformSupport {
|
abstract class IdePlatformSupport {
|
||||||
abstract val platform: TargetPlatform
|
abstract val platform: TargetPlatform
|
||||||
abstract val analyzerFacade: AnalyzerFacade
|
abstract val resolverForModuleFactory: ResolverForModuleFactory
|
||||||
abstract val libraryKind: PersistentLibraryKind<*>?
|
abstract val libraryKind: PersistentLibraryKind<*>?
|
||||||
|
|
||||||
abstract fun createBuiltIns(settings: PlatformAnalysisSettings, sdkContext: GlobalContextImpl): KotlinBuiltIns
|
abstract fun createBuiltIns(settings: PlatformAnalysisSettings, sdkContext: GlobalContextImpl): KotlinBuiltIns
|
||||||
@@ -54,7 +54,7 @@ abstract class IdePlatformSupport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val facades by lazy {
|
val facades by lazy {
|
||||||
Extensions.getExtensions(EP_NAME).map { it.platform to it.analyzerFacade }.toMap()
|
Extensions.getExtensions(EP_NAME).map { it.platform to it.resolverForModuleFactory }.toMap()
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@@ -69,7 +69,7 @@ class JvmPlatformSupport : IdePlatformSupport() {
|
|||||||
override val platform: TargetPlatform
|
override val platform: TargetPlatform
|
||||||
get() = JvmPlatform
|
get() = JvmPlatform
|
||||||
|
|
||||||
override val analyzerFacade: AnalyzerFacade
|
override val resolverForModuleFactory: ResolverForModuleFactory
|
||||||
get() = JvmAnalyzerFacade
|
get() = JvmAnalyzerFacade
|
||||||
|
|
||||||
override val libraryKind: PersistentLibraryKind<*>?
|
override val libraryKind: PersistentLibraryKind<*>?
|
||||||
@@ -89,7 +89,7 @@ class JsPlatformSupport : IdePlatformSupport() {
|
|||||||
override val platform: TargetPlatform
|
override val platform: TargetPlatform
|
||||||
get() = JsPlatform
|
get() = JsPlatform
|
||||||
|
|
||||||
override val analyzerFacade: AnalyzerFacade
|
override val resolverForModuleFactory: ResolverForModuleFactory
|
||||||
get() = JsAnalyzerFacade
|
get() = JsAnalyzerFacade
|
||||||
|
|
||||||
override val libraryKind: PersistentLibraryKind<*>?
|
override val libraryKind: PersistentLibraryKind<*>?
|
||||||
@@ -109,7 +109,7 @@ class CommonPlatformSupport : IdePlatformSupport() {
|
|||||||
override val platform: TargetPlatform
|
override val platform: TargetPlatform
|
||||||
get() = TargetPlatform.Common
|
get() = TargetPlatform.Common
|
||||||
|
|
||||||
override val analyzerFacade: AnalyzerFacade
|
override val resolverForModuleFactory: ResolverForModuleFactory
|
||||||
get() = CommonAnalyzerFacade
|
get() = CommonAnalyzerFacade
|
||||||
|
|
||||||
override val libraryKind: PersistentLibraryKind<*>?
|
override val libraryKind: PersistentLibraryKind<*>?
|
||||||
|
|||||||
Reference in New Issue
Block a user