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 -
Method Summary
Modifier and TypeMethodDescriptioninitialStore(UnderlyingAST underlyingAST, List<LocalVariableNode> parameters) Returns the initial store to be used by the org.checkerframework.dataflow analysis.protected voidprocess(ConstantPropagationStore p, Node a, Node b) Methods inherited from class org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor
visitAnyPattern, 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, visitWideningConversionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.checkerframework.dataflow.cfg.node.NodeVisitor
visitAnyPattern, 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: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
-