# Package org.spongepowered.asm.mixin.injection.points

Built-in `injection point` classes.

Class Summary
AfterInvoke: 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.
BeforeConstant: Special injection point which can be defined by an `Constant` annotation or using the at code `CONSTANT`.
BeforeFieldAccess: This injection point searches for GETFIELD and PUTFIELD (and static equivalent) opcodes matching its arguments and returns a list of insns immediately prior to matching instructions.
BeforeFinalReturn: This injection point searches for the last RETURN opcode in the target method and returns it.
BeforeInvoke: This injection point searches for INVOKEVIRTUAL, INVOKESTATIC and INVOKESPECIAL opcodes matching its arguments and returns a list of insns immediately prior to matching instructions.
BeforeNew: This injection point searches for NEW opcodes matching its arguments and returns a list of insns immediately prior to matching instructions.
BeforeReturn: This injection point searches for RETURN opcodes in the target method and returns a list of insns immediately prior to matching instructions.
BeforeStringInvoke: Like `BeforeInvoke`, this injection point searches for INVOKEVIRTUAL, INVOKESTATIC and INVOKESPECIAL opcodes matching its arguments and returns a list of insns immediately prior to matching instructions.
ConstructorHead: Like `HEAD`, this injection point can be used to specify the first instruction in a method, but provides special handling for constructors.
JumpInsnPoint: This injection point searches for JUMP opcodes (if, try/catch, continue, break, conditional assignment, etc.) with either a particular opcode or at a particular ordinal in the method body (eg.
MethodHead: This injection point simply returns the first instruction in the target method body, allowing the injection to be placed at the "head" of the target method.

Enum Summary
BeforeInvoke.SearchType: Member search type, the `PERMISSIVE` search is only used when refmap remapping is enabled.