org.objectweb.asm.tree

## Class LocalVariableAnnotationNode

- java.lang.Object
- - org.objectweb.asm.AnnotationVisitor
  - - org.objectweb.asm.tree.AnnotationNode
    - - org.objectweb.asm.tree.TypeAnnotationNode
      - - org.objectweb.asm.tree.LocalVariableAnnotationNode

-     public class LocalVariableAnnotationNode
      extends TypeAnnotationNode

  A node that represents a type annotation on a local or resource variable.
  Author:
    Eric Bruneton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `List<LabelNode>` | `end` The last instructions corresponding to the continuous ranges that make the scope of this local variable (exclusive).
    `List<Integer>` | `index` The local variable's index in each range.
    `List<LabelNode>` | `start` The fist instructions corresponding to the continuous ranges that make the scope of this local variable (inclusive).

    - ### Fields inherited from class org.objectweb.asm.tree.TypeAnnotationNode

      `typePath, typeRef`

    - ### Fields inherited from class org.objectweb.asm.tree.AnnotationNode

      `desc, values`

    - ### Fields inherited from class org.objectweb.asm.AnnotationVisitor

      `api, av`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalVariableAnnotationNode(int api, int typeRef, TypePath typePath, LabelNode[] start, LabelNode[] end, int[] index, String desc)` Constructs a new `LocalVariableAnnotationNode`.
    `LocalVariableAnnotationNode(int typeRef, TypePath typePath, LabelNode[] start, LabelNode[] end, int[] index, String desc)` Constructs a new `LocalVariableAnnotationNode`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(MethodVisitor mv, boolean visible)` Makes the given visitor visit this type annotation.

    - ### Methods inherited from class org.objectweb.asm.tree.AnnotationNode

      `accept, check, visit, visitAnnotation, visitArray, visitEnd, visitEnum`

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

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

- - ### Field Detail

    - #### start

          public List<LabelNode> start

      The fist instructions corresponding to the continuous ranges that make the scope of this local variable (inclusive). Must not be `null`.

    - #### end

          public List<LabelNode> end

      The last instructions corresponding to the continuous ranges that make the scope of this local variable (exclusive). This list must have the same size as the 'start' list. Must not be `null`.

    - #### index

          public List<Integer> index

      The local variable's index in each range. This list must have the same size as the 'start' list. Must not be `null`.

  - ### Constructor Detail

    - #### LocalVariableAnnotationNode

          public LocalVariableAnnotationNode(int typeRef,
                                             TypePath typePath,
                                             LabelNode[] start,
                                             LabelNode[] end,
                                             int[] index,
                                             String desc)

      Constructs a new `LocalVariableAnnotationNode`. Subclasses must not use this constructor. Instead, they must use the `LocalVariableAnnotationNode(int, TypePath, LabelNode[], LabelNode[], int[], String)` version.
      Parameters:
        `typeRef` - a reference to the annotated type. See `TypeReference`.
        `typePath` - the path to the annotated type argument, wildcard bound, array element type, or static inner type within 'typeRef'. May be `null` if the annotation targets 'typeRef' as a whole.
        `start` - the fist instructions corresponding to the continuous ranges that make the scope of this local variable (inclusive).
        `end` - the last instructions corresponding to the continuous ranges that make the scope of this local variable (exclusive). This array must have the same size as the 'start' array.
        `index` - the local variable's index in each range. This array must have the same size as the 'start' array.
        `desc` - the class descriptor of the annotation class.

    - #### LocalVariableAnnotationNode

          public LocalVariableAnnotationNode(int api,
                                             int typeRef,
                                             TypePath typePath,
                                             LabelNode[] start,
                                             LabelNode[] end,
                                             int[] index,
                                             String desc)

      Constructs a new `LocalVariableAnnotationNode`.
      Parameters:
        `api` - the ASM API version implemented by this visitor. Must be one of `Opcodes.ASM4` or `Opcodes.ASM5`.
        `typeRef` - a reference to the annotated type. See `TypeReference`.
        `start` - the fist instructions corresponding to the continuous ranges that make the scope of this local variable (inclusive).
        `end` - the last instructions corresponding to the continuous ranges that make the scope of this local variable (exclusive). This array must have the same size as the 'start' array.
        `index` - the local variable's index in each range. This array must have the same size as the 'start' array.
        `typePath` - the path to the annotated type argument, wildcard bound, array element type, or static inner type within 'typeRef'. May be `null` if the annotation targets 'typeRef' as a whole.
        `desc` - the class descriptor of the annotation class.

  - ### Method Detail

    - #### accept

          public void accept(MethodVisitor mv,
                             boolean visible)

      Makes the given visitor visit this type annotation.
      Parameters:
        `mv` - the visitor that must visit this annotation.
        `visible` - `true` if the annotation is visible at runtime.