Add a literal method argument

org.openrewrite.java.AddLiteralMethodArgument

Add a literal String or int 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

Object

literal

The literal value that we add the argument for.

abc

String

primitiveType

Optional. The type of the parameter that we add the argument for. Defaults to String. Valid options: String, int, short, long, float, double, boolean, char

String

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.AddLiteralMethodArgumentExample. 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.AddLiteralMethodArgumentExample
displayName: Add a literal method argument example
recipeList:
  - org.openrewrite.java.AddLiteralMethodArgument:
      methodPattern: com.yourorg.A foo(int, int)
      argumentIndex: 0
      literal: abc
      primitiveType: String

Now that com.yourorg.AddLiteralMethodArgumentExample 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.AddLiteralMethodArgumentExample")
}

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