public class CompoundAssignments extends SimpleInsnVisitor<MethodTransformContext> implements StatementTransformer, MethodTransformer
NONE| Constructor and Description |
|---|
CompoundAssignments() |
| Modifier and Type | Method and Description |
|---|---|
void |
transform(Instruction statement,
StatementTransformContext ctx)
Runs the transform on the statements within a block.
|
void |
transform(MethodDecl function,
MethodTransformContext ctx)
Transform the
MethodDecl. |
boolean |
transformCompoundAssignment(Store store,
MethodTransformContext ctx) |
None |
visitStore(Store store,
MethodTransformContext ctx) |
visitDefaultvisitArrayElementReference, visitArrayLen, visitAssert, visitBinary, visitBlock, visitBlockContainer, visitBranch, visitCheckCast, visitClassDecl, visitCompare, visitComparison, visitCompoundAssignment, visitContinue, visitDeadCode, visitDoWhileLoop, visitFieldDecl, visitFieldReference, visitForEachLoop, visitForLoop, visitIfInstruction, visitInstanceOf, visitInvoke, visitInvokeDynamic, visitLdcBoolean, visitLdcChar, visitLdcClass, visitLdcNull, visitLdcNumber, visitLdcString, visitLeave, visitLoad, visitLoadThis, visitLocalReference, visitLocalVariable, visitLogicAnd, visitLogicNot, visitLogicOr, visitMethodDecl, visitMethodReference, visitMonitor, visitNew, visitNewArray, visitNewObject, visitNop, visitPostIncrement, visitReturn, visitSwitch, visitSwitchSection, visitSwitchTable, visitSynchronized, visitTernary, visitThrow, visitTryCatch, visitTryCatchHandler, visitTryFinally, visitTryWithResources, visitWhileLoop, visitYieldclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetName, stepTypepublic void transform(Instruction statement, StatementTransformContext ctx)
StatementTransformerThis transform may only modify instructions after and including the provided position. The transform will run from over the block backwards.
Instructions prior to the current position must not be modified. It is valid to read such instructions, but not recommended as those have not been transformed yet.
This function is only called on control-flow blocks with unreachable end-points.
This, the last instruction in the block must always have the InstructionFlag.END_POINT_UNREACHABLE flag.
transform in interface StatementTransformerctx - The context.public void transform(MethodDecl function, MethodTransformContext ctx)
MethodTransformerMethodDecl.transform in interface MethodTransformerfunction - The function to transform.ctx - The MethodTransformContext.public None visitStore(Store store, MethodTransformContext ctx)
visitStore in class InsnVisitor<None,MethodTransformContext>public boolean transformCompoundAssignment(Store store, MethodTransformContext ctx)