public class AfterInvoke extends BeforeInvoke

This injection point searches for INVOKEVIRTUAL, INVOKESTATIC and INVOKESPECIAL opcodes matching its arguments and returns a list of insns after the matching instructions, with special handling for methods invocations which return a value and immediately assign it to a local variable. It accepts the following parameters from At:

target
A Target Selector which identifies the target method
ordinal
The ordinal position of the method invocation to match. For example if the method is invoked 3 times and you want to match the 3rd then you can specify an ordinal of 2 (ordinals are zero-indexed). The default value is -1 which supresses ordinal matching

Example:

   @At(value = "INVOKE_ASSIGN", target="func_1234_a(III)J")

Note that unlike other standard injection points, this class matches the insn after the invocation, and after any local variable assignment. Use the shift specifier to adjust the matched opcode as necessary.

  • Constructor Details

  • Method Details

    • addInsn

      protected boolean addInsn(org.objectweb.asm.tree.InsnList insns, Collection<org.objectweb.asm.tree.AbstractInsnNode> nodes, org.objectweb.asm.tree.AbstractInsnNode insn)
      Overrides:
      addInsn in class BeforeInvoke