Interop
Composite Recipes
Recipes that include further recipes, often including the individual recipes below.
- Find Java-style call shapes inside Kotlin source
- Find Java↔Kotlin interop friction points
- Find Kotlin declarations missing
@Jvm*interop annotations - Find
java.util.Collections/Arraysfactory usage inside Kotlin - Find
java.util.Optionalfriction inside Kotlin - Find
java.util.stream.Streamfriction inside Kotlin - Find non-injected clock / I/O calls (testability)
- Find reactive-framework return types in Kotlin
- Improve Java↔Kotlin interop ergonomics
Recipes
- Apply Java↔Kotlin interop rewrites
- Find
@RequiresOptInannotation declarations - Find
Arrays.asList(...)calls - Find
Collections.emptyList/Set/Map()calls - Find
Collections.singletonList/Set/Map(...)calls - Find
Collections.unmodifiableList/Set/Map(...)wrappers - Find
CompletableFutureusage in Kotlin - Find Java-style
getX()calls in Kotlin source - Find Java-style
iterable.forEach(Consumer)calls - Find
LocalDateTime.now()/Instant.now()calls - Find
Optional.get()/orElseThrow()calls - Find
Optional.isPresent/isEmptychecks - Find
Optional.ofNullable(...)calls - Find
Optional.orElse(...)calls - Find Reactor
Mono/Fluxreturns in Kotlin - Find
Stream.of(...)calls - Find
System.currentTimeMillis()calls - Find
bufferedReader().lines()calls - Find classes with manual
equals/hashCodeoverrides —data classcandidate - Find
companion objectfunctions missing@JvmStatic - Find
const val/ companionvaldeclarations missing@JvmField - Find function parameters typed
Optional<T> - Find functions returning
CompletableFuture<T> - Find functions returning
Optional<T> - Find functions returning
java.util.stream.Stream<T> - Find functions with default parameters missing
@JvmOverloads - Find functions with
throwof a checked exception missing@Throws - Find inner
class Builderclasses — default-args candidate - Find interface declarations with default-method bodies
- Find
io.reactivex.Observable/Flowable/Single/Maybeusage in Kotlin - Find
java.util.Optionalusage in Kotlin - Find manual
getX()/setX(v)pairs in Kotlin classes - Find
object Constants \{ const val A = ... \}static-constants holders - Find
object Utils \{ fun foo() = ... \}static-utility holders - Find
requireNotNull(javaCall())patterns - Find
stream.collect(Collectors.toList())calls - Find
stream.filter(...).map(...)chains - Find top-level functions missing
@JvmName - Find
val isXBoolean properties missing@get:JvmName - Use
xinstead ofOptional.of(x).get()