I think that the mlvm repository is not uptodate, or was not up to date when stephen creates its build.
The code looks for MethodHandle.invoke but this method doesn't exist anymore because it was renamed to invokeExact. Rémi Le 11/01/2011 06:06, Howard Lovatt a écrit : > Using the latest version from the repository (854:89631f9e86b7) on > build 1.7.0-internal-fastdebug-stephen_2010_12_23_20_53-b00. The > following: > > final ActionListener al4 = Main#print( ActionEvent ); > b1.addActionListener( al4 ); > b1.doClick(); > > private static void print( final ActionEvent notUsed ) { > out.println( "Main.print method called" ); > } > > Gives: > > Exception in thread "main" java.lang.InternalError: JVM cannot find > invoker for (ActionEvent)void > at sun.dyn.Invokers.exactInvoker(Invokers.java:74) > at sun.dyn.Invokers.genericInvoker(Invokers.java:82) > at java.dyn.MethodHandle.invokeWithArguments(MethodHandle.java:420) > at java.dyn.MethodHandle.invokeVarargs(MethodHandle.java:468) > at com.sun.runtime.ProxyHelper$1.invoke(ProxyHelper.java:61) > at $Proxy0.actionPerformed(Unknown Source) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2019) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2342) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) > at > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) > at javax.swing.AbstractButton.doClick(AbstractButton.java:376) > at javax.swing.AbstractButton.doClick(AbstractButton.java:356) > at lambdas.Main.lambdas(Main.java:97) > at lambdas.Main.main(Main.java:23) > > > ---------- Forwarded message ---------- > From: Howard Lovatt<howard.lov...@gmail.com> > Date: 27 December 2010 17:14 > Subject: Two Problem with Method Reference > To: lambda-dev<lambda-...@openjdk.java.net> > > > Hi, > > I have found a coup[le of problems with the latest version of JDK 7 in > the Mercurial repository. For: > > 95: final ActionListener al4 = Main#print( ActionEvent ); > 96: b1.addActionListener( al4 ); > 97: b1.doClick(); > > and: > > private static void print( final ActionEvent notUsed ) { > out.println( "Main.print method called" ); > } > > It compiles OK, but when run I get: > > Exception in thread "main" java.lang.InternalError: JVM cannot find > invoker for (ActionEvent)void > at sun.dyn.Invokers.exactInvoker(Invokers.java:74) > at sun.dyn.Invokers.genericInvoker(Invokers.java:82) > at java.dyn.MethodHandle.invokeWithArguments(MethodHandle.java:420) > at java.dyn.MethodHandle.invokeVarargs(MethodHandle.java:468) > at com.sun.runtime.ProxyHelper$1.invoke(ProxyHelper.java:61) > at $Proxy0.actionPerformed(Unknown Source) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2019) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2342) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) > at > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) > at javax.swing.AbstractButton.doClick(AbstractButton.java:376) > at javax.swing.AbstractButton.doClick(AbstractButton.java:356) > at lambdas.Main.lambdas(Main.java:97) > at lambdas.Main.main(Main.java:23) > > If I remove static from the method definition: > > private void print( final ActionEvent notUsed ) { > out.println( "Main.print method called" ); > } > > Then when run I get: > > Exception in thread "main" java.dyn.WrongMethodTypeException: cannot > convert to (Object)Object: print(Main,ActionEvent)void > at java.dyn.MethodHandles.convertArguments(MethodHandles.java:1091) > at java.dyn.MethodHandle.asType(MethodHandle.java:507) > at java.dyn.MethodHandle.invokeWithArguments(MethodHandle.java:417) > at java.dyn.MethodHandle.invokeVarargs(MethodHandle.java:468) > at com.sun.runtime.ProxyHelper$1.invoke(ProxyHelper.java:61) > at $Proxy0.actionPerformed(Unknown Source) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2019) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2342) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) > at > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) > at javax.swing.AbstractButton.doClick(AbstractButton.java:376) > at javax.swing.AbstractButton.doClick(AbstractButton.java:356) > at lambdas.Main.lambdas(Main.java:97) > at lambdas.Main.main(Main.java:23) > > Hope everyone is having a good holiday (I count playing with JDK 7 as > relaxation!), > > -- Howard. > > > _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev