mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
8056061: Mark implementations of public interfaces with an annotation
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. Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com> Reviewed-by: jjg, mcimadamore, jfranck
This commit is contained in:
parent
afd18d4cd4
commit
c9406c88c4
64 changed files with 1307 additions and 414 deletions
|
@ -30,6 +30,8 @@ import java.util.ResourceBundle;
|
|||
import com.sun.source.util.JavacTask;
|
||||
import com.sun.tools.javac.api.BasicJavacTask;
|
||||
import com.sun.tools.javac.code.Symtab;
|
||||
import com.sun.tools.javac.model.JavacElements;
|
||||
import com.sun.tools.javac.model.JavacTypes;
|
||||
import com.sun.tools.javac.tree.JCTree;
|
||||
import com.sun.tools.javac.tree.TreeScanner;
|
||||
import com.sun.tools.javac.util.Context;
|
||||
|
@ -49,6 +51,8 @@ public abstract class AbstractCodingRulesAnalyzer {
|
|||
private final Options options;
|
||||
protected final Messages messages;
|
||||
protected final Symtab syms;
|
||||
protected final JavacElements elements;
|
||||
protected final JavacTypes types;
|
||||
protected TreeScanner treeVisitor;
|
||||
protected Kind eventKind;
|
||||
|
||||
|
@ -61,6 +65,8 @@ public abstract class AbstractCodingRulesAnalyzer {
|
|||
diags = JCDiagnostic.Factory.instance(context);
|
||||
messages = new Messages();
|
||||
syms = Symtab.instance(context);
|
||||
elements = JavacElements.instance(context);
|
||||
types = JavacTypes.instance(context);
|
||||
}
|
||||
|
||||
protected class Messages {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue