Skip to content

Skip synthetic/bridge methods in BaseContract parsing - #3516

Closed
AzazelSensei wants to merge 1 commit into
OpenFeign:masterfrom
AzazelSensei:cursor/skip-synthetic-bridge-methods-70d4
Closed

Skip synthetic/bridge methods in BaseContract parsing#3516
AzazelSensei wants to merge 1 commit into
OpenFeign:masterfrom
AzazelSensei:cursor/skip-synthetic-bridge-methods-70d4

Conversation

@AzazelSensei

@AzazelSensei AzazelSensei commented Aug 12, 2026

Copy link
Copy Markdown

Summary

Contract.BaseContract.parseAndValidateMetadata walks Class.getMethods() but did not skip compiler-generated methods. Covariant overrides produce synthetic bridge methods without HTTP annotations, which then fail with Method … not annotated with HTTP method type.

This skips isSynthetic() / isBridge() methods in that loop so inheritance cases like overrideParameterizedApiSupported and multipleInheritanceDoneCorrectly2 parse cleanly.

Related

Fixes the remaining DefaultContractInheritanceTest failures from #2752 (JUL/MultipleLoggerTest side is handled separately).

Test plan

  • mvn test -pl core -Dtest=DefaultContractInheritanceTest (9 tests, 0 failures)
  • Confirm CI green on this PR

Covariant overrides generate unannotated bridge methods that
BaseContract previously tried to parse, failing inheritance tests
such as overrideParameterizedApiSupported.

Fixes OpenFeign#2752
@AzazelSensei
AzazelSensei marked this pull request as ready for review August 12, 2026 08:38
@AzazelSensei

Copy link
Copy Markdown
Author

Superseded by #3517.

@AzazelSensei
AzazelSensei deleted the cursor/skip-synthetic-bridge-methods-70d4 branch August 12, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant