Skip to content

JSpecifyBestPractices add @Nullable annotionen to params twice #1199

Description

@beeet

Setup

org.openrewrite.maven rewrite-maven-plugin 6.38.0 run-rewrite process-sources run false org.openrewrite.java.migrate.UpgradeToJava25 org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta org.openrewrite.java.spring.boot4.SpringBootProperties_4_0 org.openrewrite.java.spring.boot4.MigrateAutoconfigurePackages org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0 org.openrewrite.java.spring.boot4.MigrateToModularStarters org.openrewrite.java.spring.boot4.RenameDeprecatedStartersManagedVersions org.openrewrite.java.spring.boot4.ReplaceMockBeanAndSpyBean org.openrewrite.java.spring.framework.UpgradeSpringFramework_7_0 org.openrewrite.java.spring.security7.UpgradeSpringSecurity_7_0 org.openrewrite.java.spring.kafka.UpgradeSpringKafka_4_0 org.openrewrite.java.spring.http.ReplaceStringLiteralsWithHttpHeadersConstants org.openrewrite.java.spring.ExpandProperties org.openrewrite.java.migrate.JavaBestPractices org.openrewrite.java.jspecify.JSpecifyBestPractices org.openrewrite.java.migrate.lang.var.UseVarForGenericsConstructors org.openrewrite.java.migrate.lang.var.UseVarForGenericMethodInvocations org.openrewrite.java.migrate.lang.var.UseVarForObject org.openrewrite.java.migrate.lang.var.UseVarForPrimitive org.openrewrite.staticanalysis.CommonStaticAnalysis org.openrewrite.staticanalysis.FinalizeLocalVariables org.openrewrite.staticanalysis.FinalizeMethodArguments org.openrewrite.staticanalysis.FinalizePrivateFields org.openrewrite.staticanalysis.AvoidBoxedBooleanExpressions org.openrewrite.staticanalysis.CombineSemanticallyEqualCatchBlocks org.openrewrite.staticanalysis.RemoveExtraSemicolons org.openrewrite.staticanalysis.StaticMethodNotFinal org.openrewrite.staticanalysis.CodeCleanup org.openrewrite.java.testing.assertj.JUnitToAssertj org.openrewrite.java.testing.hamcrest.MigrateHamcrestToAssertJ org.openrewrite.java.testing.junit5.JUnit5BestPractices org.openrewrite.java.testing.mockito.MockitoBestPractices org.openrewrite.micrometer.MicrometerBestPractices org.openrewrite.java.jackson.JacksonBestPractices org.openrewrite.java.RemoveUnusedImports org.openrewrite.recipe rewrite-migrate-java 3.34.0 org.openrewrite.recipe rewrite-static-analysis 2.34.0 org.openrewrite.recipe rewrite-testing-frameworks 3.35.2 org.openrewrite.recipe rewrite-spring 6.30.3 org.openrewrite.recipe rewrite-micrometer 0.30.0 org.openrewrite.recipe rewrite-jackson 1.28.1

Output

`
...
import org.jspecify.annotations.Nullable;

public class MyClass {
...
public void add(@nullable @org.jspecify.annotations.Nullable final FeatureEvidence evidence) {
if (evidence == null || evidence.getFeatureId() == null) {
return;
}
features.put(evidence.getFeatureId(), evidence);
}

public static String defineName(@org.jspecify.annotations.Nullable @org.jspecify.annotations.Nullable final Zone zone, final NodeType type, @nullable final String artifactId) {
...
}
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions