--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Fri Nov 30 15:14:12 2012 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Fri Nov 30 15:14:25 2012 +0000
@@ -437,23 +437,8 @@
throw failure("not.a.functional.intf.1",
diags.fragment("no.abstracts", Kinds.kindName(origin), origin));
} else if (abstracts.size() == 1) {
- if (abstracts.first().type.tag == FORALL) {
- throw failure("invalid.generic.desc.in.functional.intf",
- abstracts.first(),
- Kinds.kindName(origin),
- origin);
- } else {
- return new FunctionDescriptor(abstracts.first());
- }
+ return new FunctionDescriptor(abstracts.first());
} else { // size > 1
- for (Symbol msym : abstracts) {
- if (msym.type.tag == FORALL) {
- throw failure("invalid.generic.desc.in.functional.intf",
- abstracts.first(),
- Kinds.kindName(origin),
- origin);
- }
- }
FunctionDescriptor descRes = mergeDescriptors(origin, abstracts.toList());
if (descRes == null) {
//we can get here if the functional interface is ill-formed