java.lang.Object
net.covers1624.coffeegrinder.bytecode.transform.transformers.statement.AssignmentExpressions
All Implemented Interfaces:
StatementTransformer

public class AssignmentExpressions extends Object implements StatementTransformer
Created by covers1624 on 8/9/21.
  • Constructor Details

    • AssignmentExpressions

      public AssignmentExpressions()
  • Method Details

    • transform

      public void transform(Instruction statement, StatementTransformContext ctx)
      Description copied from interface: StatementTransformer
      Runs 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_UNREACHABLE flag.

      Specified by:
      transform in interface StatementTransformer
      Parameters:
      ctx - The context.
    • transformPostIncrement

      public boolean transformPostIncrement(Store store)
    • transformAssignmentExpression

      public boolean transformAssignmentExpression(Store store)
    • equivalentRefs

      public static boolean equivalentRefs(Reference ref1, Reference ref2)
    • matchIInc

      @Nullable public static @Nullable CompoundAssignment matchIInc(@Nullable @Nullable Instruction insn, LocalVariable variable)