Refactoring: move idea source modules classes to caches/project package
This commit is contained in:
@@ -34,7 +34,6 @@ private val DO_NOT_ANALYZE_NOTIFICATION = "This file was created by KtPsiFactory
|
|||||||
|
|
||||||
var KtFile.doNotAnalyze: String? by UserDataProperty(Key.create("DO_NOT_ANALYZE"))
|
var KtFile.doNotAnalyze: String? by UserDataProperty(Key.create("DO_NOT_ANALYZE"))
|
||||||
var KtFile.analysisContext: PsiElement? by UserDataProperty(Key.create("ANALYSIS_CONTEXT"))
|
var KtFile.analysisContext: PsiElement? by UserDataProperty(Key.create("ANALYSIS_CONTEXT"))
|
||||||
var PsiFile.moduleInfo: ModuleInfo? by UserDataProperty(Key.create("MODULE_INFO"))
|
|
||||||
var KtFile.targetPlatform: TargetPlatform? by UserDataProperty(Key.create("TARGET_PLATFORM"))
|
var KtFile.targetPlatform: TargetPlatform? by UserDataProperty(Key.create("TARGET_PLATFORM"))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2000-2018 JetBrains s.r.o. 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.caches.project
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||||
|
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||||
|
|
||||||
|
interface LibraryModuleInfo : ModuleInfo {
|
||||||
|
override val platform: TargetPlatform
|
||||||
|
|
||||||
|
fun getLibraryRoots(): Collection<String>
|
||||||
|
}
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.idea.caches.resolve
|
package org.jetbrains.kotlin.idea.caches.resolve
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analyzer.*
|
import org.jetbrains.kotlin.analyzer.*
|
||||||
import org.jetbrains.kotlin.caches.resolve.LibraryModuleInfo
|
import org.jetbrains.kotlin.caches.project.LibraryModuleInfo
|
||||||
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
||||||
import org.jetbrains.kotlin.container.get
|
import org.jetbrains.kotlin.container.get
|
||||||
import org.jetbrains.kotlin.context.ModuleContext
|
import org.jetbrains.kotlin.context.ModuleContext
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.caches.resolve
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
|
||||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
|
||||||
|
|
||||||
interface LibraryModuleInfo : ModuleInfo {
|
|
||||||
override val platform: TargetPlatform
|
|
||||||
|
|
||||||
fun getLibraryRoots(): Collection<String>
|
|
||||||
}
|
|
||||||
+4
-4
@@ -34,9 +34,9 @@ import com.intellij.psi.search.GlobalSearchScope
|
|||||||
import com.intellij.util.containers.ContainerUtil
|
import com.intellij.util.containers.ContainerUtil
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService.Companion.FULL_DROP_THRESHOLD
|
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService.Companion.FULL_DROP_THRESHOLD
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfoByVirtualFile
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfoByVirtualFile
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil
|
import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -113,7 +113,7 @@ class PerModulePackageCacheService(private val project: Project) {
|
|||||||
|
|
||||||
private val projectScope = GlobalSearchScope.projectScope(project)
|
private val projectScope = GlobalSearchScope.projectScope(project)
|
||||||
|
|
||||||
internal fun onTooComplexChange() = synchronized(this) {
|
internal fun onTooComplexChange(): Unit = synchronized(this) {
|
||||||
pendingVFileChanges.clear()
|
pendingVFileChanges.clear()
|
||||||
pendingKtFileChanges.clear()
|
pendingKtFileChanges.clear()
|
||||||
cache.clear()
|
cache.clear()
|
||||||
|
|||||||
+18
-6
@@ -3,9 +3,10 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.caches.resolve
|
package org.jetbrains.kotlin.idea.caches.project
|
||||||
|
|
||||||
import com.intellij.facet.*
|
import com.intellij.facet.FacetTypeRegistry
|
||||||
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider
|
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider
|
||||||
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl
|
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
@@ -26,9 +27,8 @@ import com.intellij.util.SmartList
|
|||||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
import org.jetbrains.jps.model.java.JavaSourceRootType
|
||||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||||
import org.jetbrains.kotlin.analyzer.TrackableModuleInfo
|
import org.jetbrains.kotlin.analyzer.TrackableModuleInfo
|
||||||
import org.jetbrains.kotlin.caches.resolve.LibraryModuleInfo
|
import org.jetbrains.kotlin.caches.project.LibraryModuleInfo
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.project.LibraryDependenciesCache
|
|
||||||
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
||||||
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacetType
|
import org.jetbrains.kotlin.idea.facet.KotlinFacetType
|
||||||
@@ -45,6 +45,8 @@ import org.jetbrains.kotlin.resolve.jvm.GlobalSearchScopeWithModuleSources
|
|||||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
internal val LOG = Logger.getInstance(IdeaModuleInfo::class.java)
|
||||||
|
|
||||||
interface IdeaModuleInfo : ModuleInfo {
|
interface IdeaModuleInfo : ModuleInfo {
|
||||||
fun contentScope(): GlobalSearchScope
|
fun contentScope(): GlobalSearchScope
|
||||||
|
|
||||||
@@ -206,6 +208,7 @@ data class ModuleTestSourceInfo internal constructor(
|
|||||||
internal fun ModuleSourceInfo.isTests() = this is ModuleTestSourceInfo
|
internal fun ModuleSourceInfo.isTests() = this is ModuleTestSourceInfo
|
||||||
|
|
||||||
fun Module.productionSourceInfo(): ModuleProductionSourceInfo? = if (hasProductionRoots()) ModuleProductionSourceInfo(this) else null
|
fun Module.productionSourceInfo(): ModuleProductionSourceInfo? = if (hasProductionRoots()) ModuleProductionSourceInfo(this) else null
|
||||||
|
|
||||||
fun Module.testSourceInfo(): ModuleTestSourceInfo? = if (hasTestRoots()) ModuleTestSourceInfo(this) else null
|
fun Module.testSourceInfo(): ModuleTestSourceInfo? = if (hasTestRoots()) ModuleTestSourceInfo(this) else null
|
||||||
|
|
||||||
internal fun Module.correspondingModuleInfos(): List<ModuleSourceInfo> = listOf(testSourceInfo(), productionSourceInfo()).filterNotNull()
|
internal fun Module.correspondingModuleInfos(): List<ModuleSourceInfo> = listOf(testSourceInfo(), productionSourceInfo()).filterNotNull()
|
||||||
@@ -270,7 +273,12 @@ class LibraryInfo(val project: Project, val library: Library) : IdeaModuleInfo,
|
|||||||
val (libraries, sdks) = LibraryDependenciesCache.getInstance(project).getLibrariesAndSdksUsedWith(library)
|
val (libraries, sdks) = LibraryDependenciesCache.getInstance(project).getLibrariesAndSdksUsedWith(library)
|
||||||
|
|
||||||
sdks.mapTo(result) { SdkInfo(project, it) }
|
sdks.mapTo(result) { SdkInfo(project, it) }
|
||||||
libraries.filter { it is LibraryEx && !it.isDisposed }.mapTo(result) { LibraryInfo(project, it) }
|
libraries.filter { it is LibraryEx && !it.isDisposed }.mapTo(result) {
|
||||||
|
LibraryInfo(
|
||||||
|
project,
|
||||||
|
it
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return result.toList()
|
return result.toList()
|
||||||
}
|
}
|
||||||
@@ -298,7 +306,11 @@ data class LibrarySourceInfo(val project: Project, val library: Library) : IdeaM
|
|||||||
|
|
||||||
override val name: Name = Name.special("<sources for library ${library.name}>")
|
override val name: Name = Name.special("<sources for library ${library.name}>")
|
||||||
|
|
||||||
override fun sourceScope(): GlobalSearchScope = KotlinSourceFilterScope.librarySources(LibrarySourceScope(project, library), project)
|
override fun sourceScope(): GlobalSearchScope = KotlinSourceFilterScope.librarySources(
|
||||||
|
LibrarySourceScope(
|
||||||
|
project,
|
||||||
|
library
|
||||||
|
), project)
|
||||||
|
|
||||||
override fun modulesWhoseInternalsAreVisible(): Collection<ModuleInfo> {
|
override fun modulesWhoseInternalsAreVisible(): Collection<ModuleInfo> {
|
||||||
return listOf(LibraryInfo(project, library))
|
return listOf(LibraryInfo(project, library))
|
||||||
@@ -16,10 +16,6 @@ import com.intellij.util.containers.Queue
|
|||||||
import com.intellij.psi.util.CachedValuesManager
|
import com.intellij.psi.util.CachedValuesManager
|
||||||
import com.intellij.psi.util.CachedValueProvider
|
import com.intellij.psi.util.CachedValueProvider
|
||||||
import com.intellij.openapi.roots.ProjectRootModificationTracker
|
import com.intellij.openapi.roots.ProjectRootModificationTracker
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.correspondingModuleInfos
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.isTests
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.testSourceInfo
|
|
||||||
import java.util.HashSet
|
import java.util.HashSet
|
||||||
|
|
||||||
//NOTE: this is an approximation that may contain more module infos then the exact solution
|
//NOTE: this is an approximation that may contain more module infos then the exact solution
|
||||||
|
|||||||
+8
-15
@@ -1,20 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
*
|
* that can be found in the license/LICENSE.txt file.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.caches.resolve
|
package org.jetbrains.kotlin.idea.caches.project
|
||||||
|
|
||||||
import com.intellij.openapi.components.ServiceManager
|
import com.intellij.openapi.components.ServiceManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
@@ -25,6 +14,7 @@ import com.intellij.psi.search.DelegatingGlobalSearchScope
|
|||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.NonClasspathDirectoriesScope
|
import com.intellij.psi.search.NonClasspathDirectoriesScope
|
||||||
import com.intellij.util.containers.SLRUCache
|
import com.intellij.util.containers.SLRUCache
|
||||||
|
import org.jetbrains.kotlin.idea.caches.resolve.getAllProjectSdks
|
||||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -79,7 +69,10 @@ class ScriptDependenciesModuleInfo(
|
|||||||
val project: Project,
|
val project: Project,
|
||||||
val scriptModuleInfo: ScriptModuleInfo?
|
val scriptModuleInfo: ScriptModuleInfo?
|
||||||
) : IdeaModuleInfo, BinaryModuleInfo {
|
) : IdeaModuleInfo, BinaryModuleInfo {
|
||||||
override fun dependencies() = (listOf(this) + sdkDependencies(scriptModuleInfo?.externalDependencies, project))
|
override fun dependencies() = (listOf(this) + sdkDependencies(
|
||||||
|
scriptModuleInfo?.externalDependencies,
|
||||||
|
project
|
||||||
|
))
|
||||||
|
|
||||||
override val name = Name.special("<Script dependencies>")
|
override val name = Name.special("<Script dependencies>")
|
||||||
|
|
||||||
+39
-24
@@ -1,25 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
*
|
* that can be found in the license/LICENSE.txt file.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.caches.resolve
|
package org.jetbrains.kotlin.idea.caches.project
|
||||||
|
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.roots.*
|
import com.intellij.openapi.roots.*
|
||||||
|
import com.intellij.openapi.util.Key
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
|
import com.intellij.psi.PsiFile
|
||||||
|
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||||
import org.jetbrains.kotlin.asJava.classes.FakeLightClassForFileOfPackage
|
import org.jetbrains.kotlin.asJava.classes.FakeLightClassForFileOfPackage
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
||||||
@@ -36,23 +28,32 @@ import org.jetbrains.kotlin.utils.sure
|
|||||||
import org.jetbrains.kotlin.utils.yieldIfNotNull
|
import org.jetbrains.kotlin.utils.yieldIfNotNull
|
||||||
import kotlin.coroutines.experimental.buildSequence
|
import kotlin.coroutines.experimental.buildSequence
|
||||||
|
|
||||||
|
var PsiFile.moduleInfo: ModuleInfo? by UserDataProperty(Key.create("MODULE_INFO"))
|
||||||
|
|
||||||
fun PsiElement.getModuleInfo(): IdeaModuleInfo = this.collectInfos(ModuleInfoCollector.NotNullTakeFirst)
|
fun PsiElement.getModuleInfo(): IdeaModuleInfo = this.collectInfos(ModuleInfoCollector.NotNullTakeFirst)
|
||||||
|
|
||||||
fun PsiElement.getNullableModuleInfo(): IdeaModuleInfo? = this.collectInfos(ModuleInfoCollector.NullableTakeFirst)
|
fun PsiElement.getNullableModuleInfo(): IdeaModuleInfo? = this.collectInfos(ModuleInfoCollector.NullableTakeFirst)
|
||||||
|
|
||||||
fun PsiElement.getModuleInfos(): Sequence<IdeaModuleInfo> = this.collectInfos(ModuleInfoCollector.ToSequence)
|
fun PsiElement.getModuleInfos(): Sequence<IdeaModuleInfo> = this.collectInfos(ModuleInfoCollector.ToSequence)
|
||||||
|
|
||||||
fun getModuleInfoByVirtualFile(project: Project, virtualFile: VirtualFile): IdeaModuleInfo? = collectInfosByVirtualFile(
|
fun getModuleInfoByVirtualFile(project: Project, virtualFile: VirtualFile): IdeaModuleInfo? =
|
||||||
project, virtualFile,
|
collectInfosByVirtualFile(
|
||||||
treatAsLibrarySource = false,
|
project, virtualFile,
|
||||||
onOccurrence = { return@getModuleInfoByVirtualFile it }
|
treatAsLibrarySource = false,
|
||||||
)
|
onOccurrence = { return@getModuleInfoByVirtualFile it }
|
||||||
|
)
|
||||||
|
|
||||||
fun getBinaryLibrariesModuleInfos(project: Project, virtualFile: VirtualFile) =
|
fun getBinaryLibrariesModuleInfos(project: Project, virtualFile: VirtualFile) =
|
||||||
collectModuleInfosByType<BinaryModuleInfo>(project, virtualFile)
|
collectModuleInfosByType<BinaryModuleInfo>(
|
||||||
|
project,
|
||||||
|
virtualFile
|
||||||
|
)
|
||||||
|
|
||||||
fun getLibrarySourcesModuleInfos(project: Project, virtualFile: VirtualFile) =
|
fun getLibrarySourcesModuleInfos(project: Project, virtualFile: VirtualFile) =
|
||||||
collectModuleInfosByType<LibrarySourceInfo>(project, virtualFile)
|
collectModuleInfosByType<LibrarySourceInfo>(
|
||||||
|
project,
|
||||||
|
virtualFile
|
||||||
|
)
|
||||||
|
|
||||||
private typealias VirtualFileProcessor<T> = (Project, VirtualFile, Boolean) -> T
|
private typealias VirtualFileProcessor<T> = (Project, VirtualFile, Boolean) -> T
|
||||||
|
|
||||||
@@ -68,7 +69,13 @@ private sealed class ModuleInfoCollector<out T>(
|
|||||||
NotUnderContentRootModuleInfo
|
NotUnderContentRootModuleInfo
|
||||||
},
|
},
|
||||||
virtualFileProcessor = processor@ { project, virtualFile, isLibrarySource ->
|
virtualFileProcessor = processor@ { project, virtualFile, isLibrarySource ->
|
||||||
collectInfosByVirtualFile(project, virtualFile, isLibrarySource, { return@processor it ?: NotUnderContentRootModuleInfo })
|
collectInfosByVirtualFile(
|
||||||
|
project,
|
||||||
|
virtualFile,
|
||||||
|
isLibrarySource,
|
||||||
|
{
|
||||||
|
return@processor it ?: NotUnderContentRootModuleInfo
|
||||||
|
})
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -79,7 +86,11 @@ private sealed class ModuleInfoCollector<out T>(
|
|||||||
null
|
null
|
||||||
},
|
},
|
||||||
virtualFileProcessor = processor@ { project, virtualFile, isLibrarySource ->
|
virtualFileProcessor = processor@ { project, virtualFile, isLibrarySource ->
|
||||||
collectInfosByVirtualFile(project, virtualFile, isLibrarySource, { return@processor it })
|
collectInfosByVirtualFile(
|
||||||
|
project,
|
||||||
|
virtualFile,
|
||||||
|
isLibrarySource,
|
||||||
|
{ return@processor it })
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -91,7 +102,11 @@ private sealed class ModuleInfoCollector<out T>(
|
|||||||
},
|
},
|
||||||
virtualFileProcessor = { project, virtualFile, isLibrarySource ->
|
virtualFileProcessor = { project, virtualFile, isLibrarySource ->
|
||||||
buildSequence {
|
buildSequence {
|
||||||
collectInfosByVirtualFile(project, virtualFile, isLibrarySource, { yieldIfNotNull(it) })
|
collectInfosByVirtualFile(
|
||||||
|
project,
|
||||||
|
virtualFile,
|
||||||
|
isLibrarySource,
|
||||||
|
{ yieldIfNotNull(it) })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
+3
@@ -32,6 +32,9 @@ import org.jetbrains.kotlin.asJava.finder.JavaElementFinder
|
|||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
|
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.lightClasses.*
|
import org.jetbrains.kotlin.idea.caches.resolve.lightClasses.*
|
||||||
import org.jetbrains.kotlin.idea.decompiler.classFile.KtClsFile
|
import org.jetbrains.kotlin.idea.decompiler.classFile.KtClsFile
|
||||||
import org.jetbrains.kotlin.idea.decompiler.navigation.SourceNavigationHelper
|
import org.jetbrains.kotlin.idea.decompiler.navigation.SourceNavigationHelper
|
||||||
|
|||||||
+7
-3
@@ -35,8 +35,7 @@ import org.jetbrains.kotlin.config.LanguageFeature
|
|||||||
import org.jetbrains.kotlin.context.GlobalContext
|
import org.jetbrains.kotlin.context.GlobalContext
|
||||||
import org.jetbrains.kotlin.context.GlobalContextImpl
|
import org.jetbrains.kotlin.context.GlobalContextImpl
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.project.LibraryModificationTracker
|
import org.jetbrains.kotlin.idea.caches.project.*
|
||||||
import org.jetbrains.kotlin.idea.caches.project.getDependentModules
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.util.contextWithNewLockAndCompositeExceptionTracker
|
import org.jetbrains.kotlin.idea.caches.resolve.util.contextWithNewLockAndCompositeExceptionTracker
|
||||||
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
||||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesModificationTracker
|
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesModificationTracker
|
||||||
@@ -84,7 +83,12 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
|||||||
private val facadesForScriptDependencies: SLRUCache<ScriptModuleInfo, ProjectResolutionFacade> =
|
private val facadesForScriptDependencies: SLRUCache<ScriptModuleInfo, ProjectResolutionFacade> =
|
||||||
object : SLRUCache<ScriptModuleInfo, ProjectResolutionFacade>(2, 3) {
|
object : SLRUCache<ScriptModuleInfo, ProjectResolutionFacade>(2, 3) {
|
||||||
override fun createValue(scriptModuleInfo: ScriptModuleInfo?): ProjectResolutionFacade {
|
override fun createValue(scriptModuleInfo: ScriptModuleInfo?): ProjectResolutionFacade {
|
||||||
return createFacadeForScriptDependencies(ScriptDependenciesModuleInfo(project, scriptModuleInfo))
|
return createFacadeForScriptDependencies(
|
||||||
|
ScriptDependenciesModuleInfo(
|
||||||
|
project,
|
||||||
|
scriptModuleInfo
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+13
-2
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|||||||
import org.jetbrains.kotlin.caches.resolve.IdePlatformSupport
|
import org.jetbrains.kotlin.caches.resolve.IdePlatformSupport
|
||||||
import org.jetbrains.kotlin.context.GlobalContextImpl
|
import org.jetbrains.kotlin.context.GlobalContextImpl
|
||||||
import org.jetbrains.kotlin.context.withProject
|
import org.jetbrains.kotlin.context.withProject
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.*
|
||||||
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
||||||
import org.jetbrains.kotlin.idea.project.IdeaEnvironment
|
import org.jetbrains.kotlin.idea.project.IdeaEnvironment
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||||
@@ -90,7 +91,12 @@ fun createModuleResolverProvider(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (providedBuiltIns == null && builtIns is JvmBuiltIns) {
|
if (providedBuiltIns == null && builtIns is JvmBuiltIns) {
|
||||||
val sdkModuleDescriptor = analysisSettings.sdk!!.let { resolverForProject.descriptorForModule(SdkInfo(project, it)) }
|
val sdkModuleDescriptor = analysisSettings.sdk!!.let { resolverForProject.descriptorForModule(
|
||||||
|
SdkInfo(
|
||||||
|
project,
|
||||||
|
it
|
||||||
|
)
|
||||||
|
) }
|
||||||
builtIns.initialize(sdkModuleDescriptor, analysisSettings.isAdditionalBuiltInFeaturesSupported)
|
builtIns.initialize(sdkModuleDescriptor, analysisSettings.isAdditionalBuiltInFeaturesSupported)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,7 +126,12 @@ fun collectAllModuleInfosFromIdeaModel(project: Project): List<IdeaModuleInfo> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val sdksInfos = (sdksFromModulesDependencies + getAllProjectSdks()).filterNotNull().toSet().map { SdkInfo(project, it) }
|
val sdksInfos = (sdksFromModulesDependencies + getAllProjectSdks()).filterNotNull().toSet().map {
|
||||||
|
SdkInfo(
|
||||||
|
project,
|
||||||
|
it
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return modulesSourcesInfos + librariesInfos + sdksInfos
|
return modulesSourcesInfos + librariesInfos + sdksInfos
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -27,6 +27,10 @@ import org.jetbrains.kotlin.analyzer.EmptyResolverForProject
|
|||||||
import org.jetbrains.kotlin.analyzer.ResolverForModule
|
import org.jetbrains.kotlin.analyzer.ResolverForModule
|
||||||
import org.jetbrains.kotlin.context.GlobalContextImpl
|
import org.jetbrains.kotlin.context.GlobalContextImpl
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.NotUnderContentRootModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfos
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.resolve.CompositeBindingContext
|
import org.jetbrains.kotlin.resolve.CompositeBindingContext
|
||||||
|
|||||||
+1
-1
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.container.getService
|
|||||||
import org.jetbrains.kotlin.container.tryGetService
|
import org.jetbrains.kotlin.container.tryGetService
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.project.ResolveElementCache
|
import org.jetbrains.kotlin.idea.project.ResolveElementCache
|
||||||
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
@@ -33,7 +34,6 @@ import org.jetbrains.kotlin.resolve.BindingContext
|
|||||||
import org.jetbrains.kotlin.resolve.lazy.AbsentDescriptorHandler
|
import org.jetbrains.kotlin.resolve.lazy.AbsentDescriptorHandler
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
|
||||||
|
|
||||||
internal class ResolutionFacadeImpl(
|
internal class ResolutionFacadeImpl(
|
||||||
private val projectFacade: ProjectResolutionFacade,
|
private val projectFacade: ProjectResolutionFacade,
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
|
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||||
import org.jetbrains.kotlin.frontend.di.configureModule
|
import org.jetbrains.kotlin.frontend.di.configureModule
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.lightClasses.IDELightClassConstructionContext.Mode.EXACT
|
import org.jetbrains.kotlin.idea.caches.resolve.lightClasses.IDELightClassConstructionContext.Mode.EXACT
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.lightClasses.IDELightClassConstructionContext.Mode.LIGHT
|
import org.jetbrains.kotlin.idea.caches.resolve.lightClasses.IDELightClassConstructionContext.Mode.LIGHT
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ import org.jetbrains.kotlin.analyzer.ModuleInfo
|
|||||||
import org.jetbrains.kotlin.analyzer.PackageOracle
|
import org.jetbrains.kotlin.analyzer.PackageOracle
|
||||||
import org.jetbrains.kotlin.analyzer.PackageOracleFactory
|
import org.jetbrains.kotlin.analyzer.PackageOracleFactory
|
||||||
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService
|
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.ModuleOrigin
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.isSubpackageOf
|
import org.jetbrains.kotlin.name.isSubpackageOf
|
||||||
import org.jetbrains.kotlin.resolve.jvm.KotlinJavaPsiFacade
|
import org.jetbrains.kotlin.resolve.jvm.KotlinJavaPsiFacade
|
||||||
|
|||||||
@@ -6,10 +6,10 @@
|
|||||||
package org.jetbrains.kotlin.idea.caches.resolve.util
|
package org.jetbrains.kotlin.idea.caches.resolve.util
|
||||||
|
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ScriptModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.ScriptModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.SourceForBinaryModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.SourceForBinaryModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.psi.KtCodeFragment
|
import org.jetbrains.kotlin.psi.KtCodeFragment
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
|||||||
+2
-2
@@ -27,8 +27,8 @@ import org.jetbrains.kotlin.config.AnalysisFlag
|
|||||||
import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider
|
import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.LibraryInfo
|
import org.jetbrains.kotlin.idea.caches.project.LibraryInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.project.getLanguageVersionSettings
|
import org.jetbrains.kotlin.idea.project.getLanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.idea.project.targetPlatform
|
import org.jetbrains.kotlin.idea.project.targetPlatform
|
||||||
|
|||||||
+7
-5
@@ -19,9 +19,9 @@ import com.intellij.util.containers.ContainerUtil
|
|||||||
import gnu.trove.THashSet
|
import gnu.trove.THashSet
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.BinaryModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.BinaryModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getBinaryLibrariesModuleInfos
|
import org.jetbrains.kotlin.idea.caches.project.getBinaryLibrariesModuleInfos
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getLibrarySourcesModuleInfos
|
import org.jetbrains.kotlin.idea.caches.project.getLibrarySourcesModuleInfos
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.decompiler.navigation.MemberMatching.*
|
import org.jetbrains.kotlin.idea.decompiler.navigation.MemberMatching.*
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex
|
||||||
@@ -69,8 +69,10 @@ object SourceNavigationHelper {
|
|||||||
}.flatten().mapNotNull { it.sourcesModuleInfo?.sourceScope() }.union()
|
}.flatten().mapNotNull { it.sourcesModuleInfo?.sourceScope() }.union()
|
||||||
}
|
}
|
||||||
|
|
||||||
NavigationKind.SOURCES_TO_CLASS_FILES -> getLibrarySourcesModuleInfos(declaration.project, vFile)
|
NavigationKind.SOURCES_TO_CLASS_FILES -> getLibrarySourcesModuleInfos(
|
||||||
.map { it.binariesModuleInfo.binariesScope() }.union()
|
declaration.project,
|
||||||
|
vFile
|
||||||
|
).map { it.binariesModuleInfo.binariesScope() }.union()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
|||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.BinaryModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.BinaryModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.LOG
|
import org.jetbrains.kotlin.idea.caches.resolve.LOG
|
||||||
import org.jetbrains.kotlin.idea.decompiler.KtDecompiledFile
|
import org.jetbrains.kotlin.idea.decompiler.KtDecompiledFile
|
||||||
import org.jetbrains.kotlin.idea.decompiler.textBuilder.DecompiledTextIndexer
|
import org.jetbrains.kotlin.idea.decompiler.textBuilder.DecompiledTextIndexer
|
||||||
|
|||||||
+1
@@ -20,6 +20,7 @@ import com.intellij.lang.annotation.AnnotationHolder
|
|||||||
import com.intellij.lang.annotation.Annotator
|
import com.intellij.lang.annotation.Annotator
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.asJava.*
|
import org.jetbrains.kotlin.asJava.*
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||||
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
|
|||||||
+2
-2
@@ -17,8 +17,8 @@
|
|||||||
package org.jetbrains.kotlin.idea.highlighter
|
package org.jetbrains.kotlin.idea.highlighter
|
||||||
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.NotUnderContentRootModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.NotUnderContentRootModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.core.script.scriptDependencies
|
import org.jetbrains.kotlin.idea.core.script.scriptDependencies
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.psi.KtCodeFragment
|
import org.jetbrains.kotlin.psi.KtCodeFragment
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ import com.intellij.psi.impl.PsiModificationTrackerImpl
|
|||||||
import com.intellij.psi.util.CachedValueProvider
|
import com.intellij.psi.util.CachedValueProvider
|
||||||
import com.intellij.psi.util.PsiModificationTracker
|
import com.intellij.psi.util.PsiModificationTracker
|
||||||
import com.intellij.util.CommonProcessors
|
import com.intellij.util.CommonProcessors
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.cached
|
import org.jetbrains.kotlin.idea.caches.project.cached
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getTopmostParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getTopmostParentOfType
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.TestOnly
|
|||||||
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult
|
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult
|
||||||
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.*
|
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.*
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
||||||
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinTypeAliasShortNameIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinTypeAliasShortNameIndex
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ import com.intellij.psi.search.GlobalSearchScope
|
|||||||
import com.intellij.psi.stubs.StubIndex
|
import com.intellij.psi.stubs.StubIndex
|
||||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService
|
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinExactPackagesIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinExactPackagesIndex
|
||||||
import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil
|
import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil
|
||||||
import org.jetbrains.kotlin.idea.stubindex.SubpackagesIndexService
|
import org.jetbrains.kotlin.idea.stubindex.SubpackagesIndexService
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.idea.stubindex.resolve
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
|
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ import com.intellij.psi.search.GlobalSearchScope
|
|||||||
import com.intellij.util.ProcessingContext
|
import com.intellij.util.ProcessingContext
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleOrigin
|
import org.jetbrains.kotlin.idea.caches.project.ModuleOrigin
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.OriginCapability
|
import org.jetbrains.kotlin.idea.caches.project.OriginCapability
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.util.getResolveScope
|
import org.jetbrains.kotlin.idea.caches.resolve.util.getResolveScope
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.ReferenceVariantsHelper
|
import org.jetbrains.kotlin.idea.codeInsight.ReferenceVariantsHelper
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ import com.intellij.psi.search.EverythingGlobalScope
|
|||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.util.containers.ConcurrentFactoryMap
|
import com.intellij.util.containers.ConcurrentFactoryMap
|
||||||
import com.intellij.util.containers.ContainerUtil
|
import com.intellij.util.containers.ContainerUtil
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ScriptModuleSearchScope
|
import org.jetbrains.kotlin.idea.caches.project.ScriptModuleSearchScope
|
||||||
import org.jetbrains.kotlin.load.java.AbstractJavaClassFinder
|
import org.jetbrains.kotlin.load.java.AbstractJavaClassFinder
|
||||||
import org.jetbrains.kotlin.resolve.jvm.KotlinSafeClassFinder
|
import org.jetbrains.kotlin.resolve.jvm.KotlinSafeClassFinder
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -20,9 +20,9 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.ResolveScopeProvider
|
import com.intellij.psi.ResolveScopeProvider
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ScriptDependenciesModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.ScriptDependenciesModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ScriptDependenciesSourceModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.ScriptDependenciesSourceModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfoByVirtualFile
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfoByVirtualFile
|
||||||
|
|
||||||
class ScriptDependenciesResolveScopeProvider : ResolveScopeProvider() {
|
class ScriptDependenciesResolveScopeProvider : ResolveScopeProvider() {
|
||||||
override fun getResolveScope(file: VirtualFile, project: Project): GlobalSearchScope? {
|
override fun getResolveScope(file: VirtualFile, project: Project): GlobalSearchScope? {
|
||||||
|
|||||||
@@ -25,4 +25,4 @@ import kotlin.reflect.KProperty
|
|||||||
operator fun <T> CachedValue<T>.getValue(o: Any, property: KProperty<*>): T = value
|
operator fun <T> CachedValue<T>.getValue(o: Any, property: KProperty<*>): T = value
|
||||||
|
|
||||||
fun <T> CachedValue(project: Project, trackValue: Boolean = false, provider: () -> CachedValueProvider.Result<T>) =
|
fun <T> CachedValue(project: Project, trackValue: Boolean = false, provider: () -> CachedValueProvider.Result<T>) =
|
||||||
CachedValuesManager.getManager(project).createCachedValue(provider, trackValue)
|
CachedValuesManager.getManager(project).createCachedValue(provider, trackValue)
|
||||||
|
|||||||
+4
-4
@@ -30,14 +30,14 @@ import com.intellij.openapi.vfs.VirtualFile
|
|||||||
import com.intellij.openapi.vfs.newvfs.FileAttribute
|
import com.intellij.openapi.vfs.newvfs.FileAttribute
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.NotUnderContentRootModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.NotUnderContentRootModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.productionSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.moduleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.testSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.productionSourceInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.testSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition.Companion.STD_SCRIPT_EXT
|
import org.jetbrains.kotlin.parsing.KotlinParserDefinition.Companion.STD_SCRIPT_EXT
|
||||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition.Companion.STD_SCRIPT_SUFFIX
|
import org.jetbrains.kotlin.parsing.KotlinParserDefinition.Companion.STD_SCRIPT_SUFFIX
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.moduleInfo
|
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
|
|
||||||
class ScratchFileModuleInfoProvider(project: Project) : AbstractProjectComponent(project) {
|
class ScratchFileModuleInfoProvider(project: Project) : AbstractProjectComponent(project) {
|
||||||
|
|||||||
@@ -55,10 +55,11 @@ import org.jetbrains.kotlin.console.gutter.ConsoleIndicatorRenderer
|
|||||||
import org.jetbrains.kotlin.console.gutter.IconWithTooltip
|
import org.jetbrains.kotlin.console.gutter.IconWithTooltip
|
||||||
import org.jetbrains.kotlin.console.gutter.ReplIcons
|
import org.jetbrains.kotlin.console.gutter.ReplIcons
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.NotUnderContentRootModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.NotUnderContentRootModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.productionSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.moduleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.testSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.productionSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.project.testSourceInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||||
import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionContributor
|
import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionContributor
|
||||||
import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionsManager
|
import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionsManager
|
||||||
import org.jetbrains.kotlin.idea.project.KOTLIN_CONSOLE_KEY
|
import org.jetbrains.kotlin.idea.project.KOTLIN_CONSOLE_KEY
|
||||||
@@ -67,7 +68,6 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtScript
|
import org.jetbrains.kotlin.psi.KtScript
|
||||||
import org.jetbrains.kotlin.psi.moduleInfo
|
|
||||||
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
|
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
|
||||||
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor
|
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor
|
||||||
import org.jetbrains.kotlin.resolve.repl.ReplState
|
import org.jetbrains.kotlin.resolve.repl.ReplState
|
||||||
@@ -293,7 +293,8 @@ class KotlinConsoleRunner(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun configureFileDependencies(psiFile: KtFile) {
|
private fun configureFileDependencies(psiFile: KtFile) {
|
||||||
psiFile.moduleInfo = module.testSourceInfo() ?: module.productionSourceInfo() ?: NotUnderContentRootModuleInfo
|
psiFile.moduleInfo = module.testSourceInfo() ?: module.productionSourceInfo() ?:
|
||||||
|
NotUnderContentRootModuleInfo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -335,8 +335,8 @@
|
|||||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.caches.resolve.IdePackageOracleFactory"
|
<projectService serviceInterface="org.jetbrains.kotlin.idea.caches.resolve.IdePackageOracleFactory"
|
||||||
serviceImplementation="org.jetbrains.kotlin.idea.caches.resolve.IdePackageOracleFactory"/>
|
serviceImplementation="org.jetbrains.kotlin.idea.caches.resolve.IdePackageOracleFactory"/>
|
||||||
|
|
||||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.caches.resolve.ScriptBinariesScopeCache"
|
<projectService serviceInterface="org.jetbrains.kotlin.idea.caches.project.ScriptBinariesScopeCache"
|
||||||
serviceImplementation="org.jetbrains.kotlin.idea.caches.resolve.ScriptBinariesScopeCache"/>
|
serviceImplementation="org.jetbrains.kotlin.idea.caches.project.ScriptBinariesScopeCache"/>
|
||||||
|
|
||||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.core.util.ProjectJob"
|
<projectService serviceInterface="org.jetbrains.kotlin.idea.core.util.ProjectJob"
|
||||||
serviceImplementation="org.jetbrains.kotlin.idea.core.util.ProjectJob"/>
|
serviceImplementation="org.jetbrains.kotlin.idea.core.util.ProjectJob"/>
|
||||||
|
|||||||
+2
-2
@@ -41,8 +41,8 @@ import kotlinx.coroutines.experimental.launch
|
|||||||
import kotlinx.coroutines.experimental.withTimeout
|
import kotlinx.coroutines.experimental.withTimeout
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleOrigin
|
import org.jetbrains.kotlin.idea.caches.project.ModuleOrigin
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.completion.CompletionBenchmarkSink
|
import org.jetbrains.kotlin.idea.completion.CompletionBenchmarkSink
|
||||||
import org.jetbrains.kotlin.idea.core.moveCaret
|
import org.jetbrains.kotlin.idea.core.moveCaret
|
||||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.intellij.psi.search.PsiShortNamesCache
|
|||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||||
import org.jetbrains.kotlin.idea.core.isVisible
|
import org.jetbrains.kotlin.idea.core.isVisible
|
||||||
import org.jetbrains.kotlin.idea.imports.canBeReferencedViaImport
|
import org.jetbrains.kotlin.idea.imports.canBeReferencedViaImport
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.cli.common.arguments.*
|
|||||||
import org.jetbrains.kotlin.compilerRunner.ArgumentUtils
|
import org.jetbrains.kotlin.compilerRunner.ArgumentUtils
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
import org.jetbrains.kotlin.idea.caches.project.*
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JsCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JsCompilerArgumentsHolder
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings
|
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings
|
||||||
import org.jetbrains.kotlin.idea.references.KtInvokeFunctionReference
|
import org.jetbrains.kotlin.idea.references.KtInvokeFunctionReference
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import com.intellij.codeInspection.LocalInspectionTool
|
|||||||
import com.intellij.codeInspection.ProblemsHolder
|
import com.intellij.codeInspection.ProblemsHolder
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens.INTERNAL_KEYWORD
|
import org.jetbrains.kotlin.lexer.KtTokens.INTERNAL_KEYWORD
|
||||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||||
|
|
||||||
|
|||||||
+2
@@ -41,6 +41,8 @@ import org.jetbrains.kotlin.asJava.toLightMethods
|
|||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.idea.analysis.analyzeInContext
|
import org.jetbrains.kotlin.idea.analysis.analyzeInContext
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.moduleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.core.compareDescriptors
|
import org.jetbrains.kotlin.idea.core.compareDescriptors
|
||||||
|
|||||||
+6
-1
@@ -40,6 +40,8 @@ import org.jetbrains.kotlin.asJava.toLightMethods
|
|||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.impl.MutablePackageFragmentDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.MutablePackageFragmentDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfoByVirtualFile
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.moduleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.imports.importableFqName
|
import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||||
@@ -92,7 +94,10 @@ class MoveConflictChecker(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun getModuleDescriptor(sourceFile: VirtualFile) =
|
private fun getModuleDescriptor(sourceFile: VirtualFile) =
|
||||||
getModuleInfoByVirtualFile(project, sourceFile)?.let { resolutionFacade.findModuleDescriptor(it) }
|
getModuleInfoByVirtualFile(
|
||||||
|
project,
|
||||||
|
sourceFile
|
||||||
|
)?.let { resolutionFacade.findModuleDescriptor(it) }
|
||||||
|
|
||||||
private fun KotlinMoveTarget.getContainerDescriptor(): DeclarationDescriptor? {
|
private fun KotlinMoveTarget.getContainerDescriptor(): DeclarationDescriptor? {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ package org.jetbrains.kotlin.idea.caches.resolve
|
|||||||
import com.intellij.psi.JavaPsiFacade
|
import com.intellij.psi.JavaPsiFacade
|
||||||
import com.intellij.psi.PsiElementFactory
|
import com.intellij.psi.PsiElementFactory
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.LibraryInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import com.intellij.testFramework.ModuleTestCase
|
|||||||
import com.intellij.testFramework.PsiTestUtil
|
import com.intellij.testFramework.PsiTestUtil
|
||||||
import com.intellij.testFramework.UsefulTestCase
|
import com.intellij.testFramework.UsefulTestCase
|
||||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
||||||
import org.jetbrains.kotlin.idea.caches.project.getDependentModules
|
import org.jetbrains.kotlin.idea.caches.project.*
|
||||||
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
||||||
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
||||||
import org.jetbrains.kotlin.test.util.addDependency
|
import org.jetbrains.kotlin.test.util.addDependency
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ import org.jetbrains.kotlin.analyzer.ModuleInfo
|
|||||||
import org.jetbrains.kotlin.analyzer.ResolverForModuleComputationTracker
|
import org.jetbrains.kotlin.analyzer.ResolverForModuleComputationTracker
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||||
import org.jetbrains.kotlin.config.LanguageVersion
|
import org.jetbrains.kotlin.config.LanguageVersion
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.SdkInfo
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
||||||
import org.jetbrains.kotlin.idea.completion.test.withServiceRegistered
|
import org.jetbrains.kotlin.idea.completion.test.withServiceRegistered
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacetConfiguration
|
import org.jetbrains.kotlin.idea.facet.KotlinFacetConfiguration
|
||||||
|
|||||||
+3
-3
@@ -27,9 +27,9 @@ import com.intellij.psi.PsiFile
|
|||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.testFramework.ModuleTestCase
|
import com.intellij.testFramework.ModuleTestCase
|
||||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.LibraryInfo
|
import org.jetbrains.kotlin.idea.caches.project.LibraryInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.LibrarySourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.LibrarySourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.decompiler.navigation.NavigationChecker.Companion.checkAnnotatedCode
|
import org.jetbrains.kotlin.idea.decompiler.navigation.NavigationChecker.Companion.checkAnnotatedCode
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||||
import org.jetbrains.kotlin.idea.util.projectStructure.getModuleDir
|
import org.jetbrains.kotlin.idea.util.projectStructure.getModuleDir
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.android.parcel
|
package org.jetbrains.kotlin.android.parcel
|
||||||
|
|
||||||
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsExperimental
|
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsExperimental
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
|
|
||||||
class IDEParcelableCodegenExtension : ParcelableCodegenExtension() {
|
class IDEParcelableCodegenExtension : ParcelableCodegenExtension() {
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.android.parcel
|
package org.jetbrains.kotlin.android.parcel
|
||||||
|
|
||||||
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsExperimental
|
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsExperimental
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
|
|
||||||
class IDEParcelableResolveExtension : ParcelableResolveExtension() {
|
class IDEParcelableResolveExtension : ParcelableResolveExtension() {
|
||||||
|
|||||||
+2
-2
@@ -25,9 +25,9 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement
|
|||||||
import com.intellij.psi.xml.XmlAttribute
|
import com.intellij.psi.xml.XmlAttribute
|
||||||
import org.jetbrains.kotlin.android.synthetic.res.AndroidLayoutXmlFileManager
|
import org.jetbrains.kotlin.android.synthetic.res.AndroidLayoutXmlFileManager
|
||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.android.synthetic.AndroidCommandLineProcessor.Compan
|
|||||||
import org.jetbrains.kotlin.android.synthetic.AndroidCommandLineProcessor.Companion.DEFAULT_CACHE_IMPL_OPTION
|
import org.jetbrains.kotlin.android.synthetic.AndroidCommandLineProcessor.Companion.DEFAULT_CACHE_IMPL_OPTION
|
||||||
import org.jetbrains.kotlin.android.synthetic.AndroidComponentRegistrar.Companion.parseCacheImplementationType
|
import org.jetbrains.kotlin.android.synthetic.AndroidComponentRegistrar.Companion.parseCacheImplementationType
|
||||||
import org.jetbrains.kotlin.compiler.plugin.CliOption
|
import org.jetbrains.kotlin.compiler.plugin.CliOption
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
||||||
|
|
||||||
private val ANNOTATION_OPTION_PREFIX = "plugin:$ANDROID_COMPILER_PLUGIN_ID:"
|
private val ANNOTATION_OPTION_PREFIX = "plugin:$ANDROID_COMPILER_PLUGIN_ID:"
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.android.synthetic.idea
|
|||||||
|
|
||||||
import kotlinx.android.extensions.CacheImplementation
|
import kotlinx.android.extensions.CacheImplementation
|
||||||
import org.jetbrains.kotlin.android.synthetic.codegen.AbstractAndroidExtensionsExpressionCodegenExtension
|
import org.jetbrains.kotlin.android.synthetic.codegen.AbstractAndroidExtensionsExpressionCodegenExtension
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
|
|
||||||
class IDEAndroidExtensionsExpressionCodegenExtension : AbstractAndroidExtensionsExpressionCodegenExtension() {
|
class IDEAndroidExtensionsExpressionCodegenExtension : AbstractAndroidExtensionsExpressionCodegenExtension() {
|
||||||
|
|||||||
+1
-2
@@ -16,9 +16,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.android.synthetic.idea
|
package org.jetbrains.kotlin.android.synthetic.idea
|
||||||
|
|
||||||
import kotlinx.android.extensions.CacheImplementation
|
|
||||||
import org.jetbrains.kotlin.android.synthetic.codegen.AbstractAndroidOnDestroyClassBuilderInterceptorExtension
|
import org.jetbrains.kotlin.android.synthetic.codegen.AbstractAndroidOnDestroyClassBuilderInterceptorExtension
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
|
|
||||||
class IDEAndroidOnDestroyClassBuilderInterceptorExtension : AbstractAndroidOnDestroyClassBuilderInterceptorExtension() {
|
class IDEAndroidOnDestroyClassBuilderInterceptorExtension : AbstractAndroidOnDestroyClassBuilderInterceptorExtension() {
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsEnabled
|
|||||||
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsExperimental
|
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsExperimental
|
||||||
import org.jetbrains.kotlin.android.synthetic.res.AndroidLayoutXmlFileManager
|
import org.jetbrains.kotlin.android.synthetic.res.AndroidLayoutXmlFileManager
|
||||||
import org.jetbrains.kotlin.android.synthetic.res.AndroidPackageFragmentProviderExtension
|
import org.jetbrains.kotlin.android.synthetic.res.AndroidPackageFragmentProviderExtension
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||||
|
|
||||||
class IDEAndroidPackageFragmentProviderExtension(val project: Project) : AndroidPackageFragmentProviderExtension() {
|
class IDEAndroidPackageFragmentProviderExtension(val project: Project) : AndroidPackageFragmentProviderExtension() {
|
||||||
override fun isExperimental(moduleInfo: ModuleInfo?): Boolean {
|
override fun isExperimental(moduleInfo: ModuleInfo?): Boolean {
|
||||||
|
|||||||
+3
-3
@@ -28,9 +28,9 @@ import org.jetbrains.kotlin.container.StorageComponentContainer
|
|||||||
import org.jetbrains.kotlin.container.useInstance
|
import org.jetbrains.kotlin.container.useInstance
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor
|
import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleProductionSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.ModuleProductionSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ScriptDependenciesModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.ScriptDependenciesModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ScriptModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.ScriptModuleInfo
|
||||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||||
import org.jetbrains.kotlin.samWithReceiver.SamWithReceiverCommandLineProcessor.Companion.ANNOTATION_OPTION
|
import org.jetbrains.kotlin.samWithReceiver.SamWithReceiverCommandLineProcessor.Companion.ANNOTATION_OPTION
|
||||||
|
|||||||
@@ -55,6 +55,8 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
|||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||||
|
import org.jetbrains.kotlin.idea.caches.project.moduleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||||
import org.jetbrains.kotlin.idea.completion.BasicLookupElementFactory
|
import org.jetbrains.kotlin.idea.completion.BasicLookupElementFactory
|
||||||
import org.jetbrains.kotlin.idea.completion.InsertHandlerProvider
|
import org.jetbrains.kotlin.idea.completion.InsertHandlerProvider
|
||||||
|
|||||||
Reference in New Issue
Block a user