<div dir="ltr">Sounds like I really should look into fixing this.&nbsp; I had hoped this problem went away with my most recent changes, but I didn&#39;t check.&nbsp; Apparently not.<br><br>All of the previous versions are available for download, in files of the form <a href="http://www.javac.info/closures-YYYY-MM-DD.tar.gz">http://www.javac.info/closures-YYYY-MM-DD.tar.gz</a> where those are the year, month, and day that I produced the prototype.&nbsp; Here is a list of the ones that are there:<br>
<br>closures-2008-02-01.tar.gz&nbsp; closures-2008-02-26.tar.gz&nbsp; closures-2008-04-27.tar.gz&nbsp; closures-2008-07-07.tar.gz<br>closures-2008-02-02.tar.gz&nbsp; closures-2008-03-05.tar.gz&nbsp; closures-2008-05-04.tar.gz&nbsp; closures-2008-07-13.tar.gz<br>
closures-2008-02-07.tar.gz&nbsp; closures-2008-03-17.tar.gz&nbsp; closures-2008-05-10.tar.gz&nbsp; closures-2008-08-02.tar.gz<br>closures-2008-02-12.tar.gz&nbsp; closures-2008-03-18.tar.gz&nbsp; closures-2008-05-11.tar.gz&nbsp; closures-2008-08-04.tar.gz<br>
closures-2008-02-18.tar.gz&nbsp; closures-2008-03-22.tar.gz&nbsp; closures-2008-07-04.tar.gz&nbsp; closures-2008-08-11.tar.gz<br>closures-2008-02-22.tar.gz&nbsp; closures-2008-04-14.tar.gz&nbsp; closures-2008-07-06.tar.gz<br><br>All the earlier ones are also available but using a slightly different naming convention:<br>
<br>closures-2007-10-16.ztar&nbsp;&nbsp; closures-2007-10-28b.ztar&nbsp; closures-2007-11-05.ztar&nbsp;&nbsp; closures-2007-11-11.ztar<br>closures-2007-10-21.ztar&nbsp;&nbsp; closures-2007-10-29a.ztar&nbsp; closures-2007-11-07.ztar&nbsp;&nbsp; closures-2007-11-14.ztar<br>
closures-2007-10-22.ztar&nbsp;&nbsp; closures-2007-10-29b.ztar&nbsp; closures-2007-11-07b.ztar&nbsp; closures-2007-11-20.ztar<br>closures-2007-10-24.ztar&nbsp;&nbsp; closures-2007-11-01.ztar&nbsp;&nbsp; closures-2007-11-07c.ztar&nbsp; closures-2007-11-30.ztar<br>closures-2007-10-28a.ztar&nbsp; closures-2007-11-04.ztar&nbsp;&nbsp; closures-2007-11-10.ztar<br>
<br>Hope this helps!<br><br>Regards,<br>Neal<br><br><div class="gmail_quote">2008/10/3 Javier Fernandez-Ivern <span dir="ltr">&lt;<a href="mailto:javier@ivern.org" target="_blank">javier@ivern.org</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div dir="ltr">Hello Neal,<br><br>I know you&#39;re a busy man, but do you keep older versions of the compiler available for download anywhere?&nbsp; I have a bunch of code that used to work just fine with the compiler that was current as of early January (possibly later ones too, but I haven&#39;t touched this stuff since then), but no longer runs due to the below error (compiles just fine, then bombs during execution).<br>


<br>So in the interest of working on my stuff some more, I was wondering if I could get the older compiler to work on until this is sorted out.&nbsp; Whichever one was current as of about January 6th, 2008 should be perfect.&nbsp; Thanks in advance, and sorry to bother.<br>


<br>If you want, I can send you the full sources I have to trigger this bug, but Mark&#39;s example below triggers it as well and is definitely far more concise.<br><font color="#888888"><br>Javier</font><div><div></div>

<div><br><br><div class="gmail_quote">---------- Forwarded message ----------<br>
From: <b class="gmail_sendername">Mark Mahieu</b> <span dir="ltr">&lt;<a href="mailto:mark@twistedbanana.demon.co.uk" target="_blank">mark@twistedbanana.demon.co.uk</a>&gt;</span><br>Date: Wed, Aug 6, 2008 at 5:20 AM<br>

Subject: VerifyError: Wrong return type in function<br>
To: Neal Gafter &lt;<a href="mailto:neal@gafter.com" target="_blank">neal@gafter.com</a>&gt;<br>Cc: <a href="mailto:closures-dev@openjdk.java.net" target="_blank">closures-dev@openjdk.java.net</a><br><br><br>FYI, the following code (all in one compilation unit) compiles but fails with a VerifyError when run. &nbsp;The test case is about as simple as I could make it...<br>



<br>
<br>
public class TriggerVerifyError {<br>
 &nbsp; &nbsp;public static void main(String[] args) {<br>
 &nbsp; &nbsp; &nbsp; &nbsp;new Foo() {}.run();<br>
 &nbsp; &nbsp;}<br>
}<br>
<br>
class Foo {<br>
 &nbsp; &nbsp;void run() {<br>
 &nbsp; &nbsp; &nbsp; &nbsp;{=&gt; String} fn =<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{=&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;String s = null;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;};<br>
 &nbsp; &nbsp;}<br>
}<br>
<br>
<br>
Exception in thread &quot;main&quot; java.lang.VerifyError: (class: Foo$2, method: invoke signature: ()Ljava/lang/String;) Wrong return type in function<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at Foo.&lt;clinit&gt;(TriggerVerifyError.java:10)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at TriggerVerifyError.main(TriggerVerifyError.java:3)<br>
<br>
<br>
Regards,<br><font color="#888888">
<br>
Mark<br>
<br>
</font></div><br></div></div></div>
</blockquote></div><br></div>