IDE: Rename NativeLibraryInfo to NativeKlibLibraryInfo

This commit is contained in:
Dmitriy Dolovov
2020-03-20 18:28:02 +07:00
parent 816db96113
commit 98877eb87e
4 changed files with 16 additions and 15 deletions
@@ -85,9 +85,9 @@ class KotlinNativeABICompatibilityChecker(private val project: Project) : Projec
}
}
private fun getLibrariesToNotifyAbout(): Map<String, NativeLibraryInfo> {
private fun getLibrariesToNotifyAbout(): Map<String, NativeKlibLibraryInfo> {
val incompatibleLibraries = getModuleInfosFromIdeaModel(project).asSequence()
.filterIsInstance<NativeLibraryInfo>()
.filterIsInstance<NativeKlibLibraryInfo>()
.filter { !it.compatibilityInfo.isCompatible }
.associateBy { it.libraryRoot }
@@ -102,7 +102,7 @@ class KotlinNativeABICompatibilityChecker(private val project: Project) : Projec
return newEntries
}
private fun prepareNotifications(librariesToNotify: Map<String, NativeLibraryInfo>): List<Notification> {
private fun prepareNotifications(librariesToNotify: Map<String, NativeKlibLibraryInfo>): List<Notification> {
if (librariesToNotify.isEmpty())
return emptyList()
@@ -186,7 +186,7 @@ class KotlinNativeABICompatibilityChecker(private val project: Project) : Projec
}
// returns pair of library name and library group
private fun parseIDELibraryName(libraryInfo: NativeLibraryInfo): Pair<String, LibraryGroup> {
private fun parseIDELibraryName(libraryInfo: NativeKlibLibraryInfo): Pair<String, LibraryGroup> {
val ideLibraryName = libraryInfo.library.name?.takeIf(String::isNotEmpty)
if (ideLibraryName != null) {
parseIDELibraryName(ideLibraryName)?.let { (kotlinVersion, libraryName) ->
@@ -86,9 +86,9 @@ class KotlinNativeABICompatibilityChecker(private val project: Project) : Projec
}
}
private fun getLibrariesToNotifyAbout(): Map<String, NativeLibraryInfo> {
private fun getLibrariesToNotifyAbout(): Map<String, NativeKlibLibraryInfo> {
val incompatibleLibraries = getModuleInfosFromIdeaModel(project).asSequence()
.filterIsInstance<NativeLibraryInfo>()
.filterIsInstance<NativeKlibLibraryInfo>()
.filter { !it.compatibilityInfo.isCompatible }
.associateBy { it.libraryRoot }
@@ -103,7 +103,7 @@ class KotlinNativeABICompatibilityChecker(private val project: Project) : Projec
return newEntries
}
private fun prepareNotifications(librariesToNotify: Map<String, NativeLibraryInfo>): List<Notification> {
private fun prepareNotifications(librariesToNotify: Map<String, NativeKlibLibraryInfo>): List<Notification> {
if (librariesToNotify.isEmpty())
return emptyList()
@@ -187,7 +187,7 @@ class KotlinNativeABICompatibilityChecker(private val project: Project) : Projec
}
// returns pair of library name and library group
private fun parseIDELibraryName(libraryInfo: NativeLibraryInfo): Pair<String, LibraryGroup> {
private fun parseIDELibraryName(libraryInfo: NativeKlibLibraryInfo): Pair<String, LibraryGroup> {
val ideLibraryName = libraryInfo.library.name?.takeIf(String::isNotEmpty)
if (ideLibraryName != null) {
parseIDELibraryName(ideLibraryName)?.let { (kotlinVersion, libraryName) ->
@@ -80,7 +80,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution {
return library.getFiles(OrderRootType.CLASSES).mapNotNull { file ->
if (!isLibraryFileForPlatform(file)) return@createLibraryInfo emptyList()
val path = PathUtil.getLocalPath(file) ?: return@createLibraryInfo emptyList()
NativeLibraryInfo(project, library, path)
NativeKlibLibraryInfo(project, library, path)
}
}
@@ -90,7 +90,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution {
languageVersionSettings: LanguageVersionSettings,
moduleDescriptor: ModuleDescriptor
): PackageFragmentProvider? {
val library = (moduleInfo as? NativeLibraryInfo)?.resolvedKotlinLibrary ?: return null
val library = (moduleInfo as? NativeKlibLibraryInfo)?.resolvedKotlinLibrary ?: return null
return library.createPackageFragmentProvider(
storageManager,
languageVersionSettings,
@@ -168,12 +168,13 @@ private fun createKotlinNativeBuiltIns(moduleInfo: ModuleInfo, projectContext: P
return builtInsModule.builtIns
}
private fun ModuleInfo.findNativeStdlib(): NativeLibraryInfo? =
private fun ModuleInfo.findNativeStdlib(): NativeKlibLibraryInfo? =
dependencies().lazyClosure { it.dependencies() }
.filterIsInstance<NativeLibraryInfo>()
.filterIsInstance<NativeKlibLibraryInfo>()
.firstOrNull { it.isStdlib && it.compatibilityInfo.isCompatible }
class NativeLibraryInfo(project: Project, library: Library, libraryRoot: String) : AbstractKlibLibraryInfo(project, library, libraryRoot) {
class NativeKlibLibraryInfo(project: Project, library: Library, libraryRoot: String) :
AbstractKlibLibraryInfo(project, library, libraryRoot) {
val isStdlib get() = libraryRoot.endsWith(KONAN_STDLIB_NAME)
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.context.ModuleContext
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.frontend.di.createContainerForLazyResolve
import org.jetbrains.kotlin.ide.konan.NativeLibraryInfo
import org.jetbrains.kotlin.ide.konan.NativeKlibLibraryInfo
import org.jetbrains.kotlin.ide.konan.createPackageFragmentProvider
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms
@@ -59,7 +59,7 @@ class NativeResolverForModuleFactory(
val moduleInfo = moduleContent.moduleInfo
if (moduleInfo is NativeLibraryInfo) {
if (moduleInfo is NativeKlibLibraryInfo) {
val libPackageFragmentProvider =
moduleInfo.resolvedKotlinLibrary.createPackageFragmentProvider(
moduleContext.storageManager,