Simplify VirtualFileFinder and their factories' hierarchy
Since there's no JsVirtualFileFinder anymore, inline JvmVirtualFileFinder into VirtualFileFinder and drop "Jvm" prefix everywhere
This commit is contained in:
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolver
|
||||
import org.jetbrains.kotlin.load.java.sam.SamConversionResolverImpl
|
||||
import org.jetbrains.kotlin.load.java.sam.SamWithReceiverResolver
|
||||
import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava
|
||||
import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinderFactory
|
||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
|
||||
import org.jetbrains.kotlin.platform.JvmBuiltIns
|
||||
import org.jetbrains.kotlin.resolve.*
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
|
||||
@@ -60,7 +60,7 @@ private fun StorageComponentContainer.configureJavaTopDownAnalysis(
|
||||
useImpl<JavaDescriptorResolver>()
|
||||
useImpl<DeserializationComponentsForJava>()
|
||||
|
||||
useInstance(JvmVirtualFileFinderFactory.SERVICE.getInstance(project).create(moduleContentScope))
|
||||
useInstance(VirtualFileFinderFactory.getInstance(project).create(moduleContentScope))
|
||||
|
||||
useImpl<FileScopeProviderImpl>()
|
||||
|
||||
|
||||
+7
-6
@@ -16,15 +16,16 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.kotlin
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
|
||||
interface JvmVirtualFileFinderFactory : VirtualFileFinderFactory, MetadataFinderFactory {
|
||||
override fun create(scope: GlobalSearchScope): JvmVirtualFileFinder
|
||||
interface VirtualFileFinder : KotlinClassFinder {
|
||||
fun findVirtualFileWithHeader(classId: ClassId): VirtualFile?
|
||||
|
||||
object SERVICE {
|
||||
@JvmStatic fun getInstance(project: Project): JvmVirtualFileFinderFactory =
|
||||
ServiceManager.getService(project, JvmVirtualFileFinderFactory::class.java)
|
||||
companion object SERVICE {
|
||||
fun getInstance(project: Project): VirtualFileFinder =
|
||||
VirtualFileFinderFactory.getInstance(project).create(GlobalSearchScope.allScope(project))
|
||||
}
|
||||
}
|
||||
+6
-4
@@ -20,9 +20,11 @@ import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
|
||||
interface JvmVirtualFileFinder : VirtualFileFinder, KotlinClassFinder {
|
||||
object SERVICE {
|
||||
@JvmStatic fun getInstance(project: Project): JvmVirtualFileFinder =
|
||||
ServiceManager.getService(project, JvmVirtualFileFinderFactory::class.java).create(GlobalSearchScope.allScope(project))
|
||||
interface VirtualFileFinderFactory : MetadataFinderFactory {
|
||||
override fun create(scope: GlobalSearchScope): VirtualFileFinder
|
||||
|
||||
companion object SERVICE {
|
||||
fun getInstance(project: Project): VirtualFileFinderFactory =
|
||||
ServiceManager.getService(project, VirtualFileFinderFactory::class.java)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.load.java.structure.impl.JavaClassImpl
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.utils.sure
|
||||
|
||||
abstract class VirtualFileKotlinClassFinder : JvmVirtualFileFinder {
|
||||
abstract class VirtualFileKotlinClassFinder : VirtualFileFinder {
|
||||
override fun findKotlinClass(classId: ClassId): KotlinJvmBinaryClass? {
|
||||
val file = findVirtualFileWithHeader(classId) ?: return null
|
||||
return KotlinBinaryClassCache.getKotlinBinaryClass(file)
|
||||
|
||||
Reference in New Issue
Block a user