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
-
Method Summary
Modifier and TypeMethodDescriptioninitialStore
(UnderlyingAST underlyingAST, List<LocalVariableNode> parameters) Returns the initial store to be used by the org.checkerframework.dataflow analysis.protected void
process
(ConstantPropagationStore p, Node a, Node b) 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
-
Constructor Details
-
ConstantPropagationTransfer
public ConstantPropagationTransfer()
-
-
Method Details
-
initialStore
public ConstantPropagationStore initialStore(UnderlyingAST underlyingAST, List<LocalVariableNode> parameters) Description copied from interface:ForwardTransferFunction
Returns the initial store to be used by the org.checkerframework.dataflow analysis.- Specified by:
initialStore
in 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:
visitLocalVariable
in interfaceNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>> - Overrides:
visitLocalVariable
in classAbstractNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>>
-
visitNode
public TransferResult<Constant,ConstantPropagationStore> visitNode(Node n, TransferInput<Constant, ConstantPropagationStore> p) - Specified by:
visitNode
in classAbstractNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>>
-
visitAssignment
public TransferResult<Constant,ConstantPropagationStore> visitAssignment(AssignmentNode n, TransferInput<Constant, ConstantPropagationStore> pi) - Specified by:
visitAssignment
in interfaceNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>> - Overrides:
visitAssignment
in classAbstractNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>>
-
visitIntegerLiteral
public TransferResult<Constant,ConstantPropagationStore> visitIntegerLiteral(IntegerLiteralNode n, TransferInput<Constant, ConstantPropagationStore> pi) - Specified by:
visitIntegerLiteral
in interfaceNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>> - Overrides:
visitIntegerLiteral
in classAbstractNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>>
-
visitEqualTo
public TransferResult<Constant,ConstantPropagationStore> visitEqualTo(EqualToNode n, TransferInput<Constant, ConstantPropagationStore> pi) - Specified by:
visitEqualTo
in interfaceNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>> - Overrides:
visitEqualTo
in classAbstractNodeVisitor<TransferResult<Constant,
ConstantPropagationStore>, TransferInput<Constant, ConstantPropagationStore>>
-
process
-