diff -r a8134c4ee2cf -r b659ca23d5f5 langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Wed Jul 05 16:51:35 2017 +0200 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Mon May 04 21:04:04 2009 -0700 @@ -1034,7 +1034,13 @@ return illegal(pos); } } else { - return illegal(); + // Support the corner case of myMethodHandle.invoke() by passing + // a void type (like other primitive types) to the next phase. + // The error will be reported in Attr.attribTypes or Attr.visitApply. + JCPrimitiveTypeTree ti = to(F.at(pos).TypeIdent(TypeTags.VOID)); + S.nextToken(); + return ti; + //return illegal(); } break; default: