Class IndexRefinementInfo
- java.lang.Object
-
- org.checkerframework.checker.index.IndexRefinementInfo
-
public class IndexRefinementInfo extends java.lang.ObjectThis struct contains all of the information that the refinement functions need. It's called by each node function (i.e. greater than node, less than node, etc.) and then the results are passed to the refinement function in whatever order is appropriate for that node. Its constructor contains all of its logic.
-
-
Field Summary
Fields Modifier and Type Field Description CFStoreelseStoreThe else store.NodeleftThe left operand.@Nullable javax.lang.model.element.AnnotationMirrorleftAnnoAnnotation for left expressions.ConditionalTransferResult<CFValue,CFStore>newResultThe new result, after refinement.NoderightThe right operand.@Nullable javax.lang.model.element.AnnotationMirrorrightAnnoAnnotation for right expressions.CFStorethenStoreThe then store.
-
Constructor Summary
Constructors Constructor Description IndexRefinementInfo(TransferResult<CFValue,CFStore> result, CFAbstractAnalysis<?,?,?> analysis, BinaryOperationNode node)IndexRefinementInfo(TransferResult<CFValue,CFStore> result, CFAbstractAnalysis<?,?,?> analysis, Node right, Node left)Creates a new IndexRefinementInfo.
-
-
-
Field Detail
-
left
public final Node left
The left operand.
-
right
public final Node right
The right operand.
-
leftAnno
public final @Nullable javax.lang.model.element.AnnotationMirror leftAnno
Annotation for left expressions. Might be null if dataflow doesn't have a value for the expression.
-
rightAnno
public final @Nullable javax.lang.model.element.AnnotationMirror rightAnno
Annotation for right expressions. Might be null if dataflow doesn't have a value for the expression.
-
thenStore
public final CFStore thenStore
The then store.
-
elseStore
public final CFStore elseStore
The else store.
-
newResult
public final ConditionalTransferResult<CFValue,CFStore> newResult
The new result, after refinement.
-
-
Constructor Detail
-
IndexRefinementInfo
public IndexRefinementInfo(TransferResult<CFValue,CFStore> result, CFAbstractAnalysis<?,?,?> analysis, Node right, Node left)
Creates a new IndexRefinementInfo.- Parameters:
left- the left operandright- the right operandresult- the new result, after refinementanalysis- the CFAbstractAnalysis
-
IndexRefinementInfo
public IndexRefinementInfo(TransferResult<CFValue,CFStore> result, CFAbstractAnalysis<?,?,?> analysis, BinaryOperationNode node)
-
-