AA: register CoreJavaFileManager
in a similar way KotlinCoreEnvironment.ProjectEnvironment.registerJavaPsiFacade does
This commit is contained in:
committed by
Ilya Kirillov
parent
af053fd8f3
commit
c1b2469e51
-3
@@ -5,10 +5,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.api.fe10.test.configurator
|
package org.jetbrains.kotlin.analysis.api.fe10.test.configurator
|
||||||
|
|
||||||
import com.intellij.core.CoreJavaFileManager
|
|
||||||
import com.intellij.mock.MockApplication
|
import com.intellij.mock.MockApplication
|
||||||
import com.intellij.mock.MockProject
|
import com.intellij.mock.MockProject
|
||||||
import com.intellij.psi.impl.file.impl.JavaFileManager
|
|
||||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
||||||
import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider
|
import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider
|
||||||
import org.jetbrains.kotlin.analysis.api.descriptors.CliFe10AnalysisFacade
|
import org.jetbrains.kotlin.analysis.api.descriptors.CliFe10AnalysisFacade
|
||||||
@@ -36,7 +34,6 @@ object AnalysisApiFe10TestServiceRegistrar : AnalysisApiTestServiceRegistrar() {
|
|||||||
registerService(KtAnalysisSessionProvider::class.java, KtFe10AnalysisSessionProvider(project))
|
registerService(KtAnalysisSessionProvider::class.java, KtFe10AnalysisSessionProvider(project))
|
||||||
registerService(Fe10AnalysisFacade::class.java, CliFe10AnalysisFacade(project))
|
registerService(Fe10AnalysisFacade::class.java, CliFe10AnalysisFacade(project))
|
||||||
registerService(ModuleVisibilityManager::class.java, CliModuleVisibilityManagerImpl(enabled = true))
|
registerService(ModuleVisibilityManager::class.java, CliModuleVisibilityManagerImpl(enabled = true))
|
||||||
registerService(CoreJavaFileManager::class.java, project.getService(JavaFileManager::class.java) as CoreJavaFileManager)
|
|
||||||
|
|
||||||
registerService(SymbolLightClassFacadeCache::class.java)
|
registerService(SymbolLightClassFacadeCache::class.java)
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-7
@@ -7,8 +7,10 @@ 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.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.psi.PsiDirectory
|
import com.intellij.psi.PsiDirectory
|
||||||
import com.intellij.psi.PsiFileSystemItem
|
import com.intellij.psi.PsiFileSystemItem
|
||||||
import com.intellij.psi.PsiJavaFile
|
import com.intellij.psi.PsiJavaFile
|
||||||
@@ -43,7 +45,21 @@ object StandaloneProjectFactory {
|
|||||||
val applicationEnvironment =
|
val applicationEnvironment =
|
||||||
KotlinCoreEnvironment.getOrCreateApplicationEnvironmentForTests(applicationDisposable, compilerConfiguration)
|
KotlinCoreEnvironment.getOrCreateApplicationEnvironmentForTests(applicationDisposable, compilerConfiguration)
|
||||||
|
|
||||||
return KotlinCoreProjectEnvironment(projectDisposable, applicationEnvironment)
|
return KotlinCoreProjectEnvironment(projectDisposable, applicationEnvironment).apply {
|
||||||
|
registerJavaPsiFacade(project)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun registerJavaPsiFacade(project: MockProject) {
|
||||||
|
with(project) {
|
||||||
|
registerService(
|
||||||
|
CoreJavaFileManager::class.java,
|
||||||
|
ServiceManager.getService(this, JavaFileManager::class.java) as CoreJavaFileManager
|
||||||
|
)
|
||||||
|
|
||||||
|
registerService(ExternalAnnotationsManager::class.java, MockExternalAnnotationsManager())
|
||||||
|
registerService(InferredAnnotationsManager::class.java, MockInferredAnnotationsManager())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun registerServicesForProjectEnvironment(
|
fun registerServicesForProjectEnvironment(
|
||||||
@@ -61,16 +77,10 @@ object StandaloneProjectFactory {
|
|||||||
|
|
||||||
project.registerService(ProjectStructureProvider::class.java, projectStructureProvider)
|
project.registerService(ProjectStructureProvider::class.java, projectStructureProvider)
|
||||||
initialiseVirtualFileFinderServices(environment, modules, sourceFiles, languageVersionSettings, jdkHome)
|
initialiseVirtualFileFinderServices(environment, modules, sourceFiles, languageVersionSettings, jdkHome)
|
||||||
initialiseAnnotationServices(project)
|
|
||||||
|
|
||||||
project.setupHighestLanguageLevel()
|
project.setupHighestLanguageLevel()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initialiseAnnotationServices(project: MockProject) {
|
|
||||||
project.registerService(ExternalAnnotationsManager::class.java, MockExternalAnnotationsManager())
|
|
||||||
project.registerService(InferredAnnotationsManager::class.java, MockInferredAnnotationsManager())
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun initialiseVirtualFileFinderServices(
|
private fun initialiseVirtualFileFinderServices(
|
||||||
environment: KotlinCoreProjectEnvironment,
|
environment: KotlinCoreProjectEnvironment,
|
||||||
modules: List<KtModule>,
|
modules: List<KtModule>,
|
||||||
|
|||||||
Reference in New Issue
Block a user