You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment JavaClass.getMethod(..) simply looks for any method matching the signature. There are some edge cases (bridge methods mentioned in #212), that cause two matching methods to be present, one synthetic and one non-synthetic one. We should make sure that getMethod(..) always returns the same value and also return the value that is not synthetic.
The text was updated successfully, but these errors were encountered:
In some cases (like bridge methods) there would be more than one method matching the same name and parameter type names. Since we used a `Set` and just iterated until we found some match the result was not deterministic in these cases, i.e. depended on the JVM implementation or similar uncertain factors.
We now take all code units into consideration that match name and parameters. If this result should not be deterministic we make sure to pick the non-synthetic code unit first because users are usually interested in that one (coming from their source code) instead of some synthetic code added by the compiler.
Resolves: #256
This is a follow up of #212
At the moment
JavaClass.getMethod(..)
simply looks for any method matching the signature. There are some edge cases (bridge methods mentioned in #212), that cause two matching methods to be present, one synthetic and one non-synthetic one. We should make sure thatgetMethod(..)
always returns the same value and also return the value that is not synthetic.The text was updated successfully, but these errors were encountered: