public class LessThanAnnotatedTypeFactory
extends org.checkerframework.common.basetype.BaseAnnotatedTypeFactory
| Modifier and Type | Field and Description |
|---|---|
javax.lang.model.element.AnnotationMirror |
UNKNOWN |
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 |
|---|
LessThanAnnotatedTypeFactory(org.checkerframework.common.basetype.BaseTypeChecker checker) |
| Modifier and Type | Method and Description |
|---|---|
protected org.checkerframework.framework.util.dependenttypes.DependentTypesHelper |
createDependentTypesHelper() |
javax.lang.model.element.AnnotationMirror |
createLessThanQualifier(java.util.List<java.lang.String> expressions)
Creates a less than qualifier given the expressions.
|
javax.lang.model.element.AnnotationMirror |
createLessThanQualifier(java.lang.String expression)
Returns
@LessThan(expression) |
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() |
static java.util.List<java.lang.String> |
getLessThanExpressions(javax.lang.model.element.AnnotationMirror annotation)
Returns a modifiable list of expressions in the annotation sorted.
|
java.util.List<java.lang.String> |
getLessThanExpressions(ExpressionTree expression)
Returns a sorted, modifiable list of expressions that
expression is less than. |
org.checkerframework.common.value.ValueAnnotatedTypeFactory |
getValueAnnotatedTypeFactory()
Returns the Value Checker's annotated type factory.
|
boolean |
isLessThan(Tree left,
java.lang.String right) |
boolean |
isLessThanByValue(Tree smaller,
java.lang.String bigger,
TreePath path) |
boolean |
isLessThanOrEqual(Tree left,
java.lang.String right) |
createFlowAnalysisaddCheckedCodeDefaults, addCheckedStandardDefaults, addComputedTypeAnnotations, addComputedTypeAnnotations, addComputedTypeAnnotations, addDefaultAnnotations, addTypeNameImplicit, addUncheckedCodeDefaults, addUncheckedStandardDefaults, analyze, analyze, applyInferredAnnotations, checkAndPerformFlowAnalysis, checkForDefaultQualifierInHierarchy, constructorFromUse, createAndInitQualifierDefaults, createCFGVisualizer, createFlowTransferFunction, createQualifierDefaults, createQualifierPolymorphism, createTreeAnnotator, 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, typeVariablesFromUseadaptGetClassReturnTypeToReceiver, addAliasedAnnotation, addAliasedAnnotation, addAliasedAnnotation, addAliasedAnnotation, addAliasedDeclAnnotation, addAnnotationFromFieldInvariant, addInheritedAnnotation, aliasedAnnotation, annotateInheritedFromClass, annotateInheritedFromClass, checkInvalidOptionsInferSignatures, createAnnotatedTypeFormatter, createAnnotationClassLoader, createAnnotationFormatter, createQualifierHierarchy, createQualifierHierarchy, createQualifierHierarchyFactory, createTypeArgumentInference, createTypeHierarchy, 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, widenToUpperBoundpublic LessThanAnnotatedTypeFactory(org.checkerframework.common.basetype.BaseTypeChecker checker)
public org.checkerframework.common.value.ValueAnnotatedTypeFactory getValueAnnotatedTypeFactory()
protected java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> createSupportedTypeQualifiers()
createSupportedTypeQualifiers in class org.checkerframework.framework.type.AnnotatedTypeFactoryprotected org.checkerframework.framework.util.dependenttypes.DependentTypesHelper createDependentTypesHelper()
createDependentTypesHelper in class org.checkerframework.framework.type.GenericAnnotatedTypeFactory<org.checkerframework.framework.flow.CFValue,org.checkerframework.framework.flow.CFStore,org.checkerframework.framework.flow.CFTransfer,org.checkerframework.framework.flow.CFAnalysis>public org.checkerframework.framework.type.QualifierHierarchy createQualifierHierarchy(org.checkerframework.framework.util.MultiGraphQualifierHierarchy.MultiGraphFactory factory)
createQualifierHierarchy in class org.checkerframework.framework.type.AnnotatedTypeFactorypublic boolean isLessThan(Tree left, java.lang.String right)
public boolean isLessThanByValue(Tree smaller, java.lang.String bigger, TreePath path)
smaller < bigger, using information from the Value Checkerpublic boolean isLessThanOrEqual(Tree left, java.lang.String right)
public java.util.List<java.lang.String> getLessThanExpressions(ExpressionTree expression)
expression is less than. If the
expression is annotated with LessThanBottom, null is returned.public javax.lang.model.element.AnnotationMirror createLessThanQualifier(java.util.List<java.lang.String> expressions)
If expressions is null, LessThanBottom is returned. If expressions is empty,
LessThanUnknown is returned. Otherwise, LessThanUnknown(expressions) is
returned.
public javax.lang.model.element.AnnotationMirror createLessThanQualifier(java.lang.String expression)
@LessThan(expression)public static java.util.List<java.lang.String> getLessThanExpressions(javax.lang.model.element.AnnotationMirror annotation)
LessThanBottom, return null. If the annotation is LessThanUnknown return the
empty list.