Closed nomisRev closed 1 year ago
Update: I tested this on the sample project, and the parser returns a body. The NPE occurs using the JavaTemplate
.
This isn't a bug -- The JavaTemplate cannot parse Kotlin code. The parser handles Kotlin appropriately, but we do not have a Kotlin template yet.
@traceyyoshima should this be turned into a ticket for a KotlinTemplate? Or is this currently not in the scope or the rewrite-Kotlin project?
@traceyyoshima does that means only some specific recipes (e.g. new KotlinVisitor<ExecutionContext>()
) can handle kotlin files ?
Meanwhile we have KotlinTemplate
support as you can see in this recipe: https://github.com/openrewrite/rewrite-kotlin/blob/ac109fa98e4ebd942db21ec9f4806cbf993f7784/src/main/java/org/openrewrite/kotlin/cleanup/ReplaceCharToIntWithCode.java#L52-L55
Let us know how this works for you.
Reproducing example can be found here: https://github.com/nomisRev/rewrite-arrow/pull/2
Attempted to rewrite the
JavaIsoVisitor
example of Writing a Java Refactoring Recipe to Kotlin, and ran into the following error.I tried to keep the changes in this PR to a minimal, but some additional information:
KotlinIsoVisitor
JavaTemplate.builder(this::getCursor, "public fun hello(): String { return \"Hello from #{}!\" }")
J.withTemplate
on line 74 inSayHelloRecipe.java
.Failing with following output: