src/share/classes/com/sun/tools/javac/comp/Check.java

changeset 1497
7aa2025bbb7b
parent 1496
f785dcac17b7
child 1510
7873d37f5b37
     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      /**

mercurial