1818package com.google.devtools.ksp
1919
2020import com.google.devtools.ksp.processing.impl.MessageCollectorBasedKSPLogger
21- import com.intellij.core.CoreApplicationEnvironment
22- import com.intellij.mock.MockProject
23- import com.intellij.psi.PsiTreeChangeAdapter
24- import com.intellij.psi.PsiTreeChangeListener
2521import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
2622import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot
2723import org.jetbrains.kotlin.compiler.plugin.AbstractCliOption
2824import org.jetbrains.kotlin.compiler.plugin.CliOptionProcessingException
2925import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
30- import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
26+ import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
3127import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
3228import org.jetbrains.kotlin.config.CommonConfigurationKeys
3329import org.jetbrains.kotlin.config.CompilerConfiguration
@@ -63,8 +59,10 @@ class KotlinSymbolProcessingCommandLineProcessor : CommandLineProcessor {
6359// https://github.com/tschuchortdev/kotlin-compile-testing
6460@Suppress(" DEPRECATION" )
6561@ExperimentalCompilerApi
66- class KotlinSymbolProcessingComponentRegistrar : ComponentRegistrar {
67- override fun registerProjectComponents (project : MockProject , configuration : CompilerConfiguration ) {
62+ class KotlinSymbolProcessingComponentRegistrar : CompilerPluginRegistrar () {
63+ override val pluginId: String = " com.google.devtools.ksp.symbol-processing"
64+
65+ override fun ExtensionStorage.registerExtensions (configuration : CompilerConfiguration ) {
6866 // KSP 1.x don't and will not support K2. Do not register if language version >= 2.
6967 if (configuration.languageVersionSettings.languageVersion >= LanguageVersion .KOTLIN_2_0 )
7068 return
@@ -87,13 +85,8 @@ class KotlinSymbolProcessingComponentRegistrar : ComponentRegistrar {
8785 throw IllegalStateException (" ksp: `incremental` is incompatible with `withCompilation`." )
8886 }
8987 val kotlinSymbolProcessingHandlerExtension = KotlinSymbolProcessingExtension (options, logger)
90- AnalysisHandlerExtension .registerExtension(project, kotlinSymbolProcessingHandlerExtension)
88+ AnalysisHandlerExtension .registerExtension(kotlinSymbolProcessingHandlerExtension)
9189 configuration.put(CommonConfigurationKeys .LOOKUP_TRACKER , DualLookupTracker ())
92-
93- // Dummy extension point; Required by dropPsiCaches().
94- CoreApplicationEnvironment .registerExtensionPoint(
95- project.extensionArea, PsiTreeChangeListener .EP .name, PsiTreeChangeAdapter ::class .java
96- )
9790 }
9891 }
9992
0 commit comments