Community
Participate
Working Groups
Generally the MethodHandle class file is used to resolve any calls to its classes, but there are occasions that the associated source file will be used during search. In these cases, I see that the AnnotationPolymorphicSignature tag is not being set.
Created attachment 198371 [details] Proposed patch java.lang.invoke.MethodHandle.PolymorphicSignature is being searched for, while java.lang.invoke.MethodHandle$PolymorphicSignature is getting passed for. I haven't removed the previous checks. Olivier, do you think java.lang.invoke.MethodHandle.PolymorphicSignature could be passed sometimes?
Patch looks good. I'll attach a new one with typos fixed. Could you please provide steps that is passing in the new code ?
Created attachment 198562 [details] Same patch with fixed typos
Patch itself looks good, but I would like to see a test case that goes through that code.
(In reply to comment #4) Adding a test case seems to be difficult, will try!
In this case, just describe the steps that led to this fix, please. Thanks.
Consistent way is to run this through debugger with a fresh workspace 1. Create a Java7 project with a jdk with sources. 2. Put a break point in ReferenceBinding#computeId() around the patch. 3. Create a dummy class file and try to search for Method references to MethodHandle.invokeExact(). 4. Breakpoint should be hit.
Released the patch on BETA_JAVA7 branch
Verified using the steps from comment #7.