1.1 --- a/src/share/classes/com/sun/tools/javac/code/Types.java Fri Nov 30 15:14:12 2012 +0000 1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Fri Nov 30 15:14:25 2012 +0000 1.3 @@ -437,23 +437,8 @@ 1.4 throw failure("not.a.functional.intf.1", 1.5 diags.fragment("no.abstracts", Kinds.kindName(origin), origin)); 1.6 } else if (abstracts.size() == 1) { 1.7 - if (abstracts.first().type.tag == FORALL) { 1.8 - throw failure("invalid.generic.desc.in.functional.intf", 1.9 - abstracts.first(), 1.10 - Kinds.kindName(origin), 1.11 - origin); 1.12 - } else { 1.13 - return new FunctionDescriptor(abstracts.first()); 1.14 - } 1.15 + return new FunctionDescriptor(abstracts.first()); 1.16 } else { // size > 1 1.17 - for (Symbol msym : abstracts) { 1.18 - if (msym.type.tag == FORALL) { 1.19 - throw failure("invalid.generic.desc.in.functional.intf", 1.20 - abstracts.first(), 1.21 - Kinds.kindName(origin), 1.22 - origin); 1.23 - } 1.24 - } 1.25 FunctionDescriptor descRes = mergeDescriptors(origin, abstracts.toList()); 1.26 if (descRes == null) { 1.27 //we can get here if the functional interface is ill-formed