public class ConstantPropagationTransfer extends AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>> implements TransferFunction<Constant,ConstantPropagationStore>
| Constructor and Description |
|---|
ConstantPropagationTransfer() |
| Modifier and Type | Method and Description |
|---|---|
ConstantPropagationStore |
initialStore(UnderlyingAST underlyingAST,
@Nullable List<LocalVariableNode> parameters) |
protected void |
process(ConstantPropagationStore p,
Node a,
Node b) |
TransferResult<Constant,ConstantPropagationStore> |
visitAssignment(AssignmentNode n,
TransferInput<Constant,ConstantPropagationStore> pi) |
TransferResult<Constant,ConstantPropagationStore> |
visitEqualTo(EqualToNode n,
TransferInput<Constant,ConstantPropagationStore> pi) |
TransferResult<Constant,ConstantPropagationStore> |
visitIntegerLiteral(IntegerLiteralNode n,
TransferInput<Constant,ConstantPropagationStore> pi) |
TransferResult<Constant,ConstantPropagationStore> |
visitLocalVariable(LocalVariableNode node,
TransferInput<Constant,ConstantPropagationStore> before) |
TransferResult<Constant,ConstantPropagationStore> |
visitNode(Node n,
TransferInput<Constant,ConstantPropagationStore> p) |
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDoubleLiteral, visitExplicitThisLiteral, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThisLiteral, 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, visitStringConcatenateAssignment, visitStringConversion, visitStringLiteral, visitSuper, visitSynchronized, visitTernaryExpression, visitThisLiteral, visitThrow, visitTypeCast, visitUnsignedRightShift, visitValueLiteral, visitVariableDeclaration, visitWideningConversionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDoubleLiteral, visitExplicitThisLiteral, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThisLiteral, 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, visitStringConcatenateAssignment, visitStringConversion, visitStringLiteral, visitSuper, visitSynchronized, visitTernaryExpression, visitThrow, visitTypeCast, visitUnsignedRightShift, visitVariableDeclaration, visitWideningConversionpublic ConstantPropagationStore initialStore(UnderlyingAST underlyingAST, @Nullable List<LocalVariableNode> parameters)
initialStore in interface TransferFunction<Constant,ConstantPropagationStore>parameters is only set if the underlying AST is a method.public TransferResult<Constant,ConstantPropagationStore> visitLocalVariable(LocalVariableNode node, TransferInput<Constant,ConstantPropagationStore> before)
visitLocalVariable in interface NodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>visitLocalVariable in class AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>public TransferResult<Constant,ConstantPropagationStore> visitNode(Node n, TransferInput<Constant,ConstantPropagationStore> p)
visitNode in class AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>public TransferResult<Constant,ConstantPropagationStore> visitAssignment(AssignmentNode n, TransferInput<Constant,ConstantPropagationStore> pi)
visitAssignment in interface NodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>visitAssignment in class AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>public TransferResult<Constant,ConstantPropagationStore> visitIntegerLiteral(IntegerLiteralNode n, TransferInput<Constant,ConstantPropagationStore> pi)
visitIntegerLiteral in interface NodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>visitIntegerLiteral in class AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>public TransferResult<Constant,ConstantPropagationStore> visitEqualTo(EqualToNode n, TransferInput<Constant,ConstantPropagationStore> pi)
visitEqualTo in interface NodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>visitEqualTo in class AbstractNodeVisitor<TransferResult<Constant,ConstantPropagationStore>,TransferInput<Constant,ConstantPropagationStore>>protected void process(ConstantPropagationStore p, Node a, Node b)