JDK7 language specification issue with MethodHandle

Rémi Forax forax at univ-mlv.fr
Tue Apr 5 01:24:20 PDT 2011

On 04/05/2011 06:57 AM, Neal Gafter wrote:
> Project coin took on the task of specifying language changes related to
> method handles,  invokeDynamic, and other jsr292-related things.  In the end
> project coin's leaders decided not to specify any Java language changes in
> jdk7 for jsr292.

Several JLS changes was proposed. One for invoking method handles,
one for specifying constant method handle and an other for
invokedynamic. The changes for invokedynamic and constant method handle
was delayed due to its interaction with lambda.

You're right that these changes was first submitted to coin,
but it was latter decided that the only the syntax change implemented
in Java 7, invoking a method handle, will be done under JSR 292.

> The documentation for MethodHandle (see "Method Handle Compilation" in<
> http://download.java.net/jdk7/docs/api/java/lang/invoke/MethodHandle.html>)
> appears to contradict the requirements of the Java Language Specification by
> describing compiler behavior that does not conform to the requirements of
> the JLS.  I have not checked, but I would not be surprised if jdk7's javac
> also fails to satisfy the specification in this area.  This is the kind of
> backdoor language change that Java's corporate owner has consistently
> considered a clear violation of Java trademark licensing requirements.

I don't understand exactly what you mean.
Coud you be a little more specific ?

> Are there any plans to resolve this?  Are the required language changes
> going into the JLS through some other mechanism?
> Cheers,
> Neal


More information about the coin-dev mailing list