Revert "UPDATE_KOTLIN_VERSION: 2.2.0-dev-745 (#2332)"

This reverts commit 0ff31b17b116420a4d14e274cd6616c6aeef75a4.
diff --git a/compiler-plugin/build.gradle.kts b/compiler-plugin/build.gradle.kts
index 31ebf48..c228a10 100644
--- a/compiler-plugin/build.gradle.kts
+++ b/compiler-plugin/build.gradle.kts
@@ -66,7 +66,6 @@
     testRuntimeOnly("org.junit.platform:junit-platform-suite:$junitPlatformVersion")
     testImplementation("org.jetbrains.kotlin:kotlin-compiler:$kotlinBaseVersion")
     testImplementation("org.jetbrains.kotlin:kotlin-compiler-internal-test-framework:$kotlinBaseVersion")
-    testImplementation("org.jetbrains.kotlin:analysis-api-test-framework:$kotlinBaseVersion")
     testImplementation(project(":test-utils"))
 
     libsForTesting(kotlin("stdlib", kotlinBaseVersion))
diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt
index a0888f7..2c044d6 100644
--- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt
+++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt
@@ -46,8 +46,6 @@
 import com.google.devtools.ksp.symbol.impl.java.KSFileJavaImpl
 import com.google.devtools.ksp.symbol.impl.kotlin.KSFileImpl
 import com.intellij.openapi.Disposable
-import com.intellij.openapi.application.ApplicationManager
-import com.intellij.openapi.application.runWriteAction
 import com.intellij.openapi.project.Project
 import com.intellij.openapi.util.Disposer
 import com.intellij.openapi.vfs.StandardFileSystems
@@ -55,7 +53,6 @@
 import com.intellij.psi.PsiJavaFile
 import com.intellij.psi.PsiManager
 import com.intellij.psi.impl.file.impl.JavaFileManager
-import com.intellij.util.ui.EDT
 import org.jetbrains.kotlin.analyzer.AnalysisResult
 import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
 import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCliJavaFileManagerImpl
@@ -167,10 +164,8 @@
         logger.logging("round $rounds of processing")
         val psiManager = PsiManager.getInstance(project)
         if (initialized) {
-            maybeRunInWriteAction {
-                psiManager.dropPsiCaches()
-                psiManager.dropResolveCaches()
-            }
+            psiManager.dropPsiCaches()
+            psiManager.dropResolveCaches()
             invalidateKotlinCliJavaFileManagerCache(project)
         } else {
             // In case of broken builds.
@@ -534,20 +529,3 @@
     (privateCacheField.get(javaFileManager) as? MutableMap<*, *>)?.clear() ?: return false
     return true
 }
-
-private fun <R> maybeRunInWriteAction(f: () -> R) {
-    synchronized(EDT::class.java) {
-        if (!EDT.isCurrentThreadEdt()) {
-            val edt = EDT::class.java.getDeclaredField("myEventDispatchThread")
-            edt.isAccessible = true
-            edt.set(null, Thread.currentThread())
-        }
-        if (ApplicationManager.getApplication() != null) {
-            runWriteAction {
-                f()
-            }
-        } else {
-            f()
-        }
-    }
-}
diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt
index 6c18966..e3d97fe 100644
--- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt
+++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt
@@ -103,7 +103,6 @@
             CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM
             SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM
             PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE
-            ALL -> null
         }
     }
 
diff --git a/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt b/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt
index 7faa9cc..78a3fff 100644
--- a/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt
+++ b/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt
@@ -22,9 +22,6 @@
 import com.intellij.openapi.project.Project
 import com.intellij.openapi.util.Disposer
 import com.intellij.testFramework.TestDataFile
-import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformDirectives
-import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformProviderForAnalysisApiTests
-import org.jetbrains.kotlin.cli.common.disposeRootInWriteAction
 import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
 import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
 import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
@@ -61,13 +58,13 @@
     protected val disposable: Disposable get() = _disposable!!
 
     @BeforeEach
-    fun initDisposable(testInfo: TestInfo) {
+    private fun initDisposable(testInfo: TestInfo) {
         _disposable = Disposer.newDisposable("disposable for ${testInfo.displayName}")
     }
 
     @AfterEach
-    fun disposeDisposable() {
-        _disposable?.let { disposeRootInWriteAction(it) }
+    private fun disposeDisposable() {
+        _disposable?.let { Disposer.dispose(it) }
         _disposable = null
     }
 }
@@ -124,11 +121,9 @@
         useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
         useAdditionalService<ApplicationDisposableProvider> { ExecutionListenerBasedDisposableProvider() }
         useAdditionalService<KotlinStandardLibrariesPathProvider> { StandardLibrariesPathProviderForKotlinProject }
-        useAdditionalService<TargetPlatformProvider>(::TargetPlatformProviderForAnalysisApiTests)
 
         useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray())
         useDirectives(JvmEnvironmentConfigurationDirectives)
-        useDirectives(TargetPlatformDirectives)
 
         defaultDirectives {
             +JvmEnvironmentConfigurationDirectives.FULL_JDK
@@ -168,7 +163,7 @@
     open fun compileModule(module: TestModule, testServices: TestServices) {
         val javaFiles = module.writeJavaFiles()
         val compilerConfiguration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module)
-        val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) }
+        val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) }
         compilerConfiguration.addJvmClasspathRoots(dependencies)
         compilerConfiguration.addJavaSourceRoot(module.javaDir)
 
@@ -201,8 +196,8 @@
             path,
             testConfiguration.directives,
         )
-        val dependencyProvider = ArtifactsProvider(testServices, moduleStructure.modules)
-        testServices.registerArtifactsProvider(dependencyProvider)
+        val dependencyProvider = DependencyProviderImpl(testServices, moduleStructure.modules)
+        testServices.registerDependencyProvider(dependencyProvider)
         testServices.register(TestModuleStructure::class, moduleStructure)
 
         val mainModule = moduleStructure.modules.last()
diff --git a/gradle.properties b/gradle.properties
index 0017c6d..231e0ab 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,19 +1,19 @@
 # Copied from kotlinc
 org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx4096m -Dfile.encoding=UTF-8
 
-kotlinBaseVersion=2.2.0-dev-745
+kotlinBaseVersion=2.1.20-dev-8066
 agpBaseVersion=8.10.0-alpha03
-intellijVersion=241.19416.19
+intellijVersion=233.13135.128
 junitVersion=4.13.1
 junit5Version=5.8.2
 junitPlatformVersion=1.8.2
 googleTruthVersion=1.1
 
-aaKotlinBaseVersion=2.2.0-dev-745
-aaIntellijVersion=241.19416.19
+aaKotlinBaseVersion=2.1.20-dev-8066
+aaIntellijVersion=233.13135.128
 aaGuavaVersion=33.2.0-jre
 aaAsmVersion=9.0
-aaFastutilVersion=8.5.13-jb4
+aaFastutilVersion=8.5.11-18
 aaStax2Version=4.2.1
 aaAaltoXmlVersion=1.3.0
 aaStreamexVersion=0.7.2
diff --git a/kotlin-analysis-api/build.gradle.kts b/kotlin-analysis-api/build.gradle.kts
index 8ad09f0..8bd660f 100644
--- a/kotlin-analysis-api/build.gradle.kts
+++ b/kotlin-analysis-api/build.gradle.kts
@@ -49,7 +49,6 @@
         "com.jetbrains.intellij.platform:core-impl",
         "com.jetbrains.intellij.platform:extensions",
         "com.jetbrains.intellij.platform:diagnostic",
-        "com.jetbrains.intellij.platform:diagnostic-telemetry",
         "com.jetbrains.intellij.java:java-frontback-psi",
         "com.jetbrains.intellij.java:java-frontback-psi-impl",
         "com.jetbrains.intellij.java:java-psi",
@@ -103,8 +102,6 @@
     }
     implementation("org.jetbrains:annotations:24.1.0")
 
-    implementation("io.opentelemetry:opentelemetry-api:1.34.1") { isTransitive = false }
-
     compileOnly(project(":common-deps"))
 
     implementation(project(":api"))
@@ -120,7 +117,6 @@
     testImplementation("org.jetbrains.kotlin:kotlin-compiler-internal-test-framework:$aaKotlinBaseVersion")
     testImplementation(project(":common-deps"))
     testImplementation(project(":test-utils"))
-    testImplementation("org.jetbrains.kotlin:analysis-api-test-framework:$aaKotlinBaseVersion")
 
     libsForTesting(kotlin("stdlib", aaKotlinBaseVersion))
     libsForTesting(kotlin("test", aaKotlinBaseVersion))
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt
index f3e6715..71d6579 100644
--- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt
+++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt
@@ -44,8 +44,6 @@
 import com.intellij.core.CoreApplicationEnvironment
 import com.intellij.mock.MockProject
 import com.intellij.openapi.Disposable
-import com.intellij.openapi.application.ApplicationManager
-import com.intellij.openapi.application.runWriteAction
 import com.intellij.openapi.project.Project
 import com.intellij.openapi.util.Disposer
 import com.intellij.openapi.vfs.StandardFileSystems
@@ -55,7 +53,6 @@
 import com.intellij.psi.PsiTreeChangeAdapter
 import com.intellij.psi.PsiTreeChangeListener
 import com.intellij.psi.search.GlobalSearchScope
-import com.intellij.util.ui.EDT
 import org.jetbrains.kotlin.analysis.api.KaExperimentalApi
 import org.jetbrains.kotlin.analysis.api.KaImplementationDetail
 import org.jetbrains.kotlin.analysis.api.platform.KotlinMessageBusProvider
@@ -542,14 +539,12 @@
             }
 
             fun dropCaches() {
-                maybeRunInWriteAction {
-                    KotlinGlobalModificationService.getInstance(project).publishGlobalSourceModuleStateModification()
-                    KaSessionProvider.getInstance(project).clearCaches()
-                    psiManager.dropResolveCaches()
-                    psiManager.dropPsiCaches()
+                KotlinGlobalModificationService.getInstance(project).publishGlobalSourceModuleStateModification()
+                KaSessionProvider.getInstance(project).clearCaches()
+                psiManager.dropResolveCaches()
+                psiManager.dropPsiCaches()
 
-                    KSObjectCacheManager.clear()
-                }
+                KSObjectCacheManager.clear()
             }
 
             var rounds = 0
@@ -628,9 +623,7 @@
             dropCaches()
             codeGenerator.closeFiles()
         } finally {
-            maybeRunInWriteAction {
-                Disposer.dispose(projectDisposable)
-            }
+            Disposer.dispose(projectDisposable)
         }
 
         return if (logger.hasError) ExitCode.PROCESSING_ERROR else ExitCode.OK
@@ -675,8 +668,6 @@
 @Suppress("unused")
 @OptIn(KaImplementationDetail::class)
 internal val DEAR_SHADOW_JAR_PLEASE_DO_NOT_REMOVE_THESE = listOf(
-    it.unimi.dsi.fastutil.objects.Object2ObjectOpenCustomHashMap::class.java,
-    it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap::class.java,
     org.jetbrains.kotlin.analysis.api.impl.base.java.source.JavaElementSourceWithSmartPointerFactory::class.java,
     org.jetbrains.kotlin.analysis.api.impl.base.projectStructure.KaBaseModuleProvider::class.java,
     org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProviderService::class.java,
@@ -686,7 +677,7 @@
     org.jetbrains.kotlin.analysis.api.standalone.base.declarations.KotlinStandaloneFirDirectInheritorsProvider::class.java,
     org.jetbrains.kotlin.analysis.low.level.api.fir.services.LLRealFirElementByPsiElementChooser::class.java,
     org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionInvalidationService::class.java,
-    org.jetbrains.kotlin.analysis.low.level.api.fir.symbolProviders.factories.LLStubOriginLibrarySymbolProviderFactory::class.java,
+    org.jetbrains.kotlin.analysis.low.level.api.fir.stubBased.deserialization.LLStubBasedLibrarySymbolProviderFactory::class.java,
     org.jetbrains.kotlin.analysis.api.impl.base.permissions.KaBaseAnalysisPermissionChecker::class.java,
     org.jetbrains.kotlin.analysis.api.impl.base.permissions.KaBaseAnalysisPermissionRegistry::class.java,
     org.jetbrains.kotlin.analysis.api.impl.base.symbols.pointers.KaBasePsiSymbolPointerCreator::class.java,
@@ -707,8 +698,6 @@
     com.intellij.diagnostic.ActivityCategory::class.java,
     com.intellij.openapi.application.JetBrainsProtocolHandler::class.java,
     com.intellij.openapi.editor.impl.EditorDocumentPriorities::class.java,
-    com.intellij.platform.diagnostic.telemetry.TelemetryManager::class.java,
-    com.intellij.psi.impl.PsiSubstitutorImpl::class.java,
     com.intellij.psi.tree.ChildRoleBase::class.java,
     com.intellij.util.xmlb.Constants::class.java,
     com.intellij.xml.CommonXmlStrings::class.java,
@@ -736,17 +725,3 @@
             else -> UnknownPlatformInfoImpl(platform.toString())
         }
     }
-
-private fun <R> maybeRunInWriteAction(f: () -> R) {
-    synchronized(EDT::class.java) {
-        if (!EDT.isCurrentThreadEdt())
-            EDT.updateEdt()
-        if (ApplicationManager.getApplication() != null) {
-            runWriteAction {
-                f()
-            }
-        } else {
-            f()
-        }
-    }
-}
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt
index 4cc2589..a8e0e05 100644
--- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt
+++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt
@@ -137,8 +137,6 @@
             CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM
             SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM
             PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE
-            // FIXME
-            ALL -> null
         }
     }
 
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt
index 1de7c04..b2268c0 100644
--- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt
+++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt
@@ -132,8 +132,6 @@
             CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM
             SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM
             PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE
-            // FIXME:
-            ALL -> null
         }
     }
 
diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt
index c4aee07..bf702b5 100644
--- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt
+++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt
@@ -91,7 +91,7 @@
     override fun compileModule(module: TestModule, testServices: TestServices) {
         module.writeKtFiles()
         val javaFiles = module.writeJavaFiles()
-        val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) }
+        val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) }
         compileKotlin(dependencies, module.kotlinSrc.path, module.javaDir.path, module.outDir, module.name)
         val classpath = (dependencies + KtTestUtil.getAnnotationsJar() + module.outDir)
             .joinToString(File.pathSeparator) { it.absolutePath }
diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt
index 7faa9cc..78a3fff 100644
--- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt
+++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt
@@ -22,9 +22,6 @@
 import com.intellij.openapi.project.Project
 import com.intellij.openapi.util.Disposer
 import com.intellij.testFramework.TestDataFile
-import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformDirectives
-import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformProviderForAnalysisApiTests
-import org.jetbrains.kotlin.cli.common.disposeRootInWriteAction
 import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
 import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
 import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
@@ -61,13 +58,13 @@
     protected val disposable: Disposable get() = _disposable!!
 
     @BeforeEach
-    fun initDisposable(testInfo: TestInfo) {
+    private fun initDisposable(testInfo: TestInfo) {
         _disposable = Disposer.newDisposable("disposable for ${testInfo.displayName}")
     }
 
     @AfterEach
-    fun disposeDisposable() {
-        _disposable?.let { disposeRootInWriteAction(it) }
+    private fun disposeDisposable() {
+        _disposable?.let { Disposer.dispose(it) }
         _disposable = null
     }
 }
@@ -124,11 +121,9 @@
         useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
         useAdditionalService<ApplicationDisposableProvider> { ExecutionListenerBasedDisposableProvider() }
         useAdditionalService<KotlinStandardLibrariesPathProvider> { StandardLibrariesPathProviderForKotlinProject }
-        useAdditionalService<TargetPlatformProvider>(::TargetPlatformProviderForAnalysisApiTests)
 
         useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray())
         useDirectives(JvmEnvironmentConfigurationDirectives)
-        useDirectives(TargetPlatformDirectives)
 
         defaultDirectives {
             +JvmEnvironmentConfigurationDirectives.FULL_JDK
@@ -168,7 +163,7 @@
     open fun compileModule(module: TestModule, testServices: TestServices) {
         val javaFiles = module.writeJavaFiles()
         val compilerConfiguration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module)
-        val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) }
+        val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) }
         compilerConfiguration.addJvmClasspathRoots(dependencies)
         compilerConfiguration.addJavaSourceRoot(module.javaDir)
 
@@ -201,8 +196,8 @@
             path,
             testConfiguration.directives,
         )
-        val dependencyProvider = ArtifactsProvider(testServices, moduleStructure.modules)
-        testServices.registerArtifactsProvider(dependencyProvider)
+        val dependencyProvider = DependencyProviderImpl(testServices, moduleStructure.modules)
+        testServices.registerDependencyProvider(dependencyProvider)
         testServices.register(TestModuleStructure::class, moduleStructure)
 
         val mainModule = moduleStructure.modules.last()
diff --git a/symbol-processing-aa-embeddable/build.gradle.kts b/symbol-processing-aa-embeddable/build.gradle.kts
index 277d981..d0f8310 100644
--- a/symbol-processing-aa-embeddable/build.gradle.kts
+++ b/symbol-processing-aa-embeddable/build.gradle.kts
@@ -46,7 +46,6 @@
     "com.intellij.",
     "com.sun.jna.",
     "gnu.trove.",
-    "io.opentelemetry.api.",
     "it.unimi.dsi.",
     "javaslang.",
     "javax.inject.",