Use ModuleInfo in VirtualFileFinder to add script dependencies in search scope

Otherwise it prevent to inline functions from those dependencies during scratch compilation
This commit is contained in:
Natalia Selezneva
2018-12-05 09:37:18 +03:00
parent f3c828a17d
commit 254374c619
7 changed files with 40 additions and 3 deletions
@@ -19,6 +19,8 @@ package org.jetbrains.kotlin.load.kotlin
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.load.java.structure.JavaClass
import org.jetbrains.kotlin.load.java.structure.impl.VirtualFileBoundJavaClass
import org.jetbrains.kotlin.name.ClassId
@@ -51,7 +53,11 @@ abstract class VirtualFileFinder : KotlinClassFinder {
}
companion object SERVICE {
fun getInstance(project: Project, module: ModuleDescriptor): VirtualFileFinder =
VirtualFileFinderFactory.getInstance(project).create(project, module)
@TestOnly
fun getInstance(project: Project): VirtualFileFinder =
VirtualFileFinderFactory.getInstance(project).create(GlobalSearchScope.allScope(project))
VirtualFileFinderFactory.getInstance(project).create(GlobalSearchScope.allScope(project))
}
}
@@ -19,9 +19,11 @@ package org.jetbrains.kotlin.load.kotlin
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
interface VirtualFileFinderFactory : MetadataFinderFactory {
override fun create(scope: GlobalSearchScope): VirtualFileFinder
override fun create(project: Project, module: ModuleDescriptor): VirtualFileFinder
companion object SERVICE {
fun getInstance(project: Project): VirtualFileFinderFactory =