@TypeQualifiers(value={ArrayLen.class,BoolVal.class,CharVal.class,DoubleVal.class,IntVal.class,StringVal.class,BottomVal.class,UnknownVal.class,FloatVal.class,ShortVal.class,ByteVal.class,LongVal.class}) public class ValueAnnotatedTypeFactory extends BaseAnnotatedTypeFactory
Modifier and Type | Class and Description |
---|---|
protected class |
ValueAnnotatedTypeFactory.ValueTreeAnnotator
The TreeAnnotator for this AnnotatedTypeFactory
|
GenericAnnotatedTypeFactory.ScanState
AnnotatedTypeFactory.InheritedFromClassAnnotator
Modifier and Type | Field and Description |
---|---|
protected javax.lang.model.element.AnnotationMirror |
ANALYZABLE
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
ARRAYLEN
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
BOOLVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
BOTTOMVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
BYTEVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
CHARVAL
Annotation constants
|
protected java.util.List<javax.lang.model.element.AnnotationMirror> |
constantAnnotations |
protected java.util.Set<java.lang.String> |
coveredClassStrings |
protected javax.lang.model.element.AnnotationMirror |
DOUBLEVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
FLOATVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
INTVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
LONGVAL
Annotation constants
|
protected static int |
MAX_VALUES |
protected java.util.List<javax.lang.model.element.AnnotationMirror> |
orderedNumberAnnotations |
protected static java.util.Set<javax.lang.model.element.Modifier> |
PUBLIC_STATIC_FINAL_SET |
protected javax.lang.model.element.AnnotationMirror |
SHORTVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
STRINGVAL
Annotation constants
|
protected javax.lang.model.element.AnnotationMirror |
UNKNOWNVAL
Annotation constants
|
analyses, defaults, FLOW_BY_DEFAULT, flowResult, initializationStaticStore, initializationStore, methodInvocationStores, poly, regularExitStores, returnStatementStores, scannedClasses, treeAnnotator, typeAnnotator, useFlow
checker, elements, fromTreeCache, processingEnv, qualHierarchy, root, SHOULD_CACHE, SHOULD_READ_CACHE, shouldCache, shouldReadCache, trees, typeHierarchy, types, uid, visitorState
Constructor and Description |
---|
ValueAnnotatedTypeFactory(BaseTypeChecker checker)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
javax.lang.model.element.AnnotationMirror |
createAnnotation(java.lang.String name,
java.util.Set<?> values) |
QualifierHierarchy |
createQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory)
Factory method to easily change what QualifierHierarchy is
created.
|
protected MultiGraphQualifierHierarchy.MultiGraphFactory |
createQualifierHierarchyFactory()
Factory method to easily change what Factory is used to
create a QualifierHierarchy.
|
protected TreeAnnotator |
createTreeAnnotator()
Returns a
TreeAnnotator that adds annotations to a type based
on the contents of a tree. |
createFlowAnalysis
analyze, annotateImplicit, annotateImplicit, annotateImplicit, annotateImplicitWithFlow, applyInferredAnnotations, constructorFromUse, createFlowTransferFunction, createQualifierDefaults, createQualifierPolymorphism, createTypeAnnotator, dotOutputFileName, getDefaultedAnnotatedType, getEmptyStore, getFinalLocalValues, getInferredValueFor, getNodeForTree, getRegularExitStore, getReturnStatementStores, getStoreAfter, getStoreBefore, getSupportedMonotonicTypeQualifiers, getUseFlow, methodFromUse, performFlowAnalysis, postDirectSuperTypes, postInit, setRoot, setUseFlow
addAliasedAnnotation, addAliasedDeclAnnotation, aliasedAnnotation, annotateInheritedFromClass, annotateInheritedFromClass, buildIndexTypes, createLRUCache, createQualifierHierarchy, createQualifierHierarchy, createSupportedTypeQualifiers, createTypeHierarchy, declarationFromElement, fromClass, fromElement, fromElement, fromElement, fromExpression, fromMember, fromNewClass, fromTypeTree, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedTypeFromTypeTree, getAnnotationMirror, getAnnotationWithMetaAnnotation, getBoxedType, getCurrentClassTree, getCurrentClassType, getCurrentMethodReceiver, getDeclAnnotation, getDeclAnnotations, getDeclAnnotationWithMetaAnnotation, getElementUtils, getEnclosingMethod, getEnclosingType, getImplicitReceiverType, getMethodReturnType, getMethodReturnType, getPath, getProcessingEnv, getQualifierHierarchy, getReceiverType, getSelfType, getSupportedTypeQualifiers, getTreeUtils, getTypeHierarchy, getUnboxedType, getUninferredWildcardType, getVisitorState, getWildcardBoundedBy, isAnyEnclosingThisDeref, isFromByteCode, isFromStubFile, isMostEnclosingThisDeref, isSupportedQualifier, isWithinConstructor, postAsMemberOf, postProcessClassTree, setPathHack, toAnnotatedType, toString, type, typeVariablesFromUse
protected final javax.lang.model.element.AnnotationMirror INTVAL
protected final javax.lang.model.element.AnnotationMirror DOUBLEVAL
protected final javax.lang.model.element.AnnotationMirror BOOLVAL
protected final javax.lang.model.element.AnnotationMirror CHARVAL
protected final javax.lang.model.element.AnnotationMirror ARRAYLEN
protected final javax.lang.model.element.AnnotationMirror STRINGVAL
protected final javax.lang.model.element.AnnotationMirror BOTTOMVAL
protected final javax.lang.model.element.AnnotationMirror UNKNOWNVAL
protected final javax.lang.model.element.AnnotationMirror ANALYZABLE
protected final javax.lang.model.element.AnnotationMirror SHORTVAL
protected final javax.lang.model.element.AnnotationMirror BYTEVAL
protected final javax.lang.model.element.AnnotationMirror LONGVAL
protected final javax.lang.model.element.AnnotationMirror FLOATVAL
protected static final java.util.Set<javax.lang.model.element.Modifier> PUBLIC_STATIC_FINAL_SET
protected static final int MAX_VALUES
protected final java.util.List<javax.lang.model.element.AnnotationMirror> constantAnnotations
protected final java.util.List<javax.lang.model.element.AnnotationMirror> orderedNumberAnnotations
protected java.util.Set<java.lang.String> coveredClassStrings
public ValueAnnotatedTypeFactory(BaseTypeChecker checker)
checker
- The checker used with this AnnotatedTypeFactorypublic javax.lang.model.element.AnnotationMirror createAnnotation(java.lang.String name, java.util.Set<?> values)
protected MultiGraphQualifierHierarchy.MultiGraphFactory createQualifierHierarchyFactory()
AnnotatedTypeFactory
createQualifierHierarchyFactory
in class AnnotatedTypeFactory
public QualifierHierarchy createQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory)
AnnotatedTypeFactory
createQualifierHierarchy
in class AnnotatedTypeFactory
protected TreeAnnotator createTreeAnnotator()
GenericAnnotatedTypeFactory
TreeAnnotator
that adds annotations to a type based
on the contents of a tree.
Subclasses may override this method to specify more appriopriate
TreeAnnotator
createTreeAnnotator
in class GenericAnnotatedTypeFactory<CFValue,CFStore,CFTransfer,CFAnalysis>