Class CallbackInjector


  • public class CallbackInjector
    extends Injector
    This class is responsible for generating the bytecode for injected callbacks, for details of usage see @Inject.
    • Constructor Detail

      • CallbackInjector

        public CallbackInjector​(InjectionInfo info,
                                boolean cancellable,
                                LocalCapture localCapture,
                                java.lang.String identifier)
        Make a new CallbackInjector with the supplied args
        Parameters:
        info - information about this injector
        cancellable - True if injections performed by this injector should be cancellable
        localCapture - Local variable capture behaviour
    • Method Detail

      • instanceCallbackInfo

        protected void instanceCallbackInfo​(org.spongepowered.asm.mixin.injection.callback.CallbackInjector.Callback callback,
                                            java.lang.String id,
                                            java.lang.String desc,
                                            boolean store)
        Parameters:
        callback - callback handle
        id - callback id
        desc - constructor descriptor
        store - true if storing in a local, false if this is happening at an invoke
      • injectCancellationCode

        protected void injectCancellationCode​(org.spongepowered.asm.mixin.injection.callback.CallbackInjector.Callback callback)
        if (e.isCancelled()) return e.getReturnValue();
        Parameters:
        callback - callback handle
      • injectReturnCode

        protected void injectReturnCode​(org.spongepowered.asm.mixin.injection.callback.CallbackInjector.Callback callback)
        Inject the appropriate return code for the method type
        Parameters:
        callback - callback handle
      • isStatic

        protected boolean isStatic()
        Explicit to avoid creation of synthetic accessor
        Returns:
        true if the target method is static