public class KeyForAnnotatedTypeFactory extends org.checkerframework.framework.type.GenericAnnotatedTypeFactory<KeyForValue,KeyForStore,KeyForTransfer,KeyForAnalysis>
Modifier and Type | Class and Description |
---|---|
protected static class |
KeyForAnnotatedTypeFactory.KeyForTypeHierarchy |
Modifier and Type | Field and Description |
---|---|
protected javax.lang.model.element.AnnotationMirror |
KEYFOR |
protected javax.lang.model.element.AnnotationMirror |
KEYFORBOTTOM |
protected javax.lang.model.element.AnnotationMirror |
UNKNOWNKEYFOR |
analysis, cfgVisualizer, defaults, dependentTypesHelper, emptyStore, FLOW_BY_DEFAULT, flowResult, flowResultAnalysisCaches, initializationStaticStore, initializationStore, methodInvocationStores, poly, regularExitStores, returnStatementStores, scannedClasses, transfer, treeAnnotator, typeAnnotator
checker, elements, fromExpressionTreeCache, fromMemberTreeCache, fromTypeTreeCache, ignoreUninferredTypeArguments, loader, processingEnv, qualHierarchy, reflectionResolver, root, shouldCache, trees, typeArgumentInference, typeFormatter, typeHierarchy, types, typeVarSubstitutor, uid, visitorState
Constructor and Description |
---|
KeyForAnnotatedTypeFactory(org.checkerframework.common.basetype.BaseTypeChecker checker) |
Modifier and Type | Method and Description |
---|---|
org.checkerframework.javacutil.Pair<org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedExecutableType,java.util.List<org.checkerframework.framework.type.AnnotatedTypeMirror>> |
constructorFromUse(NewClassTree tree) |
javax.lang.model.element.AnnotationMirror |
createKeyForAnnotationMirrorWithValue(java.util.LinkedHashSet<java.lang.String> values) |
javax.lang.model.element.AnnotationMirror |
createKeyForAnnotationMirrorWithValue(java.lang.String value) |
org.checkerframework.framework.type.QualifierHierarchy |
createQualifierHierarchy(org.checkerframework.framework.util.MultiGraphQualifierHierarchy.MultiGraphFactory factory) |
protected java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> |
createSupportedTypeQualifiers() |
protected org.checkerframework.framework.type.treeannotator.TreeAnnotator |
createTreeAnnotator() |
protected org.checkerframework.framework.type.TypeHierarchy |
createTypeHierarchy() |
protected java.lang.String |
getMethodName(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n) |
protected boolean |
isInvocationOfMapMethod(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n,
java.lang.String methodName) |
boolean |
isKeyForMap(java.lang.String mapExpression,
ExpressionTree tree)
Returns true if the expression tree is a key for the map.
|
addCheckedCodeDefaults, addCheckedStandardDefaults, addComputedTypeAnnotations, addComputedTypeAnnotations, addComputedTypeAnnotations, addDefaultAnnotations, addTypeNameImplicit, addUncheckedCodeDefaults, addUncheckedStandardDefaults, analyze, analyze, applyInferredAnnotations, checkAndPerformFlowAnalysis, checkForDefaultQualifierInHierarchy, createAndInitQualifierDefaults, createCFGVisualizer, createDependentTypesHelper, createFlowAnalysis, createFlowTransferFunction, createQualifierDefaults, createQualifierPolymorphism, createTypeAnnotator, fromNewClass, getAnnotatedTypeLhs, getAnnotatedTypeLhsNoTypeVarDefault, getAnnotatedTypeRhsUnaryAssign, getAnnotatedTypeVarargsArray, getAnnotationFromJavaExpressionString, getAnnotationFromReceiver, getCFGVisualizer, getDependentTypesHelper, getEmptyStore, getFinalLocalValues, getFirstNodeOfKindForTree, getInferredValueFor, getMethodReturnType, getMethodReturnType, getNodesForTree, getReceiverFromJavaExpressionString, getRegularExitStore, getResultingTypeOfConstructorMemberReference, getReturnStatementStores, getShouldDefaultTypeVarLocals, getSortedQualifierNames, getStoreAfter, getStoreAfter, getStoreAfter, getStoreBefore, getStoreBefore, getStoreBefore, getSupportedMonotonicTypeQualifiers, getTypeFactoryOfSubchecker, handleCFGViz, methodFromUse, performFlowAnalysis, postDirectSuperTypes, postInit, preProcessClassTree, setRoot, typeVariablesFromUse
adaptGetClassReturnTypeToReceiver, addAliasedAnnotation, addAliasedAnnotation, addAliasedAnnotation, addAliasedAnnotation, addAliasedDeclAnnotation, addAnnotationFromFieldInvariant, addInheritedAnnotation, aliasedAnnotation, annotateInheritedFromClass, annotateInheritedFromClass, checkInvalidOptionsInferSignatures, createAnnotatedTypeFormatter, createAnnotationClassLoader, createAnnotationFormatter, createQualifierHierarchy, createQualifierHierarchy, createQualifierHierarchyFactory, createTypeArgumentInference, createTypeVariableSubstitutor, declarationFromElement, fromElement, fromElement, fromElement, getAnnotatedNullType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedTypeFormatter, getAnnotatedTypeFromTypeTree, getAnnotationFormatter, getAnnotationMirror, getAnnotationWithMetaAnnotation, getBoxedType, getBundledTypeQualifiersWithoutPolyAll, getBundledTypeQualifiersWithPolyAll, getCacheSize, getContext, getCurrentClassTree, getCurrentClassType, getCurrentMethodReceiver, getDeclAnnotation, getDeclAnnotationNoAliases, getDeclAnnotations, getDeclAnnotationWithMetaAnnotation, getElementUtils, getEnclosingMethod, getEnclosingType, getFieldInvariantAnnotationTree, getFieldInvariantDeclarationAnnotations, getFieldInvariants, getFnInterfaceFromTree, getFnInterfaceFromTree, getImplicitReceiverType, getNarrowedPrimitive, getPath, getProcessingEnv, getQualifierHierarchy, getReceiverType, getSelfType, getStringType, getSupportedTypeQualifiers, getTreeUtils, getTypeArgumentInference, getTypeHierarchy, getTypeVarSubstitutor, getUnboxedType, getUninferredWildcardType, getVisitorState, getWholeProgramInference, initializeReflectionResolution, isAnyEnclosingThisDeref, isFromByteCode, isFromStubFile, isMostEnclosingThisDeref, isSupportedQualifier, isWithinConstructor, methodFromUse, parseStubFiles, postAsMemberOf, postProcessClassTree, postTypeVarSubstitution, setPathHack, toAnnotatedType, toString, type, widenToUpperBound
protected final javax.lang.model.element.AnnotationMirror UNKNOWNKEYFOR
protected final javax.lang.model.element.AnnotationMirror KEYFOR
protected final javax.lang.model.element.AnnotationMirror KEYFORBOTTOM
public KeyForAnnotatedTypeFactory(org.checkerframework.common.basetype.BaseTypeChecker checker)
protected java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> createSupportedTypeQualifiers()
createSupportedTypeQualifiers
in class org.checkerframework.framework.type.AnnotatedTypeFactory
public org.checkerframework.javacutil.Pair<org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedExecutableType,java.util.List<org.checkerframework.framework.type.AnnotatedTypeMirror>> constructorFromUse(NewClassTree tree)
constructorFromUse
in class org.checkerframework.framework.type.GenericAnnotatedTypeFactory<KeyForValue,KeyForStore,KeyForTransfer,KeyForAnalysis>
protected org.checkerframework.framework.type.TypeHierarchy createTypeHierarchy()
createTypeHierarchy
in class org.checkerframework.framework.type.AnnotatedTypeFactory
protected org.checkerframework.framework.type.treeannotator.TreeAnnotator createTreeAnnotator()
createTreeAnnotator
in class org.checkerframework.framework.type.GenericAnnotatedTypeFactory<KeyForValue,KeyForStore,KeyForTransfer,KeyForAnalysis>
public javax.lang.model.element.AnnotationMirror createKeyForAnnotationMirrorWithValue(java.util.LinkedHashSet<java.lang.String> values)
public javax.lang.model.element.AnnotationMirror createKeyForAnnotationMirrorWithValue(java.lang.String value)
public boolean isKeyForMap(java.lang.String mapExpression, ExpressionTree tree)
mapExpression
- expression that has type Maptree
- expression that might be a key for the mappublic org.checkerframework.framework.type.QualifierHierarchy createQualifierHierarchy(org.checkerframework.framework.util.MultiGraphQualifierHierarchy.MultiGraphFactory factory)
createQualifierHierarchy
in class org.checkerframework.framework.type.AnnotatedTypeFactory
protected boolean isInvocationOfMapMethod(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n, java.lang.String methodName)
protected java.lang.String getMethodName(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n)