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 AnnotationMirror |
KEYFOR |
protected AnnotationMirror |
KEYFORBOTTOM |
protected AnnotationMirror |
UNKNOWNKEYFOR |
analysis, cfgVisualizer, defaults, dependentTypesHelper, emptyStore, FLOW_BY_DEFAULT, flowResult, flowResultAnalysisCaches, initializationStaticStore, initializationStore, methodInvocationStores, poly, regularExitStores, returnStatementStores, scannedClasses, transfer, treeAnnotator, typeAnnotatorchecker, 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,List<org.checkerframework.framework.type.AnnotatedTypeMirror>> |
constructorFromUse(NewClassTree tree) |
AnnotationMirror |
createKeyForAnnotationMirrorWithValue(LinkedHashSet<String> values) |
AnnotationMirror |
createKeyForAnnotationMirrorWithValue(String value) |
org.checkerframework.framework.type.QualifierHierarchy |
createQualifierHierarchy(org.checkerframework.framework.util.MultiGraphQualifierHierarchy.MultiGraphFactory factory) |
protected Set<Class<? extends Annotation>> |
createSupportedTypeQualifiers() |
protected org.checkerframework.framework.type.treeannotator.TreeAnnotator |
createTreeAnnotator() |
protected org.checkerframework.framework.type.TypeHierarchy |
createTypeHierarchy() |
protected String |
getMethodName(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n) |
protected boolean |
isInvocationOfMapMethod(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n,
String methodName) |
boolean |
isKeyForMap(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, applyInferredAnnotations, checkAndPerformFlowAnalysis, checkForDefaultQualifierInHierarchy, createAndInitQualifierDefaults, createCFGVisualizer, createDependentTypesHelper, createFlowAnalysis, createFlowTransferFunction, createQualifierDefaults, createQualifierPolymorphism, createTypeAnnotator, fromNewClass, getAnnotatedTypeLhs, getAnnotatedTypeLhsNoTypeVarDefault, getAnnotatedTypeRhsUnaryAssign, getAnnotatedTypeVarargsArray, getAnnotationFromJavaExpressionString, getAnnotationFromReceiver, getAnnotationMirrorFromJavaExpressionString, 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, typeVariablesFromUseadaptGetClassReturnTypeToReceiver, 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, widenToUpperBoundprotected final AnnotationMirror UNKNOWNKEYFOR
protected final AnnotationMirror KEYFOR
protected final AnnotationMirror KEYFORBOTTOM
public KeyForAnnotatedTypeFactory(org.checkerframework.common.basetype.BaseTypeChecker checker)
protected Set<Class<? extends Annotation>> createSupportedTypeQualifiers()
createSupportedTypeQualifiers in class org.checkerframework.framework.type.AnnotatedTypeFactorypublic org.checkerframework.javacutil.Pair<org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedExecutableType,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.AnnotatedTypeFactoryprotected org.checkerframework.framework.type.treeannotator.TreeAnnotator createTreeAnnotator()
createTreeAnnotator in class org.checkerframework.framework.type.GenericAnnotatedTypeFactory<KeyForValue,KeyForStore,KeyForTransfer,KeyForAnalysis>public AnnotationMirror createKeyForAnnotationMirrorWithValue(LinkedHashSet<String> values)
public AnnotationMirror createKeyForAnnotationMirrorWithValue(String value)
public boolean isKeyForMap(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.AnnotatedTypeFactoryprotected boolean isInvocationOfMapMethod(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n,
String methodName)
protected String getMethodName(org.checkerframework.dataflow.cfg.node.MethodInvocationNode n)