Class Advice.ArgumentHandler.ForInstrumentedMethod.Default

java.lang.Object
net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default
All Implemented Interfaces:
Advice.ArgumentHandler, Advice.ArgumentHandler.ForInstrumentedMethod
Direct Known Subclasses:
Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying, Advice.ArgumentHandler.ForInstrumentedMethod.Default.Simple
Enclosing interface:
Advice.ArgumentHandler.ForInstrumentedMethod

public abstract static class Advice.ArgumentHandler.ForInstrumentedMethod.Default extends Object implements Advice.ArgumentHandler.ForInstrumentedMethod
A default implementation of an argument handler for an instrumented method.
  • Field Details

    • instrumentedMethod

      protected final MethodDescription instrumentedMethod
      The instrumented method.
    • exitType

      protected final TypeDefinition exitType
      The exit type or void if no exit type is defined.
    • namedTypes

      protected final SortedMap<String,TypeDefinition> namedTypes
      A mapping of all available local variables by their name to their type.
    • enterType

      protected final TypeDefinition enterType
      The enter type or void if no enter type is defined.
  • Constructor Details

    • Default

      protected Default(MethodDescription instrumentedMethod, TypeDefinition exitType, SortedMap<String,TypeDefinition> namedTypes, TypeDefinition enterType)
      Creates a new default argument handler for an instrumented method.
      Parameters:
      instrumentedMethod - The instrumented method.
      exitType - The exit type or void if no exit type is defined.
      namedTypes - A mapping of all available local variables by their name to their type.
      enterType - The enter type or void if no enter type is defined.
  • Method Details

    • exit

      public int exit()
      Resolves the offset of the exit value of the exit advice.
      Specified by:
      exit in interface Advice.ArgumentHandler
      Returns:
      The offset of the exit value.
    • named

      public int named(String name)
      Returns the offset of the local variable with the given name.
      Specified by:
      named in interface Advice.ArgumentHandler
      Parameters:
      name - The name of the local variable being accessed.
      Returns:
      The named variable's offset.
    • enter

      public int enter()
      Resolves the offset of the enter value of the enter advice.
      Specified by:
      enter in interface Advice.ArgumentHandler
      Returns:
      The offset of the enter value.
    • returned

      public int returned()
      Resolves the offset of the returned value of the instrumented method.
      Specified by:
      returned in interface Advice.ArgumentHandler
      Returns:
      The offset of the returned value of the instrumented method.
    • thrown

      public int thrown()
      Resolves the offset of the thrown exception of the instrumented method.
      Specified by:
      thrown in interface Advice.ArgumentHandler
      Returns:
      The offset of the thrown exception of the instrumented method.
    • bindEnter

      public Advice.ArgumentHandler.ForAdvice bindEnter(MethodDescription adviceMethod)
      Binds an advice method as enter advice for this handler.
      Specified by:
      bindEnter in interface Advice.ArgumentHandler.ForInstrumentedMethod
      Parameters:
      adviceMethod - The resolved enter advice handler.
      Returns:
      The resolved argument handler for enter advice.
    • bindExit

      public Advice.ArgumentHandler.ForAdvice bindExit(MethodDescription adviceMethod, boolean skipThrowable)
      Binds an advice method as exit advice for this handler.
      Specified by:
      bindExit in interface Advice.ArgumentHandler.ForInstrumentedMethod
      Parameters:
      adviceMethod - The resolved exit advice handler.
      skipThrowable - true if no throwable is stored.
      Returns:
      The resolved argument handler for enter advice.
    • getNamedTypes

      public List<TypeDescription> getNamedTypes()
      Returns a list of the named types in their declared order.
      Specified by:
      getNamedTypes in interface Advice.ArgumentHandler.ForInstrumentedMethod
      Returns:
      A list of the named types in their declared order.