1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java Wed Jan 16 16:27:01 2013 +0000 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java Wed Jan 16 16:30:11 2013 +0000 1.3 @@ -2601,6 +2601,18 @@ 1.4 if (!isOverrider(s)) 1.5 log.error(a.pos(), "method.does.not.override.superclass"); 1.6 } 1.7 + 1.8 + if (a.annotationType.type.tsym == syms.functionalInterfaceType.tsym) { 1.9 + if (s.kind != TYP) { 1.10 + log.error(a.pos(), "bad.functional.intf.anno"); 1.11 + } else { 1.12 + try { 1.13 + types.findDescriptorSymbol((TypeSymbol)s); 1.14 + } catch (Types.FunctionDescriptorLookupError ex) { 1.15 + log.error(a.pos(), "bad.functional.intf.anno.1", ex.getDiagnostic()); 1.16 + } 1.17 + } 1.18 + } 1.19 } 1.20 1.21 /**