Annotation Type Advice.AllArguments


  • @Documented
    @Retention(RUNTIME)
    @Target(PARAMETER)
    public static @interface Advice.AllArguments
    Assigns an array containing all arguments of the instrumented method to the annotated parameter. The annotated parameter must be an array type. If the annotation indicates writability, the assigned array must have at least as many values as the instrumented method or an ArrayIndexOutOfBoundsException is thrown.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean readOnly
      Indicates if it is possible to write to this parameter.
      Assigner.Typing typing
      The typing that should be applied when assigning the arguments.
    • Element Detail

      • readOnly

        boolean readOnly

        Indicates if it is possible to write to this parameter. If this property is set to false, the annotated type must be equal to the type declaring the instrumented method if the typing is not also set to Assigner.Typing.DYNAMIC. If this property is set to true, the annotated parameter can be any super type of the instrumented method's declaring type.

        Important: This property must be set to true if the advice method is not inlined.

        Returns:
        true if this parameter is read-only.
        Default:
        true
      • typing

        Assigner.Typing typing
        The typing that should be applied when assigning the arguments.
        Returns:
        The typing to apply upon assignment.
        Default:
        net.bytebuddy.implementation.bytecode.assign.Assigner.Typing.STATIC