8056061: Mark implementations of public interfaces with an annotation
Summary: Adding @DefinedBy annotation to mark methods that implement public API methods; annotating the methods; adding a coding rules analyzer to enforce all such methods are annotated.
Reviewed-by: jjg, mcimadamore, jfranck
Contributed-by: jan.lahoda@oracle.com, jonathan.gibbons@oracle.com
Test.java:19:17: compiler.err.proc.messager: compiler.misc.crules.no.defined.by
Test.java:23:17: compiler.err.proc.messager: compiler.misc.crules.defined.by.no.api
Test.java:27:17: compiler.err.proc.messager: compiler.misc.crules.wrong.defined.by
3 errors