Skip to content

Upgrade rewrite-kotlin to Kotlin 2 compiler (K2)#6766

Merged
jkschneider merged 2 commits intomainfrom
jkschneider/kotlin2-parser
Feb 18, 2026
Merged

Upgrade rewrite-kotlin to Kotlin 2 compiler (K2)#6766
jkschneider merged 2 commits intomainfrom
jkschneider/kotlin2-parser

Conversation

@jkschneider
Copy link
Copy Markdown
Member

@jkschneider jkschneider commented Feb 18, 2026

Summary

  • Upgrades kotlin-compiler-embeddable from 1.9.25 to 2.2.0 (Kotlin 1 is EOL and incompatible with Java 25)

  • Migrates all K2 FIR API changes in-place: session creation via JvmFrontendPipelinePhase, type ref/expression renames, FirResolvedArgumentList.mapping for correct argument-to-parameter resolution

  • Overrides classpathFromResources in KotlinParser.Builder to resolve full JARs instead of .tt stubs (K2's FIR compiler cannot read type-transformed class files)

  • Supersedes Add support for Kotlin 2.x #5575 and Kotlin 2 #5963.

Co-authored-by: Marius Barbulescu marius.barbulescu@gmail.com

Kotlin 1 is EOL and doesn't work on Java 25 runtimes. This upgrades
kotlin-compiler-embeddable from 1.9.25 to 2.2.0, migrating all K2 FIR
API changes in-place without requiring a separate module.

Co-Authored-By: Marius Barbulescu <marius.barbulescu@gmail.com>
@timtebeek
Copy link
Copy Markdown
Member

Looks like we've arrived at some of the same changes as seen in

Noting that here to double check and close that PR as well once this is merged.

…flow

- Add jakarta.persistence-api as testRuntimeOnly dep in rewrite-java-test so
  KotlinParser.classpathFromResources can find the full jar (K2 can't use .tt stubs)
- Convert KotlinPrinter.visitBinary to iterative left-chain traversal to avoid
  StackOverflowError on deeply nested binary expressions (2000+ levels)
@flex-gwanbin
Copy link
Copy Markdown

finally! I cannot wait to use it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants