public class LockAnnotatedTypeFactory extends BasicAnnotatedTypeFactory<LockChecker>
Lock
type system.
The annotated types returned by class contain GuardedBy
type
qualifiers only for the locks that are not currently held.AnnotatedTypeFactory.InheritedFromClassAnnotator
checker, defaults, flow, FLOW_BY_DEFAULT, poly, treeAnnotator, typeAnnotator, useFlow
annotations, atypes, elements, env, fromTreeCache, qualHierarchy, root, trees, types, uid, visitorState
Constructor and Description |
---|
LockAnnotatedTypeFactory(LockChecker checker,
@Nullable CompilationUnitTree root) |
Modifier and Type | Method and Description |
---|---|
@Nullable AnnotationMirror |
aliasedAnnotation(@Nullable AnnotationMirror a)
Returns the canonical annotation for the passed annotation if it is
an alias of a canonical one in the framework.
|
protected void |
annotateImplicit(@Nullable Tree tree,
@Mutable AnnotatedTypeMirror type)
Adds implicit annotations to a type obtained from a
Tree . |
List<@ReadOnly String> |
getHeldLock() |
void |
setHeldLocks(List<@ReadOnly String> heldLocks) |
annotateImplicit, annotateImplicit, constructorFromUse, createFlow, createFlowQualifiers, createTreeAnnotator, createTypeAnnotator, getDefaultedAnnotatedType, methodFromUse, postDirectSuperTypes, postInit
addAliasedAnnotation, annotateInheritedFromClass, canHaveAnnotatedTypeParameters, createLRUCache, declarationFromElement, fromClass, fromElement, fromElement, fromElement, fromExpression, fromMember, fromNewClass, fromTypeTree, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedTypeFromTypeTree, getBoxedType, getCurrentClassTree, getCurrentClassType, getCurrentMethodReceiver, getDeclAnnotation, getEnclosingType, getImplicitReceiverType, getPath, getQualifierHierarchy, getReceiverType, getSelfType, getUnboxedType, getVisitorState, isAnyEnclosingThisDeref, isMostEnclosingThisDeref, isSupportedQualifier, isWithinConstructor, postAsMemberOf, toAnnotatedType, toString, typeVariablesFromUse, unify
public LockAnnotatedTypeFactory(LockChecker checker, @Nullable CompilationUnitTree root)
protected void annotateImplicit(@Nullable Tree tree, @Mutable AnnotatedTypeMirror type)
AnnotatedTypeFactory
Tree
. By
default, this method does nothing. Subclasses should use this method to
implement implicit annotations specific to their type systems.annotateImplicit
in class BasicAnnotatedTypeFactory<LockChecker>
tree
- an AST nodetype
- the type obtained from tree
public @Nullable AnnotationMirror aliasedAnnotation(@Nullable AnnotationMirror a)
AnnotatedTypeFactory
aliasedAnnotation
in class AnnotatedTypeFactory