Class CompoundAssignments
java.lang.Object
net.covers1624.coffeegrinder.bytecode.InsnVisitor<None,MethodTransformContext>
net.covers1624.coffeegrinder.bytecode.SimpleInsnVisitor<MethodTransformContext>
net.covers1624.coffeegrinder.bytecode.transform.transformers.CompoundAssignments
- All Implemented Interfaces:
MethodTransformer,StatementTransformer,Transformer
public class CompoundAssignments
extends SimpleInsnVisitor<MethodTransformContext>
implements StatementTransformer, MethodTransformer
Created by covers1624 on 5/3/22.
-
Field Summary
Fields inherited from class net.covers1624.coffeegrinder.bytecode.SimpleInsnVisitor
NONE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidtransform(MethodDecl function, MethodTransformContext ctx) Transform theMethodDecl.voidtransform(Instruction statement, StatementTransformContext ctx) Runs the transform on the statements within a block.booleantransformCompoundAssignment(Store store, MethodTransformContext ctx) visitStore(Store store, MethodTransformContext ctx) Methods inherited from class net.covers1624.coffeegrinder.bytecode.SimpleInsnVisitor
visitDefaultMethods inherited from class net.covers1624.coffeegrinder.bytecode.InsnVisitor
visitArrayElementReference, 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, visitMonitorEnter, visitMonitorExit, visitNew, visitNewArray, visitNewObject, visitNop, visitPostIncrement, visitReturn, visitSwitch, visitSwitchSection, visitSwitchTable, visitSynchronized, visitTernary, visitThrow, visitTryCatch, visitTryCatchHandler, visitTryFinally, visitTryWithResources, visitWhileLoop, visitYieldMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.covers1624.coffeegrinder.bytecode.transform.Transformer
getName, stepType
-
Constructor Details
-
CompoundAssignments
public CompoundAssignments()
-
-
Method Details
-
transform
Description copied from interface:StatementTransformerRuns the transform on the statements within a block.This 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_UNREACHABLEflag.- Specified by:
transformin interfaceStatementTransformer- Parameters:
ctx- The context.
-
transform
Description copied from interface:MethodTransformerTransform theMethodDecl.- Specified by:
transformin interfaceMethodTransformer- Parameters:
function- The function to transform.ctx- TheMethodTransformContext.
-
visitStore
- Overrides:
visitStorein classInsnVisitor<None,MethodTransformContext>
-
transformCompoundAssignment
-