@TypeQualifiers(value={ReadOnly.class,ThisMutable.class,Mutable.class,PolyRead.class,QReadOnly.class,PolyAll.class}) public class JavariChecker extends BaseTypeChecker
@ReadOnly
, @Mutable
,
@Assignable
, @PolyRead
and @QReadOnly
).SourceChecker.CheckerError
Modifier and Type | Field and Description |
---|---|
protected AnnotationMirror |
ASSIGNABLE |
protected AnnotationMirror |
MUTABLE |
protected AnnotationMirror |
POLYREAD |
protected AnnotationMirror |
QREADONLY |
protected AnnotationMirror |
READONLY |
protected AnnotationMirror |
THISMUTABLE |
currentPath, currentRoot, DETAILS_SEPARATOR, messager, messages, trees
processingEnv
Constructor and Description |
---|
JavariChecker() |
Modifier and Type | Method and Description |
---|---|
QualifierHierarchy |
createQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory)
Factory method to easily change what QualifierHierarchy is
created.
|
protected TypeHierarchy |
createTypeHierarchy()
Implements the
@QReadOnly behavior on generic types,
creating a new TypeHierarchy class that allows a
comparison of type arguments to succeed if the left hand side
is annotated with @QReadOnly or if the regular
comparison succeeds. |
void |
initChecker()
Initializes the checker: calls init method on super class,
creates a local AnnotationFactory based on the processing
environment, and uses it to create the protected
AnnotationMirrors used through this checker.
|
createFactory, createQualifierHierarchy, createQualifierHierarchyFactory, createSourceVisitor, createSupportedTypeQualifiers, getQualifierHierarchy, getSupportedLintOptions, getSupportedTypeQualifiers, getTypeHierarchy, invokeConstructorFor
createSupportedLintOptions, errorAbort, errorAbort, formatStackTrace, fullMessageOf, getLintOption, getLintOption, getMessages, getProcessingEnvironment, getProperties, getSupportedAnnotationTypes, getSupportedOptions, getSupportedSourceVersion, getSuppressWarningsKey, message, printStats, report, setLintOption, setSupportedLintOptions, shouldAddShutdownHook, shouldSkipDefs, shouldSkipDefs, shouldSkipUses, shutdownHook, typeProcess, typeProcessingStart
init, process, typeProcessingOver
getCompletions, isInitialized, toString
protected AnnotationMirror READONLY
protected AnnotationMirror THISMUTABLE
protected AnnotationMirror MUTABLE
protected AnnotationMirror POLYREAD
protected AnnotationMirror QREADONLY
protected AnnotationMirror ASSIGNABLE
public void initChecker()
initChecker
in class BaseTypeChecker
AbstractProcessor.init(ProcessingEnvironment)
public QualifierHierarchy createQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory)
BaseTypeChecker
createQualifierHierarchy
in class BaseTypeChecker
protected TypeHierarchy createTypeHierarchy()
@QReadOnly
behavior on generic types,
creating a new TypeHierarchy
class that allows a
comparison of type arguments to succeed if the left hand side
is annotated with @QReadOnly
or if the regular
comparison succeeds.createTypeHierarchy
in class BaseTypeChecker