KMP-NativeCoroutines
KMP-NativeCoroutines copied to clipboard
IDE plugin compatibility issues
The plugin is crashing with Android Studio:
Android Studio Meerkat Feature Drop | 2024.3.2
Build #AI-243.25659.59.2432.13423653, built on April 29, 2025
Runtime version: 21.0.6+-13368085-b895.109 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.lwawt.macosx.LWCToolkit
macOS 14.7.2
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 8192M
Cores: 10
Metal Rendering is ON
Registry:
debugger.new.tool.window.layout=true
android.gradle.project.startup.activity.disabled=true
ide.experimental.ui=true
Non-Bundled Plugins:
com.rickclephas.kmp.nativecoroutines (1.0.0-ALPHA-42)
com.squareup.sqldelight (2.1.0)
and then it breaks almost all of the editing functionality :/
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.diagnostics.PositioningStrategy org.jetbrains.kotlin.diagnostics.PositioningStrategies.getDECLARATION_NAME()' [in thread "JobScheduler FJ pool 4/9"]
at com.rickclephas.kmp.nativecoroutines.compiler.classic.diagnostics.KmpNativeCoroutinesErrors.<clinit>(KmpNativeCoroutinesErrors.kt:87)
at com.rickclephas.kmp.nativecoroutines.idea.quickfixes.k1.KmpNativeCoroutinesQuickFixContributor.registerQuickFixes(KmpNativeCoroutinesQuickFixContributor.kt:46)
at org.jetbrains.kotlin.idea.quickfix.QuickFixes.<init>(QuickFixes.kt:33)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate$lambda$0(instantiate.kt:46)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate$lambda$8$lambda$7(instantiate.kt:310)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.withStoredTemporaryContext(instantiate.kt:328)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:309)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:43)
at com.intellij.serviceContainer.LightServiceInstanceSupport$LightServiceInstanceInitializer.createInstance(LightServiceInstanceSupport.kt:47)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:163)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:62)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:163)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:161)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:27)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:90)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:146)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:14)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:136)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:96)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstanceInCallerContext$suspendImpl(LazyInstanceHolder.kt:88)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstanceInCallerContext(LazyInstanceHolder.kt)
at com.intellij.serviceContainer.ComponentManagerImplKt$doGetOrCreateInstanceBlocking$1.invokeSuspend(ComponentManagerImpl.kt:1566)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:111)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$BuildersKt__BuildersKt(Builders.kt:84)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:52)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at com.intellij.serviceContainer.ComponentManagerImplKt.runBlockingInitialization$lambda$10(ComponentManagerImpl.kt:1684)
at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext$lambda$5(context.kt:108)
at com.intellij.openapi.progress.impl.CoreProgressManager.silenceGlobalIndicator(CoreProgressManager.java:1041)
at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext(context.kt:106)
at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:77)
at com.intellij.serviceContainer.ComponentManagerImplKt.runBlockingInitialization(ComponentManagerImpl.kt:1675)
at com.intellij.serviceContainer.ComponentManagerImplKt.doGetOrCreateInstanceBlocking(ComponentManagerImpl.kt:1565)
at com.intellij.serviceContainer.ComponentManagerImplKt.getOrCreateInstanceBlocking(ComponentManagerImpl.kt:1560)
at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:751)
at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:695)
at org.jetbrains.kotlin.idea.quickfix.QuickFixes$Companion.getInstance(QuickFixes.kt:84)
at org.jetbrains.kotlin.idea.base.fe10.codeInsight.Fe10QuickFixProviderImpl.createPostponedUnresolvedReferencesQuickFixes$lambda$2(Fe10QuickFixProviderImpl.kt:82)
at org.jetbrains.kotlin.idea.base.fe10.codeInsight.Fe10QuickFixProviderImpl.createQuickFixes(Fe10QuickFixProviderImpl.kt:119)
at org.jetbrains.kotlin.idea.base.fe10.codeInsight.Fe10QuickFixProviderImpl.createPostponedUnresolvedReferencesQuickFixes(Fe10QuickFixProviderImpl.kt:81)
at org.jetbrains.kotlin.idea.highlighter.ElementAnnotator.registerDiagnosticsAnnotations(ElementAnnotator.kt:46)
at org.jetbrains.kotlin.idea.highlighter.AbstractKotlinHighlightVisitor.annotateDiagnostic(AbstractKotlinHighlightVisitor.kt:200)
at org.jetbrains.kotlin.idea.highlighter.AbstractKotlinHighlightVisitor.analyze$lambda$3(AbstractKotlinHighlightVisitor.kt:124)
at org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.analyzeWithAllCompilerChecks$lambda$0(ResolutionUtils.kt:170)
at org.jetbrains.kotlin.idea.caches.resolve.PerFileAnalysisCache.performAnalyze$lambda$9(PerFileAnalysisCache.kt:150)
at org.jetbrains.kotlin.idea.caches.resolve.PerFileAnalysisCache.performAnalyze$lambda$10(PerFileAnalysisCache.kt:154)
at org.jetbrains.kotlin.resolve.diagnostics.MutableDiagnosticsWithSuppression.report(MutableDiagnosticsWithSuppression.kt:72)
at org.jetbrains.kotlin.resolve.BindingTraceContext.report(BindingTraceContext.java:134)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace.report$lambda$6(LockBasedLazyResolveStorageManager.kt:87)
at org.jetbrains.kotlin.storage.LockBasedStorageManager.compute(LockBasedStorageManager.java:290)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace.report(LockBasedLazyResolveStorageManager.kt:87)
at org.jetbrains.kotlin.resolve.QualifiedExpressionResolver.storeResult(QualifiedExpressionResolver.kt:760)
at org.jetbrains.kotlin.resolve.QualifiedExpressionResolver.resolveDescriptorForType(QualifiedExpressionResolver.kt:103)
at org.jetbrains.kotlin.resolve.TypeResolver.resolveDescriptorForType(TypeResolver.kt:1053)
at org.jetbrains.kotlin.resolve.TypeResolver$resolveTypeElement$1.visitUserType(TypeResolver.kt:259)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitUserType(KtVisitorVoid.java:937)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitUserType(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtUserType.accept(KtUserType.java:42)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)
at org.jetbrains.kotlin.resolve.TypeResolver.resolveTypeElement(TypeResolver.kt:257)
at org.jetbrains.kotlin.resolve.TypeResolver.resolvePossiblyBareType(TypeResolver.kt:136)
at org.jetbrains.kotlin.resolve.TypeResolver.resolveType(TypeResolver.kt:126)
at org.jetbrains.kotlin.resolve.TypeResolver.resolveType(TypeResolver.kt:97)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.resolveValueParameters(FunctionDescriptorResolver.kt:489)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.createConstructorDescriptor(FunctionDescriptorResolver.kt:455)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.resolvePrimaryConstructorDescriptor(FunctionDescriptorResolver.kt:392)
at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.resolvePrimaryConstructor(LazyClassMemberScope.kt:536)
at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.primaryConstructor$lambda$21(LazyClassMemberScope.kt:206)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:408)
at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.getPrimaryConstructor(LazyClassMemberScope.kt:524)
at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.createPropertiesFromPrimaryConstructorParameters(LazyClassMemberScope.kt:439)
at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.getNonDeclaredProperties(LazyClassMemberScope.kt:424)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.doGetProperties(AbstractLazyMemberScope.kt:150)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.propertyDescriptors$lambda$2(AbstractLazyMemberScope.kt:53)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:578)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:681)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.getContributedVariables(AbstractLazyMemberScope.kt:144)
at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.getContributedVariables(LazyClassMemberScope.kt:409)
at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitParameter(LazyDeclarationResolver.kt:139)
at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitParameter(LazyDeclarationResolver.kt:94)
at org.jetbrains.kotlin.psi.KtParameter.accept(KtParameter.java:39)
at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:94)
at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:91)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer$analyzeDeclarations$1.registerPrimaryConstructorParameters(LazyTopDownAnalyzer.kt:157)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer$analyzeDeclarations$1.visitClass(LazyTopDownAnalyzer.kt:149)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:467)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtClass.accept(KtClass.kt:22)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)
at org.jetbrains.kotlin.resolve.ExceptionWrappingKtVisitorVoid.visitDeclaration(ExceptionWrappingKtVisitorVoid.kt:21)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitDeclaration(KtVisitorVoid.java:461)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitDeclaration(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitNamedDeclaration(KtVisitor.java:416)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedDeclaration(KtVisitorVoid.java:385)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedDeclaration(KtVisitorVoid.java:973)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedDeclaration(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitClassOrObject(KtVisitor.java:41)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassOrObject(KtVisitorVoid.java:37)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassOrObject(KtVisitorVoid.java:473)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassOrObject(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitClass(KtVisitor.java:33)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:33)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:467)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtClass.accept(KtClass.kt:22)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer$analyzeDeclarations$1.registerDeclarations(LazyTopDownAnalyzer.kt:80)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer$analyzeDeclarations$1.visitKtFile(LazyTopDownAnalyzer.kt:98)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:521)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:41)
at org.jetbrains.kotlin.psi.KtCommonFile.accept(KtCommonFile.kt:244)
at org.jetbrains.kotlin.resolve.ExceptionWrappingKtVisitorVoid.visitElement(ExceptionWrappingKtVisitorVoid.kt:16)
at com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:51)
at org.jetbrains.kotlin.psi.KtVisitor.visitKtFile(KtVisitor.java:73)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:69)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:521)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:41)
at org.jetbrains.kotlin.psi.KtCommonFile.accept(KtCommonFile.kt:244)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations(LazyTopDownAnalyzer.kt:203)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations$default(LazyTopDownAnalyzer.kt:58)
at org.jetbrains.kotlin.idea.caches.resolve.KotlinResolveDataProvider.analyze(PerFileAnalysisCache.kt:643)
at org.jetbrains.kotlin.idea.caches.resolve.PerFileAnalysisCache.analyze(PerFileAnalysisCache.kt:306)
at org.jetbrains.kotlin.idea.caches.resolve.PerFileAnalysisCache.performAnalyze(PerFileAnalysisCache.kt:154)
at org.jetbrains.kotlin.idea.caches.resolve.PerFileAnalysisCache.access$performAnalyze(PerFileAnalysisCache.kt:63)
at org.jetbrains.kotlin.idea.caches.resolve.PerFileAnalysisCache.getAnalysisResults$kotlin_base_fe10_analysis(PerFileAnalysisCache.kt:138)
at org.jetbrains.kotlin.idea.caches.resolve.ProjectResolutionFacade.analysisResultForElement(ProjectResolutionFacade.kt:253)
at org.jetbrains.kotlin.idea.caches.resolve.ProjectResolutionFacade.getAnalysisResultsForElement$kotlin_base_fe10_analysis(ProjectResolutionFacade.kt:226)
at org.jetbrains.kotlin.idea.caches.resolve.ModuleResolutionFacadeImpl.analyzeWithAllCompilerChecks$lambda$7(ModuleResolutionFacadeImpl.kt:79)
at com.intellij.openapi.progress.impl.CancellationCheck.withCancellationCheck(CancellationCheck.kt:59)
at com.intellij.openapi.progress.impl.CancellationCheck$Companion.runWithCancellationCheck(CancellationCheck.kt:105)
at org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt.runWithCancellationCheck(ApplicationUtils.kt:64)
at org.jetbrains.kotlin.idea.caches.resolve.ModuleResolutionFacadeImpl.analyzeWithAllCompilerChecks(ModuleResolutionFacadeImpl.kt:78)
at org.jetbrains.kotlin.idea.caches.resolve.ResolutionFacadeWithDebugInfo.analyzeWithAllCompilerChecks(ResolutionFacadeWithDebugInfo.kt:58)
at org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.analyzeWithAllCompilerChecks(ResolutionUtils.kt:170)
at org.jetbrains.kotlin.idea.highlighter.AbstractKotlinHighlightVisitor.analyze(AbstractKotlinHighlightVisitor.kt:117)
at org.jetbrains.kotlin.idea.highlighter.AbstractKotlinHighlightVisitor.analyze(AbstractKotlinHighlightVisitor.kt:59)
at com.intellij.codeInsight.daemon.impl.HighlightVisitorRunner.lambda$runVisitors$4(HighlightVisitorRunner.java:119)
at com.intellij.concurrency.ApplierCompleter.processArrayItem(ApplierCompleter.java:126)
at com.intellij.concurrency.ApplierCompleter.processArray(ApplierCompleter.java:207)
at com.intellij.concurrency.ApplierCompleter.helpOthers(ApplierCompleter.java:227)
at com.intellij.concurrency.ApplierCompleter.helpAll(ApplierCompleter.java:186)
at com.intellij.concurrency.ApplierCompleter.lambda$exec$0(ApplierCompleter.java:116)
at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:351)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:972)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$2(ApplierCompleter.java:158)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:674)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:749)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:705)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:673)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:169)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapAndRun$1(ApplierCompleter.java:150)
at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.executeByImpatientReader(AnyThreadWriteThreadingSupport.kt:544)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:176)
at com.intellij.concurrency.ApplierCompleter.wrapAndRun(ApplierCompleter.java:150)
at com.intellij.concurrency.ApplierCompleter.exec(ApplierCompleter.java:118)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
I'm using the ALPHA-42 IDE plugin with ALPHA-43 runtime.
Thanks for reporting this! Based on the stacktrace it looks like you don't have K2 mode enabled in Android Studio, correct? Do you have any issues with the plugin once K2 mode is enabled (Language & Frameworks > Kotlin > Enable K2 mode)?
Ah I think I see what's happening here. There was a change in the Kotlin compiler that turned that property into a JVM property instead of a field. It's likely a mismatch between the Kotlin version that was used to build this AS version and the one used to build the IDE plugin.
Could you try version v1.0.0-ALPHA-40 of the IDE plugin instead?
Based on the stacktrace it looks like you don't have K2 mode enabled in Android Studio, correct?
I read that many quick fixes etc from AS itself aren't supported and haven't been ported to K2, therefore still turned off. I can try it though if you want.
Could you try version
v1.0.0-ALPHA-40of the IDE plugin instead?
What would be the easiest version to test this?
I read that many quick fixes etc from AS itself aren't supported and haven't been ported to K2, therefore still turned off. I can try it though if you want.
Ah that makes sense. The same error is likely also present in K2 mode, so no need to test it then.
What would be the easiest version to test this?
You can download v1.0.0-ALPHA-40 from the marketplace and install it from disk (plugins > settings icon > install plugin from disk). I can do some testing myself later today.
I installed it. It does not crash, but I don't see any difference. Like there are no hints that I ought to add the return type:
Hmm that's interesting. I just tested this with a sample project and I am correctly seeing the warnings/errors and quickfixes.
- Android Studio 2024.3.2 (AI-243.25659.59.2432.13423653)
- K2 mode disabled in Android Studio
- KMP-NativeCoroutines IDE plugin v1.0.0-ALPHA-40
- Project using Kotlin 2.1.21
- Project using KMP-NativeCoroutines v1.0.0-ALPHA-43
Is it just the explicit return type error that you aren't seeing / are you still seeing other warnings/errors? Anything special/different about your project/setup?
Is it just the explicit return type error that you aren't seeing / are you still seeing other warnings/errors?
I'm not noticing any difference between having the plugin installed and having it not installed.
Anything special/different about your project/setup?
Not that I know. It's a massive project that contains around 20 apps with shared modules etc, but I'm not doing anything fancy.
Ah go it. By default IntelliJ doesn't load third-party compiler plugins because of possible binary compatibility issues between the Kotlin versions used by the project and the IDE.
Third party compiler plugins can be loaded by disabling the following key in the registry (which was disabled in my test environment):
kotlin.k2.only.bundled.compiler.plugins.enabled
However that could possibly result in errors depending on the IDE and Kotlin versions in use. I'll take a look to see if there is a better way of handling this.
New IDE specific versions will be available resolving the compatibility issues:
1.0.0-ALPHA-43-idea-2024.31.0.0-ALPHA-43-idea-2025.1
And for the EAP versions of 2025.2 there is 1.0.0-ALPHA-43-idea-2025.2-EAP-18003.27, available from the EAP channel.
Let me know if you are still having issues with one of those versions.
P.S. the plugin will now be enabled automatically in K2 mode as well, so simply installing it should be sufficient.
I'm seeing something!
with:
Android Studio Narwhal | 2025.1.1 Build #AI-251.25410.109.2511.13665796, built on June 18, 2025 Runtime version: 21.0.6+-13391695-b895.109 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Toolkit: sun.lwawt.macosx.LWCToolkit macOS 14.7.2 GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation Memory: 8192M Cores: 10 Metal Rendering is ON Registry: debugger.new.tool.window.layout=true android.gradle.project.startup.activity.disabled=true ide.experimental.ui=true Non-Bundled Plugins: com.rickclephas.kmp.nativecoroutines (1.0.0-ALPHA-44-idea-2025.1) com.squareup.sqldelight (2.1.0)
I'm seeing something!
Awesome! Going forward every minor IntelliJ release will get a special build of the IDE plugin. That will resolve all conflicts between the Kotlin compiler versions.
If you notice anything strange or broken please let me know.