diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt index ac94f803d7a..6e323f3b364 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt @@ -85,7 +85,7 @@ class IDELightClassConstructionContext(bindingContext: BindingContext, module: M override fun toString() = "${this.javaClass.simpleName}:$mode" } -object IDELightClassContexts { +internal object IDELightClassContexts { private val LOG = Logger.getInstance(this::class.java) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/MapPsiToAsmDesc.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/MapPsiToAsmDesc.kt index e5a15a300ae..88527646b84 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/MapPsiToAsmDesc.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/MapPsiToAsmDesc.kt @@ -10,7 +10,7 @@ import com.intellij.psi.* import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.Type.* -object MapPsiToAsmDesc { +internal object MapPsiToAsmDesc { fun typeDesc(type: PsiType): String = when (type) { PsiType.VOID -> primitive(VOID_TYPE) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt index 67348a874ab..2c23469f8b3 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt @@ -175,10 +175,12 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService { private fun globalFacade(settings: PlatformAnalysisSettings) = getOrBuildGlobalFacade(settings).facadeForModules - private fun librariesFacade(settings: PlatformAnalysisSettings) = getOrBuildGlobalFacade(settings).facadeForLibraries + private fun librariesFacade(settings: PlatformAnalysisSettings) = + getOrBuildGlobalFacade(settings).facadeForLibraries @Synchronized - private fun getOrBuildGlobalFacade(settings: PlatformAnalysisSettings) = globalFacadesPerPlatformAndSdk[settings] + private fun getOrBuildGlobalFacade(settings: PlatformAnalysisSettings) = + globalFacadesPerPlatformAndSdk[settings] private val IdeaModuleInfo.sdk: Sdk? get() = dependencies().firstIsInstanceOrNull()?.sdk @@ -306,7 +308,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService { object : KotlinSuppressCache() { override fun getSuppressionAnnotations(annotated: KtAnnotated): List { if (annotated.annotationEntries.none { - it.calleeExpression?.text?.endsWith(suppressAnnotationShortName) == true + it.calleeExpression?.text?.endsWith(SUPPRESS_ANNOTATION_SHORT_NAME) == true } ) { // Avoid running resolve heuristics @@ -399,11 +401,13 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService { override fun getResolutionFacadeByModuleInfo(moduleInfo: ModuleInfo, platform: TargetPlatform): ResolutionFacade? = (moduleInfo as? IdeaModuleInfo)?.let { getResolutionFacadeByModuleInfo(it, platform) } - private fun Collection.filterNotInProjectSource(moduleInfo: IdeaModuleInfo) = mapNotNull { - if (it is KtCodeFragment) it.getContextFile() else it - }.filter { - !ProjectRootsUtil.isInProjectSource(it) || !moduleInfo.contentScope().contains(it) - }.toSet() + private fun Collection.filterNotInProjectSource(moduleInfo: IdeaModuleInfo): Set { + return mapNotNull { + if (it is KtCodeFragment) it.getContextFile() else it + }.filter { + !ProjectRootsUtil.isInProjectSource(it) || !moduleInfo.contentScope().contains(it) + }.toSet() + } private fun KtCodeFragment.getContextFile(): KtFile? { val contextElement = context ?: return null @@ -411,5 +415,9 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService { ?: throw AssertionError("Analyzing kotlin code fragment of type ${this::class.java} with java context of type ${contextElement::class.java}") return if (contextFile is KtCodeFragment) contextFile.getContextFile() else contextFile } + + private companion object { + private val SUPPRESS_ANNOTATION_SHORT_NAME = KotlinBuiltIns.FQ_NAMES.suppress.shortName().identifier + } } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleResolutionFacadeImpl.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleResolutionFacadeImpl.kt index 25da91dbadb..1d2972e3064 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleResolutionFacadeImpl.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleResolutionFacadeImpl.kt @@ -87,7 +87,7 @@ internal class ModuleResolutionFacadeImpl( return projectFacade.resolverForElement(element).componentProvider.tryGetService(serviceClass) } - fun getFrontendService(ideaModuleInfo: IdeaModuleInfo, serviceClass: Class): T { + private fun getFrontendService(ideaModuleInfo: IdeaModuleInfo, serviceClass: Class): T { return projectFacade.resolverForModuleInfo(ideaModuleInfo).componentProvider.getService(serviceClass) } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt index b72754bf9fe..1eebd68c5e5 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt @@ -152,22 +152,22 @@ internal class ProjectResolutionFacade( return resolverForProject } - fun resolverForModuleInfo(moduleInfo: IdeaModuleInfo) = cachedResolverForProject.resolverForModule(moduleInfo) + internal fun resolverForModuleInfo(moduleInfo: IdeaModuleInfo) = cachedResolverForProject.resolverForModule(moduleInfo) - fun resolverForElement(element: PsiElement): ResolverForModule { + internal fun resolverForElement(element: PsiElement): ResolverForModule { val infos = element.getModuleInfos() return infos.asIterable().firstNotNullResult { cachedResolverForProject.tryGetResolverForModule(it) } ?: cachedResolverForProject.tryGetResolverForModule(NotUnderContentRootModuleInfo) ?: cachedResolverForProject.diagnoseUnknownModuleInfo(infos.toList()) } - fun resolverForDescriptor(moduleDescriptor: ModuleDescriptor) = cachedResolverForProject.resolverForModuleDescriptor(moduleDescriptor) + internal fun resolverForDescriptor(moduleDescriptor: ModuleDescriptor) = cachedResolverForProject.resolverForModuleDescriptor(moduleDescriptor) - fun findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo): ModuleDescriptor { + internal fun findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo): ModuleDescriptor { return cachedResolverForProject.descriptorForModule(ideaModuleInfo) } - fun getAnalysisResultsForElements(elements: Collection): AnalysisResult { + internal fun getAnalysisResultsForElements(elements: Collection): AnalysisResult { assert(elements.isNotEmpty()) { "elements collection should not be empty" } val slruCache = synchronized(analysisResults) { analysisResults.value!! @@ -192,7 +192,7 @@ internal class ProjectResolutionFacade( return "$debugString@${Integer.toHexString(hashCode())}" } - companion object { + private companion object { private fun createBuiltIns(settings: PlatformAnalysisSettings, sdkContext: GlobalContextImpl): KotlinBuiltIns { val supportInstance = IdePlatformSupport.platformSupport[settings.platform] ?: return DefaultBuiltIns.Instance return supportInstance.createBuiltIns(settings, sdkContext)