Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make FindMissingTypes stricter for method invocations #4688

Merged
merged 7 commits into from
Nov 20, 2024

Conversation

knutwannheden
Copy link
Contributor

Validate argument count with respect to parameter count.

Validate argument count with respect to parameter count.
@knutwannheden
Copy link
Contributor Author

@timtebeek What do you think? We could of course also validate the argument types against the parameter types.

@timtebeek
Copy link
Contributor

Yes makes sense to me! Might want to check the same for ParameterNames while we're at it, but otherwise good to add & monitor downstream.

@knutwannheden
Copy link
Contributor Author

Looks like this revealed a bug we have in the Javadoc type attribution.

@timtebeek timtebeek added the enhancement New feature or request label Nov 20, 2024
@knutwannheden knutwannheden marked this pull request as ready for review November 20, 2024 18:59
Copy link
Contributor

@timtebeek timtebeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot! Should help harden recipes downstream.

@knutwannheden knutwannheden merged commit d135803 into main Nov 20, 2024
2 checks passed
@knutwannheden knutwannheden deleted the stricter-method-type-validation branch November 20, 2024 19:20
timtebeek added a commit to openrewrite/rewrite-spring that referenced this pull request Nov 21, 2024
timtebeek added a commit to openrewrite/rewrite-spring that referenced this pull request Nov 26, 2024
timtebeek added a commit to ashakirin/rewrite-spring that referenced this pull request Nov 26, 2024
timtebeek added a commit to openrewrite/rewrite-spring that referenced this pull request Nov 26, 2024
* Add relevant context to description of AddSpringDependencyManagementPlugin

* Adopt RemoveMethodInvocations from rewrite-java

* Remove now-defunct rewrite-templating dependency

* refactor: Update Gradle wrapper

Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.gradle.UpdateGradleWrapper?organizationId=T3BlblJld3JpdGU%3D#defaults=W3sibmFtZSI6ImFkZElmTWlzc2luZyIsInZhbHVlIjoiRmFsc2UifV0=

Co-authored-by: Moderne <[email protected]>

* Fix method type following openrewrite/rewrite#4688

* Update method type as well when removing arguments

* Fix incorrect path computation for Spring API endpoints (#632)

* Fix incorrect path computation for Spring API endpoints

The current logic did not cover the case where a `RequestMapping` with a path was defined on the Controller class, and no paths were defined in the `*Mapping` at the method level.

* Do not disable the FindApiEndpointsTest

* Simplify FindApiEndpoints and SpringRequestMapping

* Add for now failing unit test

* AnnotationMatcher does not support wildcards

---------

Co-authored-by: Tim te Beek <[email protected]>

* Add commons codec dependency upgrade

* feat: Added recipe to comment deprecated and removed properties without alternative

Refs: #634

* feat: Added licences in recipe and test files

Refs: #634

* feat: Removed NotNull annotations

Refs: #634

* Update src/test/java/org/openrewrite/java/spring/InlineCommentSpringPropertiesTest.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/test/java/org/openrewrite/java/spring/InlineCommentSpringPropertiesTest.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/main/java/org/openrewrite/java/spring/InlineCommentSpringProperties.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/main/java/org/openrewrite/java/spring/InlineCommentSpringProperties.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/test/java/org/openrewrite/java/spring/InlineCommentSpringPropertiesTest.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: Removed doubled import

Refs: #634

* feat: Generated comment recipes for deprecated properties without replacement

Refs: #634

* feat: Updated comment recipes with the reason

Refs: #634

* Update src/test/java/org/openrewrite/java/spring/internal/GeneratePropertiesMigratorConfiguration.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Remove unused import in GeneratePropertiesMigratorConfiguration

* Update assertions to ensure yaml comments are modeled as such

* fixing SpringFoxToSpringDoc to use 1.x-appropriate springdoc artifact

helps with #638

* ChangeSpringPropertyKey does not yet fully support glob

* RenameBean Scanning Recipe Refactor (#630)

* Refactored the RenameBean recipe into a scanning recipe to allow renaming usages that occur outside the file where the bean is defined.

* Add missing language hints

* Remove unused `fromDeclaration` methods

---------

Co-authored-by: Hudson, Ryan <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>

* Add MigrateSpringdocCommon recipe (#633)

* Add MigrateSpringdocCommon recipe

* Apply suggestions from bot

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix syntax messed up by bot

* Add MigrateSpringdocCommon recipe

* Apply suggestions from bot

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix syntax messed up by bot

* Fix build fail on SpringBoot_1_5

* Fix rebase error

* Move to Spring Boot 2.6 tests, to match inclusion in `spring-boot-26.yml`

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tim te Beek <[email protected]>

* Add ChangeMethodParameter for modify parameters in Spring Batch method declaration (#631)

* Add ChangeMethodParameter for modify parameters in method declaration

Signed-off-by: Kun Chang <[email protected]>

* Minor polish

* Add correct year

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Add UpgradeSkipPolicyParameterType for Spring Batch

Signed-off-by: Kun Chang <[email protected]>

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix tests

* Also show ability to change interface methods

---------

Signed-off-by: Kun Chang <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Reuse recipe that comments out Yaml properties

* Move try into getDeprecations

* Limit comment wrangling to `CommentOutSpringPropertyKey`

* Rename test to match renamed class

* Generate removed property migrations

* Regenerated properties for older Spring Boot version

* Fix invalid property values

---------

Signed-off-by: Kun Chang <[email protected]>
Co-authored-by: Sam Snyder <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
Co-authored-by: Shannon Pamperl <[email protected]>
Co-authored-by: Moderne <[email protected]>
Co-authored-by: Adrien Loison <[email protected]>
Co-authored-by: Andrei Shakirin <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nick McKinney <[email protected]>
Co-authored-by: Ryan Hudson <[email protected]>
Co-authored-by: Hudson, Ryan <[email protected]>
Co-authored-by: SiBorea <[email protected]>
Co-authored-by: Curtis <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
MBoegers pushed a commit to MBoegers/rewrite that referenced this pull request Dec 18, 2024
…4688)

* Make `FindMissingTypes` stricter for method invocations

Validate argument count with respect to parameter count.

* Try to fix linking in `ReloadableJava17JavadocVisitor`

* Try to fix `TypeUtils#isAssignableTo()`

* Also update Java 11 and Java 21 Javadoc visitors

* Also update Java 11 and Java 21 Javadoc visitors

* More updates and simplifications

* Corner case in `TypeUtils`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants