Class Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithDiscardedEnterType

All Implemented Interfaces:
Advice.Dispatcher, Advice.Dispatcher.Resolved, Advice.Dispatcher.Resolved.ForMethodEnter
Enclosing class:
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter

protected static class Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithDiscardedEnterType extends Advice.Dispatcher.Inlining.Resolved.ForMethodEnter
Implementation of an advice that does not expose an enter type.
  • Constructor Details

    • WithDiscardedEnterType

      protected WithDiscardedEnterType(MethodDescription.InDefinedShape adviceMethod, Advice.PostProcessor postProcessor, Map<String,TypeDefinition> namedTypes, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, TypeDefinition exitType, AsmClassReader classReader)
      Creates a new resolved dispatcher for implementing method enter advice that does not expose the enter type.
      Parameters:
      adviceMethod - The represented advice method.
      postProcessor - The post processor to apply.
      namedTypes - A mapping of all available local variables by their name to their type.
      userFactories - A list of user-defined factories for offset mappings.
      exitType - The exit type or void if no exit type is defined.
      classReader - A class reader to query for the class file of the advice method.
  • Method Details

    • getAdviceType

      public TypeDefinition getAdviceType()
      The type that is produced as a result of executing this advice method.
      Returns:
      A description of the type that is produced by this advice method.
    • doApply

      protected org.objectweb.asm.MethodVisitor doApply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.ArgumentHandler.ForAdvice argumentHandler, Advice.MethodSizeHandler.ForAdvice methodSizeHandler, Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler, Advice.Dispatcher.RelocationHandler.Bound relocationHandler, StackManipulation exceptionHandler)
      Applies a resolution for a given instrumented method.
      Overrides:
      doApply in class Advice.Dispatcher.Inlining.Resolved.ForMethodEnter
      Parameters:
      methodVisitor - The method visitor for writing to the instrumented method.
      implementationContext - The implementation context to use.
      assigner - The assigner to use.
      argumentHandler - A handler for accessing values on the local variable array.
      methodSizeHandler - A handler for computing the method size requirements.
      stackMapFrameHandler - A handler for translating and injecting stack map frames.
      instrumentedType - A description of the instrumented type.
      instrumentedMethod - The instrumented method that is being bound.
      suppressionHandler - The bound suppression handler to use.
      relocationHandler - The bound relocation handler to use.
      exceptionHandler - The exception handler that is resolved for the instrumented method.
      Returns:
      A method visitor for visiting the advice method's byte code.