The IntelliJ SDK used by Kotlin includes a custom fork of kotlinx coroutines which contains the IntelliJCoroutines class. KSP must also depend on that version instead of the normal kotlinx coroutines since it may be loaded in some cases by Kotlin (see JetBrains/kotlin@3534805). We added the fork as a dependency in #2809. If the IntelliJ SDK ever switches back to the upstream kotlinx coroutines, we have to switch too.
However, in the uber jar, the IntelliJ SDK does not load the bundled class (possibly due to renaming), thus leading to a crash. The solution to this is to back port some fixes into KSP so the IntellijCoroutines class is not loaded (until they fix it upstream).
The IntelliJ SDK used by Kotlin includes a custom fork of kotlinx coroutines which contains the
IntelliJCoroutinesclass. KSP must also depend on that version instead of the normal kotlinx coroutines since it may be loaded in some cases by Kotlin (see JetBrains/kotlin@3534805). We added the fork as a dependency in #2809. If the IntelliJ SDK ever switches back to the upstream kotlinx coroutines, we have to switch too.However, in the uber jar, the IntelliJ SDK does not load the bundled class (possibly due to renaming), thus leading to a crash. The solution to this is to back port some fixes into KSP so the
IntellijCoroutinesclass is not loaded (until they fix it upstream).