Class ConstantPropagationTransfer
- java.lang.Object
-
- org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
-
- org.checkerframework.dataflow.constantpropagation.ConstantPropagationTransfer
-
- All Implemented Interfaces:
ForwardTransferFunction<Constant,ConstantPropagationStore>,TransferFunction<Constant,ConstantPropagationStore>,NodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
public class ConstantPropagationTransfer extends AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>> implements ForwardTransferFunction<Constant,ConstantPropagationStore>
-
-
Constructor Summary
Constructors Constructor Description ConstantPropagationTransfer()
-
Method Summary
-
Methods inherited from class org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDeconstructorPattern, visitDoubleLiteral, visitExplicitThis, visitExpressionStatement, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThis, visitInstanceOf, visitIntegerDivision, visitIntegerRemainder, visitLambdaResultExpression, visitLeftShift, visitLessThan, visitLessThanOrEqual, visitLongLiteral, visitMarker, visitMemberReference, visitMethodAccess, visitMethodInvocation, visitNarrowingConversion, visitNotEqual, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitObjectCreation, visitPackageName, visitParameterizedType, visitPrimitiveType, visitReturn, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringConversion, visitStringLiteral, visitSuper, visitSwitchExpressionNode, visitSynchronized, visitTernaryExpression, visitThis, visitThrow, visitTypeCast, visitUnsignedRightShift, visitValueLiteral, visitVariableDeclaration, visitWideningConversion
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.checkerframework.dataflow.cfg.node.NodeVisitor
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDeconstructorPattern, visitDoubleLiteral, visitExplicitThis, visitExpressionStatement, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThis, visitInstanceOf, visitIntegerDivision, visitIntegerRemainder, visitLambdaResultExpression, visitLeftShift, visitLessThan, visitLessThanOrEqual, visitLongLiteral, visitMarker, visitMemberReference, visitMethodAccess, visitMethodInvocation, visitNarrowingConversion, visitNotEqual, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitObjectCreation, visitPackageName, visitParameterizedType, visitPrimitiveType, visitReturn, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringConversion, visitStringLiteral, visitSuper, visitSwitchExpressionNode, visitSynchronized, visitTernaryExpression, visitThrow, visitTypeCast, visitUnsignedRightShift, visitVariableDeclaration, visitWideningConversion
-
-
-
-
Method Detail
-
initialStore
public ConstantPropagationStore initialStore(UnderlyingAST underlyingAST, java.util.List<LocalVariableNode> parameters)
Description copied from interface:ForwardTransferFunctionReturns the initial store to be used by the org.checkerframework.dataflow analysis.- Specified by:
initialStorein interfaceForwardTransferFunction<Constant,ConstantPropagationStore>- Parameters:
underlyingAST- an abstract syntax treeparameters- a list of local variable nodes representing formal parameters (if any)- Returns:
- the initial store
-
visitLocalVariable
public TransferResult<Constant,ConstantPropagationStore> visitLocalVariable(LocalVariableNode node, TransferInput<Constant,ConstantPropagationStore> before)
- Specified by:
visitLocalVariablein interfaceNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>- Overrides:
visitLocalVariablein classAbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
-
visitNode
public TransferResult<Constant,ConstantPropagationStore> visitNode(Node n, TransferInput<Constant,ConstantPropagationStore> p)
- Specified by:
visitNodein classAbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
-
visitAssignment
public TransferResult<Constant,ConstantPropagationStore> visitAssignment(AssignmentNode n, TransferInput<Constant,ConstantPropagationStore> pi)
- Specified by:
visitAssignmentin interfaceNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>- Overrides:
visitAssignmentin classAbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
-
visitIntegerLiteral
public TransferResult<Constant,ConstantPropagationStore> visitIntegerLiteral(IntegerLiteralNode n, TransferInput<Constant,ConstantPropagationStore> pi)
- Specified by:
visitIntegerLiteralin interfaceNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>- Overrides:
visitIntegerLiteralin classAbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
-
visitEqualTo
public TransferResult<Constant,ConstantPropagationStore> visitEqualTo(EqualToNode n, TransferInput<Constant,ConstantPropagationStore> pi)
- Specified by:
visitEqualToin interfaceNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>- Overrides:
visitEqualToin classAbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>
-
process
protected void process(ConstantPropagationStore p, Node a, Node b)
-
-