Generify and reuse accessible method search#6069
Merged
headius merged 1 commit intojruby:masterfrom Feb 16, 2020
Merged
Conversation
This search logic was only being used when binding all the methods for a Java class in Ruby space, while the one-off accessors like `java_method` went through different logic. The latter logic has never been updated to work properly under the new module regime, which led to bugs like jruby#5894 that would attempt to invoke private or otherwise inaccessible methods rather than continuing to search for a public version. This patch opens up the accessible-only method search from MethodGatherer so it can be reused for the one-off forms. Fixes jruby#5894
kares
approved these changes
Feb 16, 2020
Member
kares
left a comment
There was a problem hiding this comment.
looks good, haven't tested this - assuming the gatherer takes care of non exported (e.g default) packages ... makes sense for it to do so.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This search logic was only being used when binding all the methods for a Java class in Ruby space, while the one-off accessors like
java_methodwent through different logic. The latter logic has never been updated to work properly under the new module regime, which led to bugs like #5894 that would attempt to invoke private or otherwise inaccessible methods rather than continuing to search for a public version.This patch opens up the accessible-only method search from MethodGatherer so it can be reused for the one-off forms.
Fixes #5894