Class FirstBlock
java.lang.Object
proguard.classfile.util.inject.location.FirstBlock
- All Implemented Interfaces:
InjectStrategy
An implementation of the InjectStrategy interface to find the earliest location suitable for
injecting method invocation instructions.
-
Nested Class Summary
Nested classes/interfaces inherited from interface proguard.classfile.util.inject.location.InjectStrategy
InjectStrategy.InjectLocation -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAllSuitableInjectionLocation(ProgramClass targetClass, ProgramMethod targetMethod) Find the first offset to inject a method invocation.getSingleInjectionLocation(ProgramClass targetClass, ProgramMethod targetMethod) Find the first offset to inject a method invocation.
-
Constructor Details
-
FirstBlock
public FirstBlock()
-
-
Method Details
-
getSingleInjectionLocation
public InjectStrategy.InjectLocation getSingleInjectionLocation(ProgramClass targetClass, ProgramMethod targetMethod) Find the first offset to inject a method invocation. If the target method is a constructor, the offset is right after the `invokespecial` to the constructor of the current class or its super class.- Specified by:
getSingleInjectionLocationin interfaceInjectStrategy- 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 the first offset suitable for injection.
-
getAllSuitableInjectionLocation
public InjectStrategy.InjectLocation[] getAllSuitableInjectionLocation(ProgramClass targetClass, ProgramMethod targetMethod) Find the first offset to inject a method invocation. If the target method is a constructor, the offset is right after the `invokespecial` to the constructor of the current class or its super class.- Specified by:
getAllSuitableInjectionLocationin interfaceInjectStrategy- 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 one InjectLocation instance indicating the first offset suitable for injection.
-