Add a null method argument

org.openrewrite.java.AddNullMethodArgument

Add a null argument to method invocations.

Recipe source

GitHub, Issue Tracker, Maven Central

  • groupId: org.openrewrite

  • artifactId: rewrite-java

  • version: 8.24.0

Options

TypeNameDescriptionExample

String

methodPattern

A method pattern that is used to find matching method invocations.

com.yourorg.A foo(int, int)

int

argumentIndex

A zero-based index that indicates which argument will be added as null to the method invocation.

0

String

parameterType

The type of the parameter that we add the argument for.

java.lang.String

String

parameterName

Optional. The name of the parameter that we add the argument for.

name

Boolean

explicitCast

Optional. Explicitly cast the argument to the parameter type. Useful if the method is overridden with another type.

true

Usage

This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly. To activate this recipe you must create a new recipe which fills in the required parameters. In your rewrite.yml create a new recipe with a unique name. For example: com.yourorg.AddNullMethodArgumentExample. Here's how you can define and customize such a recipe within your rewrite.yml:

rewrite.yml
---
type: specs.openrewrite.org/v1beta/recipe
name: com.yourorg.AddNullMethodArgumentExample
displayName: Add a `null` method argument example
recipeList:
  - org.openrewrite.java.AddNullMethodArgument:
      methodPattern: com.yourorg.A foo(int, int)
      argumentIndex: 0
      parameterType: java.lang.String
      parameterName: name
      explicitCast: true

Now that com.yourorg.AddNullMethodArgumentExample has been defined activate it in your build file:

  1. Add the following to your build.gradle file:

build.gradle
plugins {
    id("org.openrewrite.rewrite") version("6.12.0")
}

rewrite {
    activeRecipe("com.yourorg.AddNullMethodArgumentExample")
}

repositories {
    mavenCentral()
}
  1. Run gradle rewriteRun to run the recipe.

See how this recipe works across multiple open-source repositories

The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.

Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.

Contributors

Peter Streef

Last updated