Details
-
Bug
-
Resolution: Fixed
-
P2
-
8
-
b108
-
generic
-
generic
-
Verified
Description
When the referenced method is annotated @CallerSensitive, MethodHandles.maybeBindCaller() creates an alias for the method handle -- not a DirectMethodHandle. A MethodHandleInfo can only be created for a DirectMethodHandle (or an AsVarargsCollector) -- throwing an IllegalArgumentException in other cases. This makes MethodHandleInfo an unreliable tool for cracking method handles.
The lambda metafactory depends on using MethodHandleInfo. See blocked issueJDK-8020816 for an example with detail.
The lambda metafactory depends on using MethodHandleInfo. See blocked issue
Attachments
Issue Links
- blocks
-
JDK-8020816 Metafactory crashes on code with method reference
- Closed