Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .run/InlineMethodCallsRecipeGenerator.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="InlineMethodCallsRecipeGenerator" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.openrewrite.java.internal.parser.InlineMethodCallsRecipeGenerator" />
<module name="rewrite-rewrite.main" />
<option name="PROGRAM_PARAMETERS" value="src/main/resources/META-INF/rewrite/classpath.tsv.gz src/main/resources/META-INF/rewrite/inline-rewrite-methods.yml org.openrewrite.recipes.rewrite.InlineMethods" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
2 changes: 2 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ description = "A rewrite module automating best practices and major version migr

recipeDependencies {
parserClasspath("org.openrewrite:rewrite-core:latest.release")
parserClasspath("org.openrewrite:rewrite-gradle:latest.release")
parserClasspath("org.openrewrite:rewrite-java:latest.release")
parserClasspath("org.openrewrite:rewrite-maven:latest.release")
}

val rewriteVersion = rewriteRecipe.rewriteVersion.get()
Expand Down
Binary file not shown.
Binary file not shown.
127 changes: 127 additions & 0 deletions src/main/resources/META-INF/rewrite/inline-rewrite-methods.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Copyright 2025 the original author or authors.
# <p>
# Licensed under the Moderne Source Available License (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# <p>
# https://docs.moderne.io/licensing/moderne-source-available-license
# <p>
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Generated InlineMe recipes from TypeTable
#

type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.recipes.rewrite.InlineMethods
displayName: Inline methods annotated with `@InlineMe`
description: >-
Automatically generated recipes to inline method calls based on `@InlineMe` annotations
discovered in the type table.
recipeList:

# From org.openrewrite:rewrite-maven:8.62.3
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.maven.trait.Traits mavenDependency()'
replacement: 'new MavenDependency.Matcher()'
imports:
- 'org.openrewrite.maven.MavenDependency'
classpathFromResources:
- 'rewrite-maven-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.maven.trait.Traits mavenPlugin()'
replacement: 'new MavenPlugin.Matcher()'
imports:
- 'org.openrewrite.maven.MavenPlugin'
classpathFromResources:
- 'rewrite-maven-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.maven.ChangeParentPom ChangeParentPom(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean)'
replacement: 'this(oldGroupId, newGroupId, oldArtifactId, newArtifactId, newVersion, oldRelativePath, newRelativePath, versionPattern, allowVersionDowngrades, null)'
classpathFromResources:
- 'rewrite-maven-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId ChangeDependencyGroupIdAndArtifactId(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)'
replacement: 'this(oldGroupId, oldArtifactId, newGroupId, newArtifactId, newVersion, versionPattern, false, true)'
classpathFromResources:
- 'rewrite-maven-8.62.3'

# From org.openrewrite:rewrite-gradle:8.62.3
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.gradle.ChangeDependency ChangeDependency(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean)'
replacement: 'this(oldGroupId, oldArtifactId, newGroupId, newArtifactId, newVersion, versionPattern, overrideManagedVersion, true)'
classpathFromResources:
- 'rewrite-gradle-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.gradle.trait.Traits gradleDependency()'
replacement: 'new GradleDependency.Matcher()'
imports:
- 'org.openrewrite.gradle.GradleDependency'
classpathFromResources:
- 'rewrite-gradle-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.gradle.trait.Traits jvmTestSuite()'
replacement: 'new JvmTestSuite.Matcher()'
imports:
- 'org.openrewrite.gradle.JvmTestSuite'
classpathFromResources:
- 'rewrite-gradle-8.62.3'

# From org.openrewrite:rewrite-java:8.62.3
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.ChangeMethodTargetToStatic ChangeMethodTargetToStatic(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean)'
replacement: 'this(methodPattern, fullyQualifiedTargetTypeName, returnType, matchOverrides, false)'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits literal()'
replacement: 'new Literal.Matcher()'
imports:
- 'org.openrewrite.java.Literal'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits variableAccess()'
replacement: 'new VariableAccess.Matcher()'
imports:
- 'org.openrewrite.java.VariableAccess'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits methodAccess(org.openrewrite.java.MethodMatcher)'
replacement: 'new MethodAccess.Matcher()'
imports:
- 'org.openrewrite.java.MethodAccess'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits methodAccess(java.lang.String)'
replacement: 'new MethodAccess.Matcher(signature)'
imports:
- 'org.openrewrite.java.MethodAccess'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits annotated(org.openrewrite.java.AnnotationMatcher)'
replacement: 'new MethodAccess.Matcher(declaringType, methodName, args)'
imports:
- 'org.openrewrite.java.MethodAccess'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits annotated(java.lang.String)'
replacement: 'new Annotated.Matcher(signature)'
imports:
- 'org.openrewrite.java.Annotated'
classpathFromResources:
- 'rewrite-java-8.62.3'
- org.openrewrite.java.InlineMethodCalls:
methodPattern: 'org.openrewrite.java.trait.Traits annotated(java.lang.Class)'
replacement: 'new Annotated.Matcher(annotationType)'
imports:
- 'org.openrewrite.java.Annotated'
classpathFromResources:
- 'rewrite-java-8.62.3'
2 changes: 1 addition & 1 deletion src/main/resources/META-INF/rewrite/recipebestpractice.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ name: org.openrewrite.recipes.rewrite.OpenRewriteRecipeBestPractices
displayName: OpenRewrite recipe best practices
description: Best practices for OpenRewrite recipe development.
recipeList:
- org.openrewrite.java.InlineMethodCalls
- org.openrewrite.recipes.rewrite.InlineMethods
- org.openrewrite.java.recipes.JavaRecipeBestPractices
- org.openrewrite.java.recipes.RecipeTestingBestPractices
- org.openrewrite.java.recipes.RecipeNullabilityBestPractices
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import org.junit.jupiter.api.Test;
import org.openrewrite.DocumentExample;
import org.openrewrite.java.InlineMethodCalls;
import org.openrewrite.test.RecipeSpec;
import org.openrewrite.test.RewriteTest;

Expand All @@ -27,7 +26,9 @@ class RemoveTraitsUsageTest implements RewriteTest {

@Override
public void defaults(RecipeSpec spec) {
spec.recipe(new InlineMethodCalls());
spec.recipeFromResource(
"/META-INF/rewrite/inline-rewrite-methods.yml",
"org.openrewrite.recipes.rewrite.InlineMethods");
}

@DocumentExample
Expand Down