What am I doing wrong? hg: lambda/lambda/langtools: More bug fixes:
Rémi Forax
forax at univ-mlv.fr
Sat Aug 14 06:51:48 PDT 2010
Hi Howard,
the syntax is Person#compareByAge() and not
#Person.compareByAge().
#Person... is the starts the old syntax for function types.
Rémi
Le 14/08/2010 13:02, Howard Lovatt a écrit :
> Great work on updating JDK 7.
>
> I have been trying to use the method pointers but I get a what I think
> is a bug. I get:
>
>
> lambdas/Main.java:35: function types are not supported in -source 1.7
> Arrays.sort( people, #Person.compareByAge );
> ^
> (use -source 7 or higher and -XDallowFunctionTypes to enable function types)
> lambdas/Main.java:35: '(' expected
> Arrays.sort( people, #Person.compareByAge );
> ^
> lambdas/Main.java:35: ')' expected
> Arrays.sort( people, #Person.compareByAge );
>
>
> My runtime line is:
>
>
> $jdk/javac -Xlint:all -source 7 -XDallowFunctionTypes -d
> ../build/classes $package/*.java
>
>
> I built javac from the latest hg changeset on a Mac running 10.6.
> Therefore javac in the above is the script created by the makefile in
> the hg repository. The underling VM is MLVM from
> http://www.concord.org/~sbannasch/mlvm/.
>
> If I change to #Person.compareByAge() I get:
>
>
> lambdas/Main.java:35: function types are not supported in -source 1.7
> Arrays.sort( people, #Person.compareByAge() );
> ^
> (use -source 7 or higher and -XDallowFunctionTypes to enable function types)
> 1 error
>
>
> If I change to #Person.compareByAge( Person, Person ) I get:
>
>
> lambdas/Main.java:35: function types are not supported in -source 1.7
> Arrays.sort( people, #Person.compareByAge( Person, Person ) );
> ^
> (use -source 7 or higher and -XDallowFunctionTypes to enable function types)
> 1 error
>
>
> If I change to Person#compareByAge( Person, Person ) I get:
>
>
> An exception has occurred in the compiler (1.7.0-internal). Please
> file a bug at the Java Developer Connection
> (http://java.sun.com/webapps/bugreport) after checking the Bug Parade
> for duplicates. Include your program and the following diagnostic in
> your report. Thank you.
> com.sun.tools.javac.code.Symbol$CompletionFailure: class file for
> com.sun.runtime.ProxyHelper not found
>
>
>
> What am I doing wrong?
>
> -- Howard.
>
>
More information about the lambda-dev
mailing list