Kotlin 2.0.0-Beta4 Support
Tested a project that previously compiled with Beta3 after upgrading to Beta4. The compilation fails with a NoSuchMethodError:
Stack Trace
e: java.lang.NoSuchMethodError: org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirDeclarationChecker: method 'void <init>()' not found
at androidx.compose.compiler.plugins.kotlin.k2.ComposableFunctionChecker.<init>(ComposableFunctionChecker.kt:32)
at androidx.compose.compiler.plugins.kotlin.k2.ComposableFunctionChecker.<clinit>(ComposableFunctionChecker.kt)
at androidx.compose.compiler.plugins.kotlin.k2.ComposeFirCheckersExtension$declarationCheckers$1.<init>(ComposeFirExtensions.kt:74)
at androidx.compose.compiler.plugins.kotlin.k2.ComposeFirCheckersExtension.<init>(ComposeFirExtensions.kt:72)
at androidx.compose.compiler.plugins.kotlin.k2.ComposeFirExtensionRegistrar$configurePlugin$2.invoke(ComposeFirExtensions.kt:38)
at androidx.compose.compiler.plugins.kotlin.k2.ComposeFirExtensionRegistrar$configurePlugin$2.invoke(ComposeFirExtensions.kt:38)
at org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar$ExtensionRegistrarContext.unaryPlus$lambda$2(FirExtensionRegistrar.kt:133)
at org.jetbrains.kotlin.fir.extensions.FirExtensionService.registerExtensions(FirExtensionService.kt:43)
at org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarKt.registerExtensions(FirExtensionRegistrar.kt:260)
at org.jetbrains.kotlin.fir.session.FirSessionConfigurator.configure(FirSessionConfigurator.kt:53)
at org.jetbrains.kotlin.fir.session.FirAbstractSessionFactory.createModuleBasedSession(FirAbstractSessionFactory.kt:120)
at org.jetbrains.kotlin.fir.session.FirJvmSessionFactory.createModuleBasedSession(FirJvmSessionFactory.kt:99)
at org.jetbrains.kotlin.cli.common.FirSessionConstructionUtilsKt.prepareJvmSessions(FirSessionConstructionUtils.kt:98)
at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.CompilerPipelineKt.compileModuleToAnalyzedFir(compilerPipeline.kt:295)
at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.CompilerPipelineKt.compileModulesUsingFrontendIrAndLightTree(compilerPipeline.kt:117)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:156)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:104)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:48)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:453)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:62)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:502)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:420)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:301)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:129)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:687)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:103)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1674)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1623)
This error was thrown while using the 1.5.6-dev2-kt2.0.0-Beta3 compose compiler with kotlin version 2.0.0-Beta4
I recently reported an issue with Detekt that I was having with Beta3 in the Beta3 issue related to @Composable annotations. I see in the Beta4 changelist a few fixes related to @Composable annotations so I am eager to see if Beta4 allows me to use Detekt.
Android Compose Compiler version for Beta4 is out: 1.5.11-dev-k2.0.0-Beta4-21f5e479a96
can you try compiler plugin 1.5.9-kt-2.0.0-Beta4?
issue should be resolved
That version works 👍
Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.