[Analysis API] move KtResolveExtensionProvider EP registration to common code
so it can be used from standalone mode
This commit is contained in:
committed by
Space Team
parent
b585d7c392
commit
9f2d750f98
+1
-10
@@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.api.impl.base.test.configurators
|
package org.jetbrains.kotlin.analysis.api.impl.base.test.configurators
|
||||||
|
|
||||||
import com.intellij.core.CoreApplicationEnvironment
|
|
||||||
import com.intellij.mock.MockApplication
|
import com.intellij.mock.MockApplication
|
||||||
import com.intellij.mock.MockProject
|
import com.intellij.mock.MockProject
|
||||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
||||||
import org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProviderService
|
import org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProviderService
|
||||||
import org.jetbrains.kotlin.analysis.api.lifetime.KtDefaultLifetimeTokenProvider
|
import org.jetbrains.kotlin.analysis.api.lifetime.KtDefaultLifetimeTokenProvider
|
||||||
import org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementDefaultLifetimeTokenProvider
|
import org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementDefaultLifetimeTokenProvider
|
||||||
import org.jetbrains.kotlin.analysis.api.resolve.extensions.KtResolveExtensionProvider
|
|
||||||
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.StandaloneProjectFactory
|
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.StandaloneProjectFactory
|
||||||
import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInDefinitionFile
|
import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInDefinitionFile
|
||||||
import org.jetbrains.kotlin.analysis.project.structure.KtModuleScopeProvider
|
import org.jetbrains.kotlin.analysis.project.structure.KtModuleScopeProvider
|
||||||
@@ -27,14 +25,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
|
|
||||||
object AnalysisApiBaseTestServiceRegistrar: AnalysisApiTestServiceRegistrar() {
|
object AnalysisApiBaseTestServiceRegistrar: AnalysisApiTestServiceRegistrar() {
|
||||||
override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) {
|
override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) {}
|
||||||
@Suppress("UnstableApiUsage")
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(
|
|
||||||
project.extensionArea,
|
|
||||||
KtResolveExtensionProvider.EP_NAME.name,
|
|
||||||
KtResolveExtensionProvider::class.java
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@OptIn(KtAnalysisApiInternals::class)
|
@OptIn(KtAnalysisApiInternals::class)
|
||||||
override fun registerProjectServices(project: MockProject, testServices: TestServices) {
|
override fun registerProjectServices(project: MockProject, testServices: TestServices) {
|
||||||
|
|||||||
+11
@@ -26,6 +26,7 @@ import com.intellij.psi.search.ProjectScope
|
|||||||
import com.intellij.util.io.URLUtil.JAR_PROTOCOL
|
import com.intellij.util.io.URLUtil.JAR_PROTOCOL
|
||||||
import com.intellij.util.io.URLUtil.JAR_SEPARATOR
|
import com.intellij.util.io.URLUtil.JAR_SEPARATOR
|
||||||
import org.jetbrains.kotlin.analysis.api.impl.base.java.source.JavaElementSourceWithSmartPointerFactory
|
import org.jetbrains.kotlin.analysis.api.impl.base.java.source.JavaElementSourceWithSmartPointerFactory
|
||||||
|
import org.jetbrains.kotlin.analysis.api.resolve.extensions.KtResolveExtensionProvider
|
||||||
import org.jetbrains.kotlin.analysis.project.structure.*
|
import org.jetbrains.kotlin.analysis.project.structure.*
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.*
|
import org.jetbrains.kotlin.cli.jvm.compiler.*
|
||||||
@@ -59,10 +60,20 @@ object StandaloneProjectFactory {
|
|||||||
registerApplicationExtensionPoints(applicationEnvironment, applicationDisposable)
|
registerApplicationExtensionPoints(applicationEnvironment, applicationDisposable)
|
||||||
|
|
||||||
return KotlinCoreProjectEnvironment(projectDisposable, applicationEnvironment).apply {
|
return KotlinCoreProjectEnvironment(projectDisposable, applicationEnvironment).apply {
|
||||||
|
registerProjectServices(project)
|
||||||
registerJavaPsiFacade(project)
|
registerJavaPsiFacade(project)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun registerProjectServices(project: MockProject) {
|
||||||
|
@Suppress("UnstableApiUsage")
|
||||||
|
CoreApplicationEnvironment.registerExtensionPoint(
|
||||||
|
project.extensionArea,
|
||||||
|
KtResolveExtensionProvider.EP_NAME.name,
|
||||||
|
KtResolveExtensionProvider::class.java
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
private fun registerApplicationExtensionPoints(
|
private fun registerApplicationExtensionPoints(
|
||||||
applicationEnvironment: KotlinCoreApplicationEnvironment,
|
applicationEnvironment: KotlinCoreApplicationEnvironment,
|
||||||
applicationDisposable: Disposable,
|
applicationDisposable: Disposable,
|
||||||
|
|||||||
Reference in New Issue
Block a user