Fix an edge case in the Reflector's search for a public method declaration

Description

Can't invoke from Clojure:

Cause: The Reflector is not taking into account that a non-public class can implement an interface, and have a non-public parent class contain an implementation of a method on that interface.

Approach: The solution I took is to pass in the target object's class instead of the declaring class of the method object.

Patch: clj-1609-3.patch + clj-1609-test.patch

Screened by: Fogus

Environment

None

Activity

Show:
Alex Miller
August 24, 2015, 6:11 PM

Added clj-1609-3.patch which is identical to prior but has 15 lines of context instead.

Rich Hickey
August 24, 2015, 3:54 PM

Can I get some more context in this diff please?

Fogus
August 21, 2015, 6:53 PM

The patch and test are straight-forward and clean.

Alex Miller
August 18, 2015, 10:58 PM

should be ready to screen now

Alex Miller
August 18, 2015, 10:58 PM

clj-1609-2.patch is identical to previous patch, just adds jira id to beginning of commit message

clj-1609-test.patch adds a reflection test that fails without the patch and passes with it.

Completed
Your pinned fields
Click on the next to a field label to start pinning.

Assignee

Unassigned

Reporter

Jeremy Heiler

Labels

Approval

Ok

Patch

Code and Test

Priority

Major

Affects versions

Fix versions