Package org.spongepowered.asm.mixin.injection.invoke

## Class InvokeInjector

- java.lang.Object
- - org.spongepowered.asm.mixin.injection.code.Injector
  - - org.spongepowered.asm.mixin.injection.invoke.InvokeInjector

Direct Known Subclasses:
  `ModifyArgInjector`, `ModifyArgsInjector`, `RedirectInjector`

    public abstract class InvokeInjector
    extends Injector

Base class for injectors which inject at method invokes

### Nested Class Summary

### Nested classes/interfaces inherited from class org.spongepowered.asm.mixin.injection.code.Injector

`Injector.InjectorData, Injector.TargetNode`

### Field Summary

### Fields inherited from class org.spongepowered.asm.mixin.injection.code.Injector

`annotationType, classNode, info, isInterface, isStatic, logger, methodArgs, methodNode, returnType`

### Constructor Summary

Constructors
`InvokeInjector​(InjectionInfo info, java.lang.String annotationType)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected void` `checkTarget​(Target target)` Sanity checks on target
`protected void` `inject​(Target target, InjectionNodes.InjectionNode node)`
`protected abstract void` `injectAtInvoke​(Target target, InjectionNodes.InjectionNode node)` Perform a single injection
`protected void` `sanityCheck​(Target target, java.util.List<InjectionPoint> injectionPoints)`

### Methods inherited from class org.spongepowered.asm.mixin.injection.code.Injector

`addTargetNode, addTargetNode, canCoerce, canCoerce, canCoerce, checkCoerce, checkTargetForNode, checkTargetModifiers, find, findTargetNodes, inject, invokeHandler, invokeHandler, invokeHandlerWithArgs, invokeHandlerWithArgs, postInject, preInject, preInject, pushArgs, pushArgs, storeArgs, storeArgs, storeArgs, storeArgs, throwException, toString, validateParams`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### InvokeInjector

    public InvokeInjector​(InjectionInfo info,
                          java.lang.String annotationType)

Parameters:
  `info` - Information about this injection
  `annotationType` - Annotation type, used for error messages

### Method Detail

#### sanityCheck

    protected void sanityCheck​(Target target,
                               java.util.List<InjectionPoint> injectionPoints)

Overrides:
  `sanityCheck` in class `Injector`

#### checkTarget

    protected void checkTarget​(Target target)

Sanity checks on target

Parameters:
  `target` - target

#### inject

    protected void inject​(Target target,
                          InjectionNodes.InjectionNode node)

Specified by:
  `inject` in class `Injector`

#### injectAtInvoke

    protected abstract void injectAtInvoke​(Target target,
                                           InjectionNodes.InjectionNode node)

Perform a single injection

Parameters:
  `target` - Target to inject into
  `node` - Discovered instruction node