rewrite icon indicating copy to clipboard operation
rewrite copied to clipboard

Use Java primitives in Kotlin model to match types

Open timtebeek opened this issue 8 months ago • 1 comments

What's changed?

Add type mapping from Kotlin primitive types to their Java counterparts, and use those in the type system.

What's your motivation?

As described in https://github.com/openrewrite/rewrite-kotlin/pull/626 we had up to now mapped any primitive as a Kotlin primitive, even when those classes come from Java. That's problematic when say a method matcher for a Java method has a primitive type declared for the matcher. Those would then fail to match when used from Kotlin. While that's perhaps not very common, it's nonetheless important as we look to cover both with a single set of recipes, and for new recipes developed.

Anything in particular you'd like reviewers to focus on?

Should we continue to use Kotlin primitives types when methods are defined in Kotlin? How do we tell those apart? Can we make that work on 1.9? Would it help to move to 2.0 or 2.1?

Any additional context

  • Continues https://github.com/openrewrite/rewrite-kotlin/pull/626

timtebeek avatar May 01 '25 22:05 timtebeek

Linking some earlier comments on the older PR:

  • https://github.com/openrewrite/rewrite-kotlin/pull/626#issuecomment-2585471464
  • https://github.com/openrewrite/rewrite-kotlin/pull/626#issuecomment-2585830207

timtebeek avatar May 01 '25 22:05 timtebeek

This PR is stale because it has been open for 90 days with no activity. Remove stale label or comment or this will be closed in two weeks. PRs may be reopened when there is renewed interest.

github-actions[bot] avatar Aug 04 '25 04:08 github-actions[bot]

This PR is stale because it has been open for 90 days with no activity. Remove stale label or comment or this will be closed in two weeks. PRs may be reopened when there is renewed interest.

github-actions[bot] avatar Nov 10 '25 04:11 github-actions[bot]