Details
-
Bug
-
Resolution: Fixed
-
P4
-
21
Description
A few things that could be improved in the specification of MethodHandle constant resolution:
- References to constant pool structures are inappropriate here. 5.4.1 already established that a "symbolic reference to a method handle" contains "live" representations of other constants, and we can just talk about those directly.
- The variable C, representing the referenced class, is not formally introduced
- The rule about REF_invokeSpecial constraining which referenced classes, C, are legal, belongs in the list given by step 2.
- When talking about classes, "subclass of" is better than the vague "assignable to".
- Step 3, resolution of classes given by the descriptor, is imprecise (some descriptor types are not class types) and unnecessary (step 4 is going to resolve a MethodType, which will have the same effect)
- References to constant pool structures are inappropriate here. 5.4.1 already established that a "symbolic reference to a method handle" contains "live" representations of other constants, and we can just talk about those directly.
- The variable C, representing the referenced class, is not formally introduced
- The rule about REF_invokeSpecial constraining which referenced classes, C, are legal, belongs in the list given by step 2.
- When talking about classes, "subclass of" is better than the vague "assignable to".
- Step 3, resolution of classes given by the descriptor, is imprecise (some descriptor types are not class types) and unnecessary (step 4 is going to resolve a MethodType, which will have the same effect)
Attachments
Issue Links
- relates to
-
JDK-8301722 5.4.3.5: Which linkage errors are enforced by MethodHandle resolution?
-
- Open
-