KLIB API constants clean-up
This commit is contained in:
committed by
alexander-gorshenev
parent
781c73335d
commit
5985c0c02b
@@ -8,12 +8,11 @@ package org.jetbrains.kotlin.ide.konan
|
||||
import com.intellij.ide.highlighter.ArchiveFileType
|
||||
import com.intellij.openapi.fileTypes.FileTypeConsumer
|
||||
import com.intellij.openapi.fileTypes.FileTypeFactory
|
||||
import org.jetbrains.kotlin.konan.library.KLIB_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.konan.library.KDEFINITIONS_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.KLIB_FILE_EXTENSION
|
||||
|
||||
class KotlinNativeFileTypeFactory : FileTypeFactory() {
|
||||
override fun createFileTypes(consumer: FileTypeConsumer) {
|
||||
consumer.consume(ArchiveFileType.INSTANCE, KLIB_FILE_EXTENSION)
|
||||
consumer.consume(NativeDefinitionsFileType, KDEFINITIONS_FILE_EXTENSION)
|
||||
consumer.consume(NativeDefinitionsFileType, KOTLIN_NATIVE_DEFINITIONS_FILE_EXTENSION)
|
||||
}
|
||||
}
|
||||
@@ -21,37 +21,36 @@ import javax.swing.Icon
|
||||
import java.io.Reader
|
||||
import org.jetbrains.kotlin.ide.konan.psi.*
|
||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||
import org.jetbrains.kotlin.konan.library.KDEFINITIONS_FILE_EXTENSION
|
||||
|
||||
|
||||
const val NATIVE_DEFINITIONS_ID = "KND"
|
||||
const val NATIVE_DEFINITIONS_NAME = "Kotlin/Native Def"
|
||||
const val NATIVE_DEFINITIONS_DESCRIPTION = "Definitions file for Kotlin/Native C interop"
|
||||
const val KOTLIN_NATIVE_DEFINITIONS_FILE_EXTENSION = "def"
|
||||
const val KOTLIN_NATIVE_DEFINITIONS_ID = "KND"
|
||||
const val KOTLIN_NATIVE_DEFINITIONS_NAME = "Kotlin/Native Def"
|
||||
const val KOTLIN_NATIVE_DEFINITIONS_DESCRIPTION = "Definitions file for Kotlin/Native C interop"
|
||||
|
||||
object NativeDefinitionsFileType : LanguageFileType(NativeDefinitionsLanguage.INSTANCE) {
|
||||
|
||||
override fun getName(): String = NATIVE_DEFINITIONS_NAME
|
||||
override fun getName(): String = KOTLIN_NATIVE_DEFINITIONS_NAME
|
||||
|
||||
override fun getDescription(): String = NATIVE_DEFINITIONS_DESCRIPTION
|
||||
override fun getDescription(): String = KOTLIN_NATIVE_DEFINITIONS_DESCRIPTION
|
||||
|
||||
override fun getDefaultExtension(): String = KDEFINITIONS_FILE_EXTENSION
|
||||
override fun getDefaultExtension(): String = KOTLIN_NATIVE_DEFINITIONS_FILE_EXTENSION
|
||||
|
||||
override fun getIcon(): Icon = KotlinIcons.NATIVE
|
||||
}
|
||||
|
||||
class NativeDefinitionsLanguage private constructor() : Language(NATIVE_DEFINITIONS_ID) {
|
||||
class NativeDefinitionsLanguage private constructor() : Language(KOTLIN_NATIVE_DEFINITIONS_ID) {
|
||||
companion object {
|
||||
val INSTANCE = NativeDefinitionsLanguage()
|
||||
}
|
||||
|
||||
override fun getDisplayName(): String = NATIVE_DEFINITIONS_NAME
|
||||
override fun getDisplayName(): String = KOTLIN_NATIVE_DEFINITIONS_NAME
|
||||
}
|
||||
|
||||
class NativeDefinitionsFile(viewProvider: FileViewProvider) : PsiFileBase(viewProvider, NativeDefinitionsLanguage.INSTANCE) {
|
||||
|
||||
override fun getFileType(): FileType = NativeDefinitionsFileType
|
||||
|
||||
override fun toString(): String = NATIVE_DEFINITIONS_DESCRIPTION
|
||||
override fun toString(): String = KOTLIN_NATIVE_DEFINITIONS_DESCRIPTION
|
||||
|
||||
override fun getIcon(flags: Int): Icon? = super.getIcon(flags)
|
||||
}
|
||||
|
||||
@@ -32,11 +32,13 @@ import org.jetbrains.kotlin.idea.caches.project.lazyClosure
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.BuiltInsCacheKey
|
||||
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
||||
import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.konan.library.*
|
||||
import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME
|
||||
import org.jetbrains.kotlin.konan.library.KonanFactories
|
||||
import org.jetbrains.kotlin.library.KLIB_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.KLIB_METADATA_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.KotlinLibrary
|
||||
import org.jetbrains.kotlin.library.impl.createKotlinLibrary
|
||||
import org.jetbrains.kotlin.library.isInterop
|
||||
import org.jetbrains.kotlin.library.metadata.parseModuleHeader
|
||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||
import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind
|
||||
import org.jetbrains.kotlin.platform.konan.KonanPlatforms
|
||||
@@ -136,7 +138,7 @@ private fun createKotlinNativeBuiltIns(moduleInfo: ModuleInfo, projectContext: P
|
||||
val project = projectContext.project
|
||||
val storageManager = projectContext.storageManager
|
||||
|
||||
val stdlibInfo = moduleInfo.findNativeStdlib(project) ?: return DefaultBuiltIns.Instance
|
||||
val stdlibInfo = moduleInfo.findNativeStdlib() ?: return DefaultBuiltIns.Instance
|
||||
val konanLibrary = stdlibInfo.getCapability(NativeLibraryInfo.NATIVE_LIBRARY_CAPABILITY)!!
|
||||
|
||||
val builtInsModule = KonanFactories.DefaultDescriptorFactory.createDescriptorAndNewBuiltIns(
|
||||
@@ -176,7 +178,7 @@ private fun createKotlinNativeBuiltIns(moduleInfo: ModuleInfo, projectContext: P
|
||||
return builtInsModule.builtIns
|
||||
}
|
||||
|
||||
private fun ModuleInfo.findNativeStdlib(project: Project): NativeLibraryInfo? =
|
||||
private fun ModuleInfo.findNativeStdlib(): NativeLibraryInfo? =
|
||||
dependencies().lazyClosure { it.dependencies() }
|
||||
.filterIsInstance<NativeLibraryInfo>()
|
||||
.firstOrNull { it.isStdlib }
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.components.BaseComponent
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.util.containers.ContainerUtil.createConcurrentWeakValueMap
|
||||
import org.jetbrains.kotlin.konan.library.KLIB_METADATA_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.KLIB_METADATA_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.KLIB_MODULE_METADATA_FILE_NAME
|
||||
import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf
|
||||
import org.jetbrains.kotlin.library.metadata.parseModuleHeader
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ import com.intellij.openapi.fileTypes.FileType
|
||||
import com.intellij.openapi.fileTypes.FileTypeConsumer
|
||||
import com.intellij.openapi.fileTypes.FileTypeFactory
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.kotlin.konan.library.KLIB_METADATA_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.KLIB_METADATA_FILE_EXTENSION
|
||||
import org.jetbrains.kotlin.library.metadata.KlibMetadataSerializerProtocol
|
||||
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
|
||||
import org.jetbrains.kotlin.serialization.konan.NullFlexibleTypeDeserializer
|
||||
@@ -43,10 +43,10 @@ object KotlinNativeMetaFileType : FileType {
|
||||
override fun getName() = "KNM"
|
||||
override fun getDescription() = "Kotlin/Native Metadata"
|
||||
override fun getDefaultExtension() = KLIB_METADATA_FILE_EXTENSION
|
||||
override fun getIcon() = null
|
||||
override fun getIcon(): Nothing? = null
|
||||
override fun isBinary() = true
|
||||
override fun isReadOnly() = true
|
||||
override fun getCharset(file: VirtualFile, content: ByteArray) = null
|
||||
override fun getCharset(file: VirtualFile, content: ByteArray): Nothing? = null
|
||||
|
||||
const val STUB_VERSION = 2
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user