@@ -95,6 +95,8 @@ import org.jetbrains.kotlin.script.ScriptHelperImpl
9595import com.intellij.lang.jvm.facade.JvmElementProvider
9696import org.jetbrains.kotlin.resolve.ModuleAnnotationsResolver
9797import org.jetbrains.kotlin.cli.jvm.compiler.CliModuleAnnotationsResolver
98+ import org.jetbrains.kotlin.cli.jvm.compiler.CliTraceHolder
99+ import org.jetbrains.kotlin.cli.jvm.compiler.CliKotlinAsJavaSupport
98100
99101private fun setIdeaIoUseFallback () {
100102 if (SystemInfo .isWindows) {
@@ -160,15 +162,19 @@ abstract class KotlinCommonEnvironment(disposable: Disposable) {
160162 registerService(ExternalAnnotationsManager ::class .java, MockExternalAnnotationsManager ())
161163 registerService(InferredAnnotationsManager ::class .java, MockInferredAnnotationsManager ())
162164
163- val cliLightClassGenerationSupport = CliLightClassGenerationSupport (project)
164- registerService(LightClassGenerationSupport ::class .java, cliLightClassGenerationSupport)
165- registerService(CliLightClassGenerationSupport ::class .java, cliLightClassGenerationSupport)
166- registerService(CodeAnalyzerInitializer ::class .java, cliLightClassGenerationSupport)
165+ val traceHolder = CliTraceHolder ().also {
166+ registerService(CodeAnalyzerInitializer ::class .java, it)
167+ }
168+
169+ CliLightClassGenerationSupport (traceHolder).also {
170+ registerService(LightClassGenerationSupport ::class .java, it)
171+ registerService(CliLightClassGenerationSupport ::class .java, it)
172+ }
167173
168174 registerService(JavaModuleResolver ::class .java, EclipseKotlinJavaModuleResolver ())
169175
170176 val area = Extensions .getArea(this )
171- area.getExtensionPoint(PsiElementFinder .EP_NAME ).registerExtension(JavaElementFinder (this , cliLightClassGenerationSupport ))
177+ area.getExtensionPoint(PsiElementFinder .EP_NAME ).registerExtension(JavaElementFinder (this , CliKotlinAsJavaSupport (project, traceHolder) ))
172178 area.getExtensionPoint(PsiElementFinder .EP_NAME ).registerExtension(
173179 PsiElementFinderImpl (this , ServiceManager .getService(this , JavaFileManager ::class .java)))
174180 }
0 commit comments