checkers.linear
Class LinearAnnotatedTypeFactory
java.lang.Object
checkers.types.AnnotatedTypeFactory
checkers.types.BasicAnnotatedTypeFactory<LinearChecker>
checkers.linear.LinearAnnotatedTypeFactory
public class LinearAnnotatedTypeFactory
extends BasicAnnotatedTypeFactory<LinearChecker>
Adds Unusable
qualifier to a type if it represents:
- Class declaration tree/element. Such a construct usually
requires the root qualifier.
Linear
reference once it is "used up"
Fields inherited from class checkers.types.AnnotatedTypeFactory |
annotations, atypes, elements, env, fromTreeCache, qualHierarchy, root, trees, types, uid, visitorState |
Methods inherited from class checkers.types.AnnotatedTypeFactory |
addAliasedAnnotation, aliasedAnnotation, annotateInheritedFromClass, canHaveAnnotatedTypeParameters, constructorFromUse, createLRUCache, declarationFromElement, fromClass, fromElement, fromElement, fromElement, fromExpression, fromMember, fromNewClass, fromTypeTree, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedTypeFromTypeTree, getBoxedType, getCurrentClassType, getCurrentMethodReceiver, getEnclosingType, getImplicitReceiverType, getPath, getQualifierHierarchy, getReceiver, getSelfType, getUnboxedType, getVisitorState, isMostEnclosingThisDeref, isWithinConstructor, postAsMemberOf, postInit, toAnnotatedType, toString, unify |
LinearAnnotatedTypeFactory
public LinearAnnotatedTypeFactory(LinearChecker checker,
CompilationUnitTree root)
annotateImplicit
public void annotateImplicit(Element elt,
AnnotatedTypeMirror type)
- Case 1: type of class declaration
- Overrides:
annotateImplicit
in class BasicAnnotatedTypeFactory<LinearChecker>
- Parameters:
elt
- an elementtype
- the type obtained from elt
createFlow
public Flow createFlow(LinearChecker checker,
CompilationUnitTree tree,
Set<AnnotationMirror> flowQuals)
- Description copied from class:
BasicAnnotatedTypeFactory
- Returns a
Flow
instance that performs flow sensitive analysis
to infer qualifiers on unqualified types.
- Overrides:
createFlow
in class BasicAnnotatedTypeFactory<LinearChecker>
- Parameters:
checker
- the checkertree
- the compilation unit associated with this factoryflowQuals
- the qualifiers to infer
- Returns:
- the flow analysis class