[Platform API] Make 'ModuleInfo.platform' non-nullable
This commit is contained in:
+4
@@ -38,6 +38,7 @@ import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
|||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.load.kotlin.MetadataFinderFactory
|
import org.jetbrains.kotlin.load.kotlin.MetadataFinderFactory
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.platform.CommonPlatforms
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.resolve.*
|
import org.jetbrains.kotlin.resolve.*
|
||||||
@@ -67,6 +68,9 @@ object CommonResolverForModuleFactory : ResolverForModuleFactory() {
|
|||||||
override fun dependencyOnBuiltIns(): ModuleInfo.DependencyOnBuiltIns =
|
override fun dependencyOnBuiltIns(): ModuleInfo.DependencyOnBuiltIns =
|
||||||
if (dependOnOldBuiltIns) ModuleInfo.DependencyOnBuiltIns.LAST else ModuleInfo.DependencyOnBuiltIns.NONE
|
if (dependOnOldBuiltIns) ModuleInfo.DependencyOnBuiltIns.LAST else ModuleInfo.DependencyOnBuiltIns.NONE
|
||||||
|
|
||||||
|
override val platform: TargetPlatform
|
||||||
|
get() = CommonPlatforms.defaultCommonPlatform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = CommonPlatformCompilerServices
|
get() = CommonPlatformCompilerServices
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -147,7 +147,7 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class BuiltInModuleInfo(override val name: Name) : ModuleInfo {
|
class BuiltInModuleInfo(override val name: Name) : ModuleInfo {
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = JvmPlatforms.defaultJvmPlatform
|
get() = JvmPlatforms.defaultJvmPlatform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
@@ -159,7 +159,7 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected class TestModuleInfo(override val name: Name) : ModuleInfo {
|
protected class TestModuleInfo(override val name: Name) : ModuleInfo {
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = JvmPlatforms.defaultJvmPlatform
|
get() = JvmPlatforms.defaultJvmPlatform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ interface ModuleInfo {
|
|||||||
val displayedName: String get() = name.asString()
|
val displayedName: String get() = name.asString()
|
||||||
fun dependencies(): List<ModuleInfo>
|
fun dependencies(): List<ModuleInfo>
|
||||||
val expectedBy: List<ModuleInfo> get() = emptyList()
|
val expectedBy: List<ModuleInfo> get() = emptyList()
|
||||||
val platform: TargetPlatform? get() = null
|
val platform: TargetPlatform
|
||||||
val compilerServices: PlatformDependentCompilerServices? get() = null
|
val compilerServices: PlatformDependentCompilerServices
|
||||||
fun modulesWhoseInternalsAreVisible(): Collection<ModuleInfo> = listOf()
|
fun modulesWhoseInternalsAreVisible(): Collection<ModuleInfo> = listOf()
|
||||||
val capabilities: Map<ModuleDescriptor.Capability<*>, Any?>
|
val capabilities: Map<ModuleDescriptor.Capability<*>, Any?>
|
||||||
get() = mapOf(Capability to this)
|
get() = mapOf(Capability to this)
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
descriptor as ModuleDescriptorImpl,
|
descriptor as ModuleDescriptorImpl,
|
||||||
projectContext.withModule(descriptor),
|
projectContext.withModule(descriptor),
|
||||||
moduleContent,
|
moduleContent,
|
||||||
platformParameters(module.platform ?: TODO("Missing platform!")),
|
platformParameters(module.platform),
|
||||||
targetEnvironment,
|
targetEnvironment,
|
||||||
this@ResolverForProjectImpl,
|
this@ResolverForProjectImpl,
|
||||||
languageVersionSettings
|
languageVersionSettings
|
||||||
|
|||||||
+1
-1
@@ -69,6 +69,6 @@ private class TestModule(val dependsOnBuiltIns: Boolean) : ModuleInfo {
|
|||||||
override val platform: TargetPlatform
|
override val platform: TargetPlatform
|
||||||
get() = JvmPlatforms.defaultJvmPlatform
|
get() = JvmPlatforms.defaultJvmPlatform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = JvmPlatformCompilerServices
|
get() = JvmPlatformCompilerServices
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -64,7 +64,7 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
|
|||||||
override val platform: TargetPlatform
|
override val platform: TargetPlatform
|
||||||
get() = JvmPlatforms.defaultJvmPlatform
|
get() = JvmPlatforms.defaultJvmPlatform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = JvmPlatformCompilerServices
|
get() = JvmPlatformCompilerServices
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,9 +43,12 @@ import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
|||||||
import org.jetbrains.kotlin.idea.util.isInSourceContentWithoutInjected
|
import org.jetbrains.kotlin.idea.util.isInSourceContentWithoutInjected
|
||||||
import org.jetbrains.kotlin.idea.util.rootManager
|
import org.jetbrains.kotlin.idea.util.rootManager
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.platform.DefaultIdeTargetPlatformKindProvider
|
||||||
import org.jetbrains.kotlin.platform.idePlatformKind
|
import org.jetbrains.kotlin.platform.idePlatformKind
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentCompilerServices
|
import org.jetbrains.kotlin.resolve.PlatformDependentCompilerServices
|
||||||
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformCompilerServices
|
||||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -318,10 +321,10 @@ data class LibrarySourceInfo(val project: Project, val library: Library, overrid
|
|||||||
return createLibraryInfo(project, library)
|
return createLibraryInfo(project, library)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = binariesModuleInfo.platform
|
get() = binariesModuleInfo.platform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = binariesModuleInfo.compilerServices
|
get() = binariesModuleInfo.compilerServices
|
||||||
|
|
||||||
override fun toString() = "LibrarySourceInfo(libraryName=${library.name})"
|
override fun toString() = "LibrarySourceInfo(libraryName=${library.name})"
|
||||||
@@ -337,6 +340,12 @@ data class SdkInfo(val project: Project, val sdk: Sdk) : IdeaModuleInfo {
|
|||||||
override fun contentScope(): GlobalSearchScope = SdkScope(project, sdk)
|
override fun contentScope(): GlobalSearchScope = SdkScope(project, sdk)
|
||||||
|
|
||||||
override fun dependencies(): List<IdeaModuleInfo> = listOf(this)
|
override fun dependencies(): List<IdeaModuleInfo> = listOf(this)
|
||||||
|
|
||||||
|
override val platform: TargetPlatform
|
||||||
|
get() = JvmPlatforms.defaultJvmPlatform // TODO(dsavvinov): provide proper target version
|
||||||
|
|
||||||
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
|
get() = JvmPlatformCompilerServices
|
||||||
}
|
}
|
||||||
|
|
||||||
object NotUnderContentRootModuleInfo : IdeaModuleInfo {
|
object NotUnderContentRootModuleInfo : IdeaModuleInfo {
|
||||||
@@ -350,11 +359,11 @@ object NotUnderContentRootModuleInfo : IdeaModuleInfo {
|
|||||||
//TODO: (module refactoring) dependency on runtime can be of use here
|
//TODO: (module refactoring) dependency on runtime can be of use here
|
||||||
override fun dependencies(): List<IdeaModuleInfo> = listOf(this)
|
override fun dependencies(): List<IdeaModuleInfo> = listOf(this)
|
||||||
|
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = null
|
get() = DefaultIdeTargetPlatformKindProvider.defaultPlatform
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = null
|
get() = platform.findCompilerServices
|
||||||
}
|
}
|
||||||
|
|
||||||
private class LibraryWithoutSourceScope(project: Project, private val library: Library) :
|
private class LibraryWithoutSourceScope(project: Project, private val library: Library) :
|
||||||
@@ -438,14 +447,14 @@ data class PlatformModuleInfo(
|
|||||||
|
|
||||||
override val containedModules: List<ModuleSourceInfo> = listOf(platformModule) + commonModules
|
override val containedModules: List<ModuleSourceInfo> = listOf(platformModule) + commonModules
|
||||||
|
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = platformModule.platform
|
get() = platformModule.platform
|
||||||
|
|
||||||
override val moduleOrigin: ModuleOrigin
|
override val moduleOrigin: ModuleOrigin
|
||||||
get() = platformModule.moduleOrigin
|
get() = platformModule.moduleOrigin
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = platform?.findCompilerServices
|
get() = platform.findCompilerServices
|
||||||
|
|
||||||
override fun dependencies() = platformModule.dependencies()
|
override fun dependencies() = platformModule.dependencies()
|
||||||
|
|
||||||
|
|||||||
+15
-12
@@ -16,6 +16,9 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition
|
import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentCompilerServices
|
import org.jetbrains.kotlin.resolve.PlatformDependentCompilerServices
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformCompilerServices
|
||||||
|
|
||||||
|
|
||||||
data class ScriptModuleInfo(
|
data class ScriptModuleInfo(
|
||||||
val project: Project,
|
val project: Project,
|
||||||
@@ -48,11 +51,11 @@ data class ScriptModuleInfo(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = null
|
get() = JvmPlatforms.defaultJvmPlatform // TODO(dsavvinov): choose proper target version
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = null
|
get() = JvmPlatformCompilerServices
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class ScriptDependenciesInfo(val project: Project) : IdeaModuleInfo, BinaryModuleInfo {
|
sealed class ScriptDependenciesInfo(val project: Project) : IdeaModuleInfo, BinaryModuleInfo {
|
||||||
@@ -74,11 +77,11 @@ sealed class ScriptDependenciesInfo(val project: Project) : IdeaModuleInfo, Bina
|
|||||||
override val sourcesModuleInfo: SourceForBinaryModuleInfo?
|
override val sourcesModuleInfo: SourceForBinaryModuleInfo?
|
||||||
get() = ScriptDependenciesSourceInfo.ForProject(project)
|
get() = ScriptDependenciesSourceInfo.ForProject(project)
|
||||||
|
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = null
|
get() = JvmPlatforms.defaultJvmPlatform // TODO(dsavvinov): choose proper TargetVersion
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = null
|
get() = JvmPlatformCompilerServices
|
||||||
|
|
||||||
class ForFile(
|
class ForFile(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -129,11 +132,11 @@ sealed class ScriptDependenciesSourceInfo(val project: Project) : IdeaModuleInfo
|
|||||||
|
|
||||||
override fun equals(other: Any?): Boolean = other is ScriptDependenciesSourceInfo && this.project == other.project
|
override fun equals(other: Any?): Boolean = other is ScriptDependenciesSourceInfo && this.project == other.project
|
||||||
|
|
||||||
override val platform: TargetPlatform?
|
override val platform: TargetPlatform
|
||||||
get() = null
|
get() = JvmPlatforms.defaultJvmPlatform // TODO(dsavvinov): choose proper TargetVersion
|
||||||
|
|
||||||
override val compilerServices: PlatformDependentCompilerServices?
|
override val compilerServices: PlatformDependentCompilerServices
|
||||||
get() = null
|
get() = JvmPlatformCompilerServices
|
||||||
|
|
||||||
class ForProject(project: Project) : ScriptDependenciesSourceInfo(project)
|
class ForProject(project: Project) : ScriptDependenciesSourceInfo(project)
|
||||||
}
|
}
|
||||||
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.frontend.di.configureModule
|
|||||||
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatformCompilerServices
|
import org.jetbrains.kotlin.js.resolve.JsPlatformCompilerServices
|
||||||
|
import org.jetbrains.kotlin.platform.js.JsPlatforms
|
||||||
import org.jetbrains.kotlin.resolve.*
|
import org.jetbrains.kotlin.resolve.*
|
||||||
import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
|
import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
|
||||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||||
@@ -46,7 +47,7 @@ fun createTopDownAnalyzerForJs(
|
|||||||
val storageComponentContainer = createContainer("TopDownAnalyzerForJs", JsPlatformCompilerServices) {
|
val storageComponentContainer = createContainer("TopDownAnalyzerForJs", JsPlatformCompilerServices) {
|
||||||
configureModule(
|
configureModule(
|
||||||
moduleContext,
|
moduleContext,
|
||||||
DefaultBuiltInPlatforms.jsPlatform,
|
JsPlatforms.defaultJsPlatform,
|
||||||
JsPlatformCompilerServices,
|
JsPlatformCompilerServices,
|
||||||
bindingTrace
|
bindingTrace
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user