Apply Kotlin null-safety and scope-function idioms
Recipe ID
org.openrewrite.kotlin.idiom.NullSafetyAndScopeFunctions$KtRecipeArtifact
io.moderne.recipe:recipes-kotlinSearch-only recipes covering the two most-cited stylistic categories in IntelliJ's Kotlin inspections: null-safety (if (x != null) ladders, !!, requireNotNull polish, mapNotNull / listOfNotNull adoption, unsafe casts) and scope-function ergonomics (the 12 well-defined let/run/with/apply/also correctness rules). Each match is a SearchResult for review — nothing is rewritten automatically.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.kotlin.idiom.NullSafetyAndScopeFunctions$KtRecipeIf the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:recipes-kotlin:0.2.0Definition
This recipe runs the following recipes in order.
- Find manual null-check idioms
org.openrewrite.kotlin.idiom.FindNullCheckIdioms$KtRecipe - Find
let { }ergonomicsorg.openrewrite.kotlin.idiom.FindLetIdioms$KtRecipe - Find scope-function correctness swaps
org.openrewrite.kotlin.idiom.FindScopeFunctionSwaps$KtRecipe - Find null-assertion polish opportunities
org.openrewrite.kotlin.idiom.FindNullAssertionPolish$KtRecipe - Find collection null-safety idioms
org.openrewrite.kotlin.idiom.FindCollectionNullSafety$KtRecipe - Find cast and nullable-shape idioms
org.openrewrite.kotlin.idiom.FindCastAndNullableShapes$KtRecipe
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats