Interface InjectStrategy

All Known Implementing Classes:
FirstBlock, LastBlocks, SpecificOffset

public interface InjectStrategy
This interface defines methods for determining code attribute offsets suitable for injecting a method invocation.
  • Method Details

    • getSingleInjectionLocation

      InjectStrategy.InjectLocation getSingleInjectionLocation(ProgramClass targetClass, ProgramMethod targetMethod)
      Determine one location (i.e. offset) suitable for injecting a method invocation.
      Parameters:
      targetClass - The class holding the method in which a method invocation will be injected.
      targetMethod - The target method to have a method invocation injected into.
      Returns:
      An InjectLocation instance indicating an offset suitable for injection and whether the injection shall happen before or after the offset.
    • getAllSuitableInjectionLocation

      InjectStrategy.InjectLocation[] getAllSuitableInjectionLocation(ProgramClass targetClass, ProgramMethod targetMethod)
      Determine all locations (i.e., offsets) suitable for injecting a method invocation.
      Parameters:
      targetClass - The class holding the method in which a method invocation will be injected.
      targetMethod - The target method to have a method invocation injected into.
      Returns:
      An array of InjectLocation instances indicating offsets suitable for injection and whether the injection shall take place before or after each offset.