AA: populate SingleJavaFileRootsIndex properly
This commit is contained in:
committed by
Ilya Kirillov
parent
9ba6cf47ea
commit
abdc2cf85e
+7
-3
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.api.standalone.base.project.structure
|
|||||||
import com.intellij.codeInsight.ExternalAnnotationsManager
|
import com.intellij.codeInsight.ExternalAnnotationsManager
|
||||||
import com.intellij.codeInsight.InferredAnnotationsManager
|
import com.intellij.codeInsight.InferredAnnotationsManager
|
||||||
import com.intellij.core.CoreJavaFileManager
|
import com.intellij.core.CoreJavaFileManager
|
||||||
|
import com.intellij.ide.highlighter.JavaFileType
|
||||||
import com.intellij.mock.MockProject
|
import com.intellij.mock.MockProject
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import com.intellij.openapi.components.ServiceManager
|
import com.intellij.openapi.components.ServiceManager
|
||||||
@@ -100,16 +101,19 @@ object StandaloneProjectFactory {
|
|||||||
addAll(allSourceFileRoots)
|
addAll(allSourceFileRoots)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val (roots, singleJavaFileRoots) =
|
||||||
|
sourceAndLibraryRoots.partition { (file) -> file.isDirectory || file.extension != JavaFileType.DEFAULT_EXTENSION }
|
||||||
|
|
||||||
val javaFileManager = project.getService(JavaFileManager::class.java) as KotlinCliJavaFileManagerImpl
|
val javaFileManager = project.getService(JavaFileManager::class.java) as KotlinCliJavaFileManagerImpl
|
||||||
val javaModuleFinder = CliJavaModuleFinder(jdkHome?.toFile(), null, javaFileManager, project, null)
|
val javaModuleFinder = CliJavaModuleFinder(jdkHome?.toFile(), null, javaFileManager, project, null)
|
||||||
|
|
||||||
javaFileManager.initialize(
|
javaFileManager.initialize(
|
||||||
JvmDependenciesIndexImpl(sourceAndLibraryRoots),
|
JvmDependenciesIndexImpl(roots),
|
||||||
listOf(
|
listOf(
|
||||||
createPackagePartsProvider(project, libraryRoots, languageVersionSettings)
|
createPackagePartsProvider(project, libraryRoots, languageVersionSettings)
|
||||||
.invoke(ProjectScope.getLibrariesScope(project))
|
.invoke(ProjectScope.getLibrariesScope(project))
|
||||||
),
|
),
|
||||||
SingleJavaFileRootsIndex(emptyList()),
|
SingleJavaFileRootsIndex(singleJavaFileRoots),
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -118,7 +122,7 @@ object StandaloneProjectFactory {
|
|||||||
CliJavaModuleResolver(JavaModuleGraph(javaModuleFinder), emptyList(), javaModuleFinder.systemModules.toList(), project)
|
CliJavaModuleResolver(JavaModuleGraph(javaModuleFinder), emptyList(), javaModuleFinder.systemModules.toList(), project)
|
||||||
)
|
)
|
||||||
|
|
||||||
val finderFactory = CliVirtualFileFinderFactory(JvmDependenciesIndexImpl(sourceAndLibraryRoots), false)
|
val finderFactory = CliVirtualFileFinderFactory(JvmDependenciesIndexImpl(roots), false)
|
||||||
|
|
||||||
project.registerService(MetadataFinderFactory::class.java, finderFactory)
|
project.registerService(MetadataFinderFactory::class.java, finderFactory)
|
||||||
project.registerService(VirtualFileFinderFactory::class.java, finderFactory)
|
project.registerService(VirtualFileFinderFactory::class.java, finderFactory)
|
||||||
|
|||||||
Reference in New Issue
Block a user