KLIB: Fix compilation
This commit is contained in:
+1
-1
@@ -131,7 +131,7 @@ class CompositeResolverForModuleFactory(
|
||||
var klibMetadataProvider: PackageFragmentProvider? = null
|
||||
|
||||
if (moduleInfo is CommonKlibLibraryInfo && moduleInfo.compatibilityInfo.isCompatible) {
|
||||
val library = moduleInfo.commonLibrary
|
||||
val library = moduleInfo.resolvedKotlinLibrary
|
||||
val languageVersionSettings = container.get<LanguageVersionSettings>()
|
||||
|
||||
val packageFragmentNames = parseModuleHeader(library.moduleHeaderData).packageFragmentNameList
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2018 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.ide.konan.decompiler
|
||||
|
||||
import org.jetbrains.kotlin.idea.klib.KlibMetaFileType
|
||||
import org.jetbrains.kotlin.idea.util.KotlinBinaryExtension
|
||||
|
||||
class KlibMetaBinary : KotlinBinaryExtension(KlibMetaFileType)
|
||||
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.library.ToolingSingleFileKlibResolveStrategy
|
||||
import org.jetbrains.kotlin.library.resolveSingleFileKlib
|
||||
|
||||
abstract class AbstractKlibLibraryInfo(project: Project, library: Library, protected val libraryRoot: String) : LibraryInfo(project, library) {
|
||||
abstract class AbstractKlibLibraryInfo(project: Project, library: Library, val libraryRoot: String) : LibraryInfo(project, library) {
|
||||
|
||||
val resolvedKotlinLibrary = resolveSingleFileKlib(
|
||||
libraryFile = File(libraryRoot),
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.idea.KotlinModuleFileType
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager
|
||||
import org.jetbrains.kotlin.idea.decompiler.builtIns.KotlinBuiltInFileType
|
||||
import org.jetbrains.kotlin.idea.decompiler.js.KotlinJavaScriptMetaFileType
|
||||
import org.jetbrains.kotlin.idea.klib.KlibMetaFileType
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition
|
||||
import kotlin.script.experimental.api.ScriptAcceptedLocation
|
||||
@@ -50,6 +51,7 @@ class JavaClassBinary : KotlinBinaryExtension(JavaClassFileType.INSTANCE)
|
||||
class KotlinBuiltInBinary : KotlinBinaryExtension(KotlinBuiltInFileType)
|
||||
class KotlinModuleBinary : KotlinBinaryExtension(KotlinModuleFileType.INSTANCE)
|
||||
class KotlinJsMetaBinary : KotlinBinaryExtension(KotlinJavaScriptMetaFileType)
|
||||
class KlibMetaBinary : KotlinBinaryExtension(KlibMetaFileType)
|
||||
|
||||
fun FileType.isKotlinBinary(): Boolean = this in KotlinBinaryExtension.kotlinBinaries
|
||||
|
||||
|
||||
+2
-2
@@ -8,10 +8,10 @@ package org.jetbrains.kotlin.ide.konan
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.ide.konan.index.KotlinNativeMetaFileIndex
|
||||
import org.jetbrains.kotlin.idea.configuration.LibraryKindSearchScope
|
||||
import org.jetbrains.kotlin.idea.configuration.hasKotlinFilesOnlyInTests
|
||||
import org.jetbrains.kotlin.idea.util.runReadActionInSmartMode
|
||||
import org.jetbrains.kotlin.idea.vfilefinder.KlibMetaFileIndex
|
||||
import org.jetbrains.kotlin.idea.vfilefinder.hasSomethingInPackage
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
|
||||
@@ -23,5 +23,5 @@ fun hasKotlinNativeRuntimeInScope(module: Module): Boolean = module.project.runR
|
||||
private val KOTLIN_NATIVE_FQ_NAME = FqName("kotlin.native")
|
||||
|
||||
fun hasKotlinNativeMetadataFile(project: Project, scope: GlobalSearchScope): Boolean = project.runReadActionInSmartMode {
|
||||
KotlinNativeMetaFileIndex.hasSomethingInPackage(KOTLIN_NATIVE_FQ_NAME, scope)
|
||||
KlibMetaFileIndex.hasSomethingInPackage(KOTLIN_NATIVE_FQ_NAME, scope)
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ import com.intellij.openapi.roots.libraries.LibraryType
|
||||
import com.intellij.openapi.roots.libraries.ui.LibraryEditorComponent
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||
import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform
|
||||
import org.jetbrains.kotlin.platform.konan.KonanPlatforms
|
||||
import javax.swing.Icon
|
||||
import javax.swing.JComponent
|
||||
|
||||
@@ -23,7 +25,7 @@ object NativeLibraryType : LibraryType<DummyLibraryProperties>(NativeLibraryKind
|
||||
// However this does not work for libraries that are to be just created during project build, e.g. C-interop Kotlin/Native KLIBs.
|
||||
// The code below helps to perform postponed detection of Kotlin/Native libraries.
|
||||
override fun detect(classesRoots: List<VirtualFile>): DummyLibraryProperties? =
|
||||
if (classesRoots.firstOrNull()?.isKonanLibraryRoot == true)
|
||||
if (classesRoots.firstOrNull()?.isKlibLibraryRootForPlatform(KonanPlatforms.defaultKonanPlatform) == true)
|
||||
DummyLibraryProperties.INSTANCE!!
|
||||
else null
|
||||
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2018 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.ide.konan.index
|
||||
|
||||
import com.intellij.util.indexing.FileBasedIndex
|
||||
import org.jetbrains.kotlin.idea.klib.KlibLoadingMetadataCache
|
||||
import org.jetbrains.kotlin.idea.klib.KlibMetaFileType
|
||||
import org.jetbrains.kotlin.idea.vfilefinder.KotlinFileIndexBase
|
||||
import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</extensions>
|
||||
|
||||
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
||||
<binaryExtension implementation="org.jetbrains.kotlin.ide.konan.decompiler.KotlinNativeMetaBinary"/>
|
||||
<binaryExtension implementation="org.jetbrains.kotlin.idea.util.KlibMetaBinary"/>
|
||||
<idePlatformKind implementation="org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind"/>
|
||||
<idePlatformKindTooling implementation="org.jetbrains.kotlin.ide.konan.NativeIdePlatformKindTooling"/>
|
||||
<idePlatformKindResolution implementation="org.jetbrains.kotlin.ide.konan.NativePlatformKindResolution"/>
|
||||
|
||||
Reference in New Issue
Block a user