<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Ben,<br>
<br>
It seems that the following is a correct patch for these 2 files
(Parser.java and Name.java):<br>
<br>
diff -r 871c1708de94
src/share/classes/com/sun/tools/javac/parser/JavacParser.java<br>
--- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java    
Tue Dec 23 05:50:59 2008 +0300<br>
+++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java    
Sat Dec 27 00:29:06 2008 +0300<br>
@@ -1027,7 +1027,13 @@<br>
                     return illegal(pos);<br>
                 }<br>
             } else {<br>
-                return illegal();<br>
+                // Support the corner case of
myMethodHandle.&lt;void&gt;invoke() by passing<br>
+                // a void type (like other primitive types) to the
next phase.<br>
+                // The error will be reported in Attr.attribTypes or
Attr.visitApply.<br>
+                JCPrimitiveTypeTree ti =
to(F.at(pos).TypeIdent(TypeTags.VOID));<br>
+                S.nextToken();<br>
+                return ti;<br>
+                //return illegal();<br>
             }<br>
             break;<br>
         default:<br>
diff -r 871c1708de94
src/share/classes/com/sun/tools/javac/util/Names.java<br>
--- a/src/share/classes/com/sun/tools/javac/util/Names.java     Tue Dec
23 05:50:59 2008 +0300<br>
+++ b/src/share/classes/com/sun/tools/javac/util/Names.java     Sat Dec
27 00:29:07 2008 +0300<br>
@@ -73,6 +73,8 @@<br>
     public final Name java_io_Serializable;<br>
     public final Name serialVersionUID;<br>
     public final Name java_lang_Enum;<br>
+    public final Name java_dyn_MethodHandle;<br>
+    public final Name java_dyn_Dynamic;<br>
     public final Name package_info;<br>
     public final Name ConstantValue;<br>
     public final Name LineNumberTable;<br>
@@ -111,6 +113,7 @@<br>
     public final Name value;<br>
     public final Name getMessage;<br>
     public final Name getClass;<br>
+    public final Name invoke;<br>
     public final Name TYPE;<br>
     public final Name FIELD;<br>
     public final Name METHOD;<br>
@@ -175,6 +178,8 @@<br>
         java_lang_Cloneable = fromString("java.lang.Cloneable");<br>
         java_io_Serializable = fromString("java.io.Serializable");<br>
         java_lang_Enum = fromString("java.lang.Enum");<br>
+        java_dyn_MethodHandle = fromString("java.dyn.MethodHandle");<br>
+        java_dyn_Dynamic = fromString("java.dyn.Dynamic");<br>
         package_info = fromString("package-info");<br>
         serialVersionUID = fromString("serialVersionUID");<br>
         ConstantValue = fromString("ConstantValue");<br>
@@ -216,6 +221,7 @@<br>
         value = fromString("value");<br>
         getMessage = fromString("getMessage");<br>
         getClass = fromString("getClass");<br>
+        invoke = fromString("invoke");<br>
<br>
         TYPE = fromString("TYPE");<br>
         FIELD = fromString("FIELD");<br>
<br>
Best regards,<br>
Kirill<br>
<br>
Ben Evans пишет:
<blockquote
 cite="mid:%3C38a53eb30812261053r49aae801n3e44aa7c9e701fd1@mail.gmail.com%3E"
 type="cite">Merry Christmas John (and everyone),<br>
  <br>
I'm starting to look at the delta between the current bsd-port and b42,
to see what needs doing to get this building on Mac and I've noticed
something which seems a bit odd about meth.patch<br>
  <br>
It contains this hunk:<br>
  <br>
diff --git a/src/share/classes/com/sun/tools/javac/util/Name.java
b/src/share/classes/com/sun/tools/javac/util/Name.java<br>
--- a/src/share/classes/com/sun/tools/javac/util/Name.java<br>
+++ b/src/share/classes/com/sun/tools/javac/util/Name.java<br>
@@ -437,6 +437,8 @@<br>
             java_lang_Cloneable = fromString("java.lang.Cloneable");<br>
             java_io_Serializable = fromString("java.io.Serializable");<br>
             java_lang_Enum = fromString("java.lang.Enum");<br>
+            java_dyn_MethodHandle =
fromString("java.dyn.MethodHandle");<br>
+            java_dyn_Dynamic = fromString("java.dyn.Dynamic");<br>
             package_info = fromString("package-info");<br>
             serialVersionUID = fromString("serialVersionUID");<br>
             ConstantValue = fromString("ConstantValue");<br>
@@ -478,6 +480,7 @@<br>
             value = fromString("value");<br>
             getMessage = fromString("getMessage");<br>
             getClass = fromString("getClass");<br>
+            invoke = fromString("invoke");<br>
 <br>
             TYPE = fromString("TYPE");<br>
             FIELD = fromString("FIELD");<br>
@@ -571,6 +574,8 @@<br>
         public final Name java_io_Serializable;<br>
         public final Name serialVersionUID;<br>
         public final Name java_lang_Enum;<br>
+        public final Name java_dyn_MethodHandle;<br>
+        public final Name java_dyn_Dynamic;<br>
         public final Name package_info;<br>
         public final Name ConstantValue;<br>
         public final Name LineNumberTable;<br>
@@ -612,6 +617,7 @@<br>
         public final Name value;<br>
         public final Name getMessage;<br>
         public final Name getClass;<br>
+        public final Name invoke;<br>
 <br>
         public final Name TYPE;<br>
         public final Name FIELD;<br>
  <br>
but in the code which I fclone'd today, those additions look like they
should be applied to Names.java rather than Name.java as the diff line
would suggest.<br>
  <br>
Am I making some schoolboy error which currently eludes me?<br>
  <br>
Thanks,<br>
  <br>
Ben<br>
  <br>
  <div class="gmail_quote">On Fri, Dec 26, 2008 at 9:03 AM, John Rose <span
 dir="ltr">&lt;<a moz-do-not-send="true" href="mailto:John.Rose@sun.com">John.Rose@sun.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div style="">I've spent the last 24+ hours enjoying more
traditional forms of merrymaking.  (Though I was indeed having a wild
ride with that meth.patch stuff.)
    <div><br>
    </div>
    <div>Merry Christmas (x 12 days of); enjoy all the good things the
holidays bring!</div>
    <div><br>
    </div>
    <div>Warm best wishes,</div>
    <div>-- John
    <div class="Ih2E3d">
    <div><br>
    <div>
    <div>On Dec 25, 2008, at 6:36 AM, David Pollak wrote:</div>
    <blockquote type="cite">
      <p>(F)rebasing meth... a new kind of Christmas cheer.  :-)</p>
      <p>Sorry... it's t-minus 30 minutes to kids waking up and I spent
many hours last night doing "some assembly required"</p>
      <blockquote type="cite">
        <div><br>
        </div>
        <blockquote>On Dec 24, 2008 8:22 PM, &lt;<a
 moz-do-not-send="true" href="mailto:john.rose@sun.com" target="_blank">john.rose@sun.com</a>&gt;
wrote:<br>
          <br>
Changeset: 1d42dc25d9e3<br>
Author:    jrose<br>
Date:      2008-12-24 19:53 -0800<br>
URL:       <a moz-do-not-send="true"
 href="http://hg.openjdk.java.net/mlvm/mlvm/hotspot/rev/1d42dc25d9e3"
 target="_blank">http://hg.openjdk.java.net/mlvm/mlvm/hotspot/rev/1d42dc25d9e3</a><br>
          <br>
meth: rebase to b42; improve implementation<br>
          <br>
! meth.patch<br>
! meth.txt<br>
! series<br>
          <br>
_____________</blockquote>
      </blockquote>
    </blockquote>
    </div>
    </div>
    </div>
    </div>
    </div>
    <br>
_______________________________________________<br>
mlvm-dev mailing list<br>
    <a moz-do-not-send="true" href="mailto:mlvm-dev@openjdk.java.net">mlvm-dev@openjdk.java.net</a><br>
    <a moz-do-not-send="true"
 href="http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev"
 target="_blank">http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev</a><br>
    <br>
  </blockquote>
  </div>
  <br>
</blockquote>
<br>
</body>
</html>