public class org.eclipse.jdt.internal.core.LocalVariable extends org.eclipse.jdt.internal.core.SourceRefElement implements org.eclipse.jdt.core.ILocalVariable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.LocalVariable
  super_class: org.eclipse.jdt.internal.core.SourceRefElement
{
  public static final org.eclipse.jdt.core.ILocalVariable[] NO_LOCAL_VARIABLES;
    descriptor: [Lorg/eclipse/jdt/core/ILocalVariable;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  public int declarationSourceStart;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int declarationSourceEnd;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int nameStart;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int nameEnd;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  java.lang.String typeSignature;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  public org.eclipse.jdt.core.IAnnotation[] annotations;
    descriptor: [Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0001) ACC_PUBLIC

  private int flags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean isParameter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public org.eclipse.jdt.core.IAnnotation[][] annotationsOnDimensions;
    descriptor: [[Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0001) ACC_PUBLIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            iconst_0
            anewarray org.eclipse.jdt.core.ILocalVariable
            putstatic org.eclipse.jdt.internal.core.LocalVariable.NO_LOCAL_VARIABLES:[Lorg/eclipse/jdt/core/ILocalVariable;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.eclipse.jdt.internal.core.JavaElement, java.lang.String, int, int, int, int, java.lang.String, org.eclipse.jdt.internal.compiler.ast.Annotation[], int, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=11
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // java.lang.String name
        start local 3 // int declarationSourceStart
        start local 4 // int declarationSourceEnd
        start local 5 // int nameStart
        start local 6 // int nameEnd
        start local 7 // java.lang.String typeSignature
        start local 8 // org.eclipse.jdt.internal.compiler.ast.Annotation[] astAnnotations
        start local 9 // int flags
        start local 10 // boolean isParameter
         0: .line 66
            aload 0 /* this */
            aload 1 /* parent */
            invokespecial org.eclipse.jdt.internal.core.SourceRefElement.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;)V
         1: .line 67
            aload 0 /* this */
            aload 2 /* name */
            putfield org.eclipse.jdt.internal.core.LocalVariable.name:Ljava/lang/String;
         2: .line 68
            aload 0 /* this */
            iload 3 /* declarationSourceStart */
            putfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceStart:I
         3: .line 69
            aload 0 /* this */
            iload 4 /* declarationSourceEnd */
            putfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceEnd:I
         4: .line 70
            aload 0 /* this */
            iload 5 /* nameStart */
            putfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
         5: .line 71
            aload 0 /* this */
            iload 6 /* nameEnd */
            putfield org.eclipse.jdt.internal.core.LocalVariable.nameEnd:I
         6: .line 72
            aload 0 /* this */
            aload 7 /* typeSignature */
            putfield org.eclipse.jdt.internal.core.LocalVariable.typeSignature:Ljava/lang/String;
         7: .line 73
            aload 0 /* this */
            aload 0 /* this */
            aload 8 /* astAnnotations */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getAnnotations:([Lorg/eclipse/jdt/internal/compiler/ast/Annotation;)[Lorg/eclipse/jdt/core/IAnnotation;
            putfield org.eclipse.jdt.internal.core.LocalVariable.annotations:[Lorg/eclipse/jdt/core/IAnnotation;
         8: .line 74
            aload 0 /* this */
            iload 9 /* flags */
            putfield org.eclipse.jdt.internal.core.LocalVariable.flags:I
         9: .line 75
            aload 0 /* this */
            iload 10 /* isParameter */
            putfield org.eclipse.jdt.internal.core.LocalVariable.isParameter:Z
        10: .line 76
            return
        end local 10 // boolean isParameter
        end local 9 // int flags
        end local 8 // org.eclipse.jdt.internal.compiler.ast.Annotation[] astAnnotations
        end local 7 // java.lang.String typeSignature
        end local 6 // int nameEnd
        end local 5 // int nameStart
        end local 4 // int declarationSourceEnd
        end local 3 // int declarationSourceStart
        end local 2 // java.lang.String name
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   11     1                  parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   11     2                    name  Ljava/lang/String;
            0   11     3  declarationSourceStart  I
            0   11     4    declarationSourceEnd  I
            0   11     5               nameStart  I
            0   11     6                 nameEnd  I
            0   11     7           typeSignature  Ljava/lang/String;
            0   11     8          astAnnotations  [Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
            0   11     9                   flags  I
            0   11    10             isParameter  Z
    MethodParameters:
                        Name  Flags
      parent                  
      name                    
      declarationSourceStart  
      declarationSourceEnd    
      nameStart               
      nameEnd                 
      typeSignature           
      astAnnotations          
      flags                   
      isParameter             

  public void <init>(org.eclipse.jdt.internal.core.JavaElement, java.lang.String, int, int, int, int, java.lang.String, org.eclipse.jdt.internal.compiler.ast.Annotation[], int, boolean, org.eclipse.jdt.internal.compiler.ast.Annotation[][]);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ[[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=14, args_size=12
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // java.lang.String name
        start local 3 // int declarationSourceStart
        start local 4 // int declarationSourceEnd
        start local 5 // int nameStart
        start local 6 // int nameEnd
        start local 7 // java.lang.String typeSignature
        start local 8 // org.eclipse.jdt.internal.compiler.ast.Annotation[] astAnnotations
        start local 9 // int flags
        start local 10 // boolean isParameter
        start local 11 // org.eclipse.jdt.internal.compiler.ast.Annotation[][] astAnnotationsOnDimensions
         0: .line 90
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            iload 3 /* declarationSourceStart */
            iload 4 /* declarationSourceEnd */
            iload 5 /* nameStart */
         1: .line 91
            iload 6 /* nameEnd */
            aload 7 /* typeSignature */
            aload 8 /* astAnnotations */
            iload 9 /* flags */
            iload 10 /* isParameter */
            invokespecial org.eclipse.jdt.internal.core.LocalVariable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ)V
         2: .line 93
            aload 11 /* astAnnotationsOnDimensions */
            ifnonnull 3
            iconst_0
            goto 4
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable org.eclipse.jdt.internal.core.JavaElement java.lang.String int int int int java.lang.String org.eclipse.jdt.internal.compiler.ast.Annotation[] int int org.eclipse.jdt.internal.compiler.ast.Annotation[][]
      StackMap stack:
         3: aload 11 /* astAnnotationsOnDimensions */
            arraylength
      StackMap locals:
      StackMap stack: int
         4: istore 12 /* noOfDimensions */
        start local 12 // int noOfDimensions
         5: .line 94
            iload 12 /* noOfDimensions */
            ifle 12
         6: .line 95
            aload 0 /* this */
            iload 12 /* noOfDimensions */
            anewarray org.eclipse.jdt.core.IAnnotation[]
            putfield org.eclipse.jdt.internal.core.LocalVariable.annotationsOnDimensions:[[Lorg/eclipse/jdt/core/IAnnotation;
         7: .line 96
            iconst_0
            istore 13 /* i */
        start local 13 // int i
         8: goto 11
         9: .line 97
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.annotationsOnDimensions:[[Lorg/eclipse/jdt/core/IAnnotation;
            iload 13 /* i */
            aload 0 /* this */
            aload 11 /* astAnnotationsOnDimensions */
            iload 13 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getAnnotations:([Lorg/eclipse/jdt/internal/compiler/ast/Annotation;)[Lorg/eclipse/jdt/core/IAnnotation;
            aastore
        10: .line 96
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 13 /* i */
            iload 12 /* noOfDimensions */
            if_icmplt 9
        end local 13 // int i
        12: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 12 // int noOfDimensions
        end local 11 // org.eclipse.jdt.internal.compiler.ast.Annotation[][] astAnnotationsOnDimensions
        end local 10 // boolean isParameter
        end local 9 // int flags
        end local 8 // org.eclipse.jdt.internal.compiler.ast.Annotation[] astAnnotations
        end local 7 // java.lang.String typeSignature
        end local 6 // int nameEnd
        end local 5 // int nameStart
        end local 4 // int declarationSourceEnd
        end local 3 // int declarationSourceStart
        end local 2 // java.lang.String name
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   13     0                        this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   13     1                      parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   13     2                        name  Ljava/lang/String;
            0   13     3      declarationSourceStart  I
            0   13     4        declarationSourceEnd  I
            0   13     5                   nameStart  I
            0   13     6                     nameEnd  I
            0   13     7               typeSignature  Ljava/lang/String;
            0   13     8              astAnnotations  [Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
            0   13     9                       flags  I
            0   13    10                 isParameter  Z
            0   13    11  astAnnotationsOnDimensions  [[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
            5   13    12              noOfDimensions  I
            8   12    13                           i  I
    MethodParameters:
                            Name  Flags
      parent                      
      name                        
      declarationSourceStart      
      declarationSourceEnd        
      nameStart                   
      nameEnd                     
      typeSignature               
      astAnnotations              
      flags                       
      isParameter                 
      astAnnotationsOnDimensions  

  protected void closing(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.Object info
         0: .line 105
            return
        end local 1 // java.lang.Object info
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    1     1  info  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      info  

  protected java.lang.Object createElementInfo();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 110
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.Object o
         0: .line 115
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.core.LocalVariable
            ifne 1
            iconst_0
            ireturn
         1: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.core.LocalVariable
            astore 2 /* other */
        start local 2 // org.eclipse.jdt.internal.core.LocalVariable other
         2: .line 118
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceStart:I
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceStart:I
            if_icmpne 8
         3: .line 119
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceEnd:I
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceEnd:I
            if_icmpne 8
         4: .line 120
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
            if_icmpne 8
         5: .line 121
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameEnd:I
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameEnd:I
            if_icmpne 8
         6: .line 122
            aload 0 /* this */
            aload 1 /* o */
            invokespecial org.eclipse.jdt.internal.core.SourceRefElement.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 117
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.LocalVariable other
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    9     1      o  Ljava/lang/Object;
            2    9     2  other  Lorg/eclipse/jdt/internal/core/LocalVariable;
    MethodParameters:
      Name  Flags
      o     

  public boolean exists();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 127
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.exists:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  protected void generateInfos(java.lang.Object, java.util.HashMap, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/Object;Ljava/util/HashMap;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.Object info
        start local 2 // java.util.HashMap newElements
        start local 3 // org.eclipse.core.runtime.IProgressMonitor pm
         0: .line 133
            return
        end local 3 // org.eclipse.core.runtime.IProgressMonitor pm
        end local 2 // java.util.HashMap newElements
        end local 1 // java.lang.Object info
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    1     1         info  Ljava/lang/Object;
            0    1     2  newElements  Ljava/util/HashMap;
            0    1     3           pm  Lorg/eclipse/core/runtime/IProgressMonitor;
    MethodParameters:
             Name  Flags
      info         
      newElements  
      pm           

  public org.eclipse.jdt.core.IAnnotation getAnnotation(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.String annotationName
         0: .line 137
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.annotations:[Lorg/eclipse/jdt/core/IAnnotation;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         2: goto 7
         3: .line 138
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.annotations:[Lorg/eclipse/jdt/core/IAnnotation;
            iload 2 /* i */
            aaload
            astore 4 /* annotation */
        start local 4 // org.eclipse.jdt.core.IAnnotation annotation
         4: .line 139
            aload 4 /* annotation */
            invokeinterface org.eclipse.jdt.core.IAnnotation.getElementName:()Ljava/lang/String;
            aload 1 /* annotationName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 140
            aload 4 /* annotation */
            areturn
        end local 4 // org.eclipse.jdt.core.IAnnotation annotation
         6: .line 137
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 3
        end local 3 // int length
        end local 2 // int i
         8: .line 142
            aload 0 /* this */
            aload 1 /* annotationName */
            invokespecial org.eclipse.jdt.internal.core.SourceRefElement.getAnnotation:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IAnnotation;
            areturn
        end local 1 // java.lang.String annotationName
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    9     1  annotationName  Ljava/lang/String;
            1    8     2               i  I
            2    8     3          length  I
            4    6     4      annotation  Lorg/eclipse/jdt/core/IAnnotation;
    MethodParameters:
                Name  Flags
      annotationName  

  public org.eclipse.jdt.core.IAnnotation[] getAnnotations();
    descriptor: ()[Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.annotations:[Lorg/eclipse/jdt/core/IAnnotation;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private org.eclipse.jdt.core.IAnnotation[] getAnnotations(org.eclipse.jdt.internal.compiler.ast.Annotation[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/ast/Annotation;)[Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Annotation[] astAnnotations
         0: .line 152
            aload 1 /* astAnnotations */
            ifnull 2
            aload 1 /* astAnnotations */
            arraylength
            dup
            istore 2 /* length */
        start local 2 // int length
         1: ifne 3
        end local 2 // int length
         2: .line 153
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_ANNOTATIONS:[Lorg/eclipse/jdt/core/IAnnotation;
            areturn
        start local 2 // int length
         3: .line 154
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            anewarray org.eclipse.jdt.core.IAnnotation
            astore 3 /* result */
        start local 3 // org.eclipse.jdt.core.IAnnotation[] result
         4: .line 155
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 156
      StackMap locals: org.eclipse.jdt.core.IAnnotation[] int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            aload 0 /* this */
            aload 1 /* astAnnotations */
            iload 4 /* i */
            aaload
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getAnnotation:(Lorg/eclipse/jdt/internal/compiler/ast/Annotation;Lorg/eclipse/jdt/internal/core/JavaElement;)Lorg/eclipse/jdt/core/IAnnotation;
            aastore
         7: .line 155
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 6
        end local 4 // int i
         9: .line 158
            aload 3 /* result */
            areturn
        end local 3 // org.eclipse.jdt.core.IAnnotation[] result
        end local 2 // int length
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Annotation[] astAnnotations
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   10     1  astAnnotations  [Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
            1    2     2          length  I
            3   10     2          length  I
            4   10     3          result  [Lorg/eclipse/jdt/core/IAnnotation;
            5    9     4               i  I
    MethodParameters:
                Name  Flags
      astAnnotations  

  private org.eclipse.jdt.core.IAnnotation getAnnotation(org.eclipse.jdt.internal.compiler.ast.Annotation, org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Annotation;Lorg/eclipse/jdt/internal/core/JavaElement;)Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Annotation annotation
        start local 2 // org.eclipse.jdt.internal.core.JavaElement parentElement
         0: .line 162
            aload 1 /* annotation */
            getfield org.eclipse.jdt.internal.compiler.ast.Annotation.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.sourceStart:()I
            istore 3 /* typeStart */
        start local 3 // int typeStart
         1: .line 163
            aload 1 /* annotation */
            getfield org.eclipse.jdt.internal.compiler.ast.Annotation.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.sourceEnd:()I
            istore 4 /* typeEnd */
        start local 4 // int typeEnd
         2: .line 164
            aload 1 /* annotation */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Annotation.sourceStart:()I
            istore 5 /* sourceStart */
        start local 5 // int sourceStart
         3: .line 165
            aload 1 /* annotation */
            getfield org.eclipse.jdt.internal.compiler.ast.Annotation.declarationSourceEnd:I
            istore 6 /* sourceEnd */
        start local 6 // int sourceEnd
         4: .line 188
            new java.lang.String
            dup
            aload 1 /* annotation */
            getfield org.eclipse.jdt.internal.compiler.ast.Annotation.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.getTypeName:()[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            astore 7 /* annotationName */
        start local 7 // java.lang.String annotationName
         5: .line 189
            new org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation
            dup
            aload 0 /* this */
            aload 2 /* parentElement */
            aload 7 /* annotationName */
            iload 3 /* typeStart */
            iload 4 /* typeEnd */
            iload 5 /* sourceStart */
            iload 6 /* sourceEnd */
            invokespecial org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation.<init>:(Lorg/eclipse/jdt/internal/core/LocalVariable;Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIII)V
            astore 8 /* localVarAnnotation */
        start local 8 // org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation localVarAnnotation
         6: .line 190
            aload 1 /* annotation */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Annotation.memberValuePairs:()[Lorg/eclipse/jdt/internal/compiler/ast/MemberValuePair;
            astore 9 /* astMemberValuePairs */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.MemberValuePair[] astMemberValuePairs
         7: .line 193
            aload 9 /* astMemberValuePairs */
            ifnull 9
            aload 9 /* astMemberValuePairs */
            arraylength
            dup
            istore 10 /* length */
        start local 10 // int length
         8: ifne 11
        end local 10 // int length
         9: .line 194
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable org.eclipse.jdt.internal.compiler.ast.Annotation org.eclipse.jdt.internal.core.JavaElement int int int int java.lang.String org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation org.eclipse.jdt.internal.compiler.ast.MemberValuePair[]
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            astore 11 /* memberValuePairs */
        start local 11 // org.eclipse.jdt.core.IMemberValuePair[] memberValuePairs
        10: .line 195
            goto 20
        end local 11 // org.eclipse.jdt.core.IMemberValuePair[] memberValuePairs
        start local 10 // int length
        11: .line 196
      StackMap locals: int
      StackMap stack:
            iload 10 /* length */
            anewarray org.eclipse.jdt.core.IMemberValuePair
            astore 11 /* memberValuePairs */
        start local 11 // org.eclipse.jdt.core.IMemberValuePair[] memberValuePairs
        12: .line 197
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        13: goto 19
        14: .line 198
      StackMap locals: org.eclipse.jdt.core.IMemberValuePair[] int
      StackMap stack:
            aload 9 /* astMemberValuePairs */
            iload 12 /* i */
            aaload
            astore 13 /* astMemberValuePair */
        start local 13 // org.eclipse.jdt.internal.compiler.ast.MemberValuePair astMemberValuePair
        15: .line 199
            new org.eclipse.jdt.internal.core.MemberValuePair
            dup
            new java.lang.String
            dup
            aload 13 /* astMemberValuePair */
            getfield org.eclipse.jdt.internal.compiler.ast.MemberValuePair.name:[C
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.jdt.internal.core.MemberValuePair.<init>:(Ljava/lang/String;)V
            astore 14 /* memberValuePair */
        start local 14 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        16: .line 200
            aload 14 /* memberValuePair */
            aload 0 /* this */
            aload 14 /* memberValuePair */
            aload 13 /* astMemberValuePair */
            getfield org.eclipse.jdt.internal.compiler.ast.MemberValuePair.value:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 8 /* localVarAnnotation */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            putfield org.eclipse.jdt.internal.core.MemberValuePair.value:Ljava/lang/Object;
        17: .line 201
            aload 11 /* memberValuePairs */
            iload 12 /* i */
            aload 14 /* memberValuePair */
            aastore
        end local 14 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        end local 13 // org.eclipse.jdt.internal.compiler.ast.MemberValuePair astMemberValuePair
        18: .line 197
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 12 /* i */
            iload 10 /* length */
            if_icmplt 14
        end local 12 // int i
        end local 10 // int length
        20: .line 204
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable org.eclipse.jdt.internal.compiler.ast.Annotation org.eclipse.jdt.internal.core.JavaElement int int int int java.lang.String org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation org.eclipse.jdt.internal.compiler.ast.MemberValuePair[] top org.eclipse.jdt.core.IMemberValuePair[]
      StackMap stack:
            aload 8 /* localVarAnnotation */
            aload 11 /* memberValuePairs */
            putfield org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation.memberValuePairs:[Lorg/eclipse/jdt/core/IMemberValuePair;
        21: .line 205
            aload 8 /* localVarAnnotation */
            areturn
        end local 11 // org.eclipse.jdt.core.IMemberValuePair[] memberValuePairs
        end local 9 // org.eclipse.jdt.internal.compiler.ast.MemberValuePair[] astMemberValuePairs
        end local 8 // org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation localVarAnnotation
        end local 7 // java.lang.String annotationName
        end local 6 // int sourceEnd
        end local 5 // int sourceStart
        end local 4 // int typeEnd
        end local 3 // int typeStart
        end local 2 // org.eclipse.jdt.internal.core.JavaElement parentElement
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Annotation annotation
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0                 this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   22     1           annotation  Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
            0   22     2        parentElement  Lorg/eclipse/jdt/internal/core/JavaElement;
            1   22     3            typeStart  I
            2   22     4              typeEnd  I
            3   22     5          sourceStart  I
            4   22     6            sourceEnd  I
            5   22     7       annotationName  Ljava/lang/String;
            6   22     8   localVarAnnotation  Lorg/eclipse/jdt/internal/core/LocalVariable$1LocalVarAnnotation;
            7   22     9  astMemberValuePairs  [Lorg/eclipse/jdt/internal/compiler/ast/MemberValuePair;
            8    9    10               length  I
           11   20    10               length  I
           10   11    11     memberValuePairs  [Lorg/eclipse/jdt/core/IMemberValuePair;
           12   22    11     memberValuePairs  [Lorg/eclipse/jdt/core/IMemberValuePair;
           13   20    12                    i  I
           15   18    13   astMemberValuePair  Lorg/eclipse/jdt/internal/compiler/ast/MemberValuePair;
           16   18    14      memberValuePair  Lorg/eclipse/jdt/internal/core/MemberValuePair;
    MethodParameters:
               Name  Flags
      annotation     final
      parentElement  

  private java.lang.Object getAnnotationMemberValue(org.eclipse.jdt.internal.core.MemberValuePair, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 3 // org.eclipse.jdt.internal.core.JavaElement parentElement
         0: .line 212
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
            ifeq 2
         1: .line 213
            aconst_null
            areturn
         2: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.Literal
            ifeq 5
         3: .line 215
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.Literal
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Literal.computeConstant:()V
         4: .line 216
            aload 1 /* memberValuePair */
            aload 2 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/impl/Constant;)Ljava/lang/Object;
            areturn
         5: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.Annotation
            ifeq 8
         6: .line 218
            aload 1 /* memberValuePair */
            bipush 10
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         7: .line 219
            aload 0 /* this */
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.Annotation
            aload 3 /* parentElement */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getAnnotation:(Lorg/eclipse/jdt/internal/compiler/ast/Annotation;Lorg/eclipse/jdt/internal/core/JavaElement;)Lorg/eclipse/jdt/core/IAnnotation;
            areturn
         8: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.ClassLiteralAccess
            ifeq 13
         9: .line 221
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.ClassLiteralAccess
            astore 4 /* classLiteral */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.ClassLiteralAccess classLiteral
        10: .line 222
            aload 4 /* classLiteral */
            getfield org.eclipse.jdt.internal.compiler.ast.ClassLiteralAccess.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.getTypeName:()[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 5 /* typeName */
        start local 5 // char[] typeName
        11: .line 223
            aload 1 /* memberValuePair */
            bipush 11
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        12: .line 224
            new java.lang.String
            dup
            aload 5 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 5 // char[] typeName
        end local 4 // org.eclipse.jdt.internal.compiler.ast.ClassLiteralAccess classLiteral
        13: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference
            ifeq 17
        14: .line 226
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference
            getfield org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.tokens:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 4 /* qualifiedName */
        start local 4 // char[] qualifiedName
        15: .line 227
            aload 1 /* memberValuePair */
            bipush 12
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        16: .line 228
            new java.lang.String
            dup
            aload 4 /* qualifiedName */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 4 // char[] qualifiedName
        17: .line 229
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference
            ifeq 24
        18: .line 230
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.SingleNameReference
            getfield org.eclipse.jdt.internal.compiler.ast.SingleNameReference.token:[C
            astore 4 /* simpleName */
        start local 4 // char[] simpleName
        19: .line 231
            aload 4 /* simpleName */
            getstatic org.eclipse.jdt.internal.compiler.parser.RecoveryScanner.FAKE_IDENTIFIER:[C
            if_acmpne 22
        20: .line 232
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        21: .line 233
            aconst_null
            areturn
        22: .line 235
      StackMap locals: char[]
      StackMap stack:
            aload 1 /* memberValuePair */
            bipush 13
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        23: .line 236
            new java.lang.String
            dup
            aload 4 /* simpleName */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 4 // char[] simpleName
        24: .line 237
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.ArrayInitializer
            ifeq 43
        25: .line 238
            aload 1 /* memberValuePair */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        26: .line 239
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.ArrayInitializer
            getfield org.eclipse.jdt.internal.compiler.ast.ArrayInitializer.expressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 4 /* expressions */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.Expression[] expressions
        27: .line 240
            aload 4 /* expressions */
            ifnonnull 28
            iconst_0
            goto 29
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression[]
      StackMap stack:
        28: aload 4 /* expressions */
            arraylength
      StackMap locals:
      StackMap stack: int
        29: istore 5 /* length */
        start local 5 // int length
        30: .line 241
            iload 5 /* length */
            anewarray java.lang.Object
            astore 6 /* values */
        start local 6 // java.lang.Object[] values
        31: .line 242
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        32: goto 39
        33: .line 243
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* memberValuePair */
            getfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
            istore 8 /* previousValueKind */
        start local 8 // int previousValueKind
        34: .line 244
            aload 0 /* this */
            aload 1 /* memberValuePair */
            aload 4 /* expressions */
            iload 7 /* i */
            aaload
            aload 3 /* parentElement */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            astore 9 /* value */
        start local 9 // java.lang.Object value
        35: .line 245
            iload 8 /* previousValueKind */
            iconst_m1
            if_icmpeq 37
            aload 1 /* memberValuePair */
            getfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
            iload 8 /* previousValueKind */
            if_icmpeq 37
        36: .line 247
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        37: .line 249
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 6 /* values */
            iload 7 /* i */
            aload 9 /* value */
            aastore
        end local 9 // java.lang.Object value
        end local 8 // int previousValueKind
        38: .line 242
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 7 /* i */
            iload 5 /* length */
            if_icmplt 33
        end local 7 // int i
        40: .line 251
            aload 1 /* memberValuePair */
            getfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
            iconst_m1
            if_icmpne 42
        41: .line 252
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        42: .line 253
      StackMap locals:
      StackMap stack:
            aload 6 /* values */
            areturn
        end local 6 // java.lang.Object[] values
        end local 5 // int length
        end local 4 // org.eclipse.jdt.internal.compiler.ast.Expression[] expressions
        43: .line 254
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.UnaryExpression
            ifeq 52
        44: .line 255
            aload 2 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.UnaryExpression
            astore 4 /* unaryExpression */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression unaryExpression
        45: .line 256
            aload 4 /* unaryExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 13
            if_icmpne 50
        46: .line 257
            aload 4 /* unaryExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.Literal
            ifeq 50
        47: .line 258
            aload 4 /* unaryExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.Literal
            astore 5 /* subExpression */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.Literal subExpression
        48: .line 259
            aload 5 /* subExpression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Literal.computeConstant:()V
        49: .line 260
            aload 1 /* memberValuePair */
            aload 5 /* subExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.Literal.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokestatic org.eclipse.jdt.internal.core.util.Util.getNegativeAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/impl/Constant;)Ljava/lang/Object;
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.ast.Literal subExpression
        50: .line 263
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.UnaryExpression
      StackMap stack:
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        51: .line 264
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression unaryExpression
        52: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        53: .line 267
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.core.JavaElement parentElement
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 1 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   54     0               this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   54     1    memberValuePair  Lorg/eclipse/jdt/internal/core/MemberValuePair;
            0   54     2         expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   54     3      parentElement  Lorg/eclipse/jdt/internal/core/JavaElement;
           10   13     4       classLiteral  Lorg/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess;
           11   13     5           typeName  [C
           15   17     4      qualifiedName  [C
           19   24     4         simpleName  [C
           27   43     4        expressions  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           30   43     5             length  I
           31   43     6             values  [Ljava/lang/Object;
           32   40     7                  i  I
           34   38     8  previousValueKind  I
           35   38     9              value  Ljava/lang/Object;
           45   52     4    unaryExpression  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
           48   50     5      subExpression  Lorg/eclipse/jdt/internal/compiler/ast/Literal;
    MethodParameters:
                 Name  Flags
      memberValuePair  
      expression       
      parentElement    

  public org.eclipse.jdt.core.IJavaElement getHandleFromMemento(java.lang.String, org.eclipse.jdt.internal.core.util.MementoTokenizer, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.String token
        start local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 273
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 33 - 33
                   33: 1
              default: 2
          }
         1: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* memento */
            aload 3 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getHandleUpdatingCountFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        end local 1 // java.lang.String token
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    3     1    token  Ljava/lang/String;
            0    3     2  memento  Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;
            0    3     3    owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
    MethodParameters:
         Name  Flags
      token    
      memento  
      owner    

  protected void getHandleMemento(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.StringBuffer buff
         0: .line 282
            aload 0 /* this */
            aload 1 /* buff */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getHandleMemento:(Ljava/lang/StringBuffer;Z)V
         1: .line 283
            return
        end local 1 // java.lang.StringBuffer buff
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    2     1  buff  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      buff  

  protected void getHandleMemento(java.lang.StringBuffer, boolean);
    descriptor: (Ljava/lang/StringBuffer;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // java.lang.StringBuffer buff
        start local 2 // boolean memoizeParent
         0: .line 286
            iload 2 /* memoizeParent */
            ifeq 2
         1: .line 287
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* buff */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleMemento:(Ljava/lang/StringBuffer;)V
         2: .line 288
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getHandleMementoDelimiter:()C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 289
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 290
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 291
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceStart:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         6: .line 292
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 293
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceEnd:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         8: .line 294
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 295
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        10: .line 296
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 297
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameEnd:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        12: .line 298
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 299
            aload 0 /* this */
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.typeSignature:Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.escapeMementoName:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
        14: .line 300
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 301
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.flags:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        16: .line 302
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 303
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.isParameter:Z
            invokevirtual java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;
            pop
        18: .line 304
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.occurrenceCount:I
            iconst_1
            if_icmple 21
        19: .line 305
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 306
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.occurrenceCount:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        21: .line 308
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean memoizeParent
        end local 1 // java.lang.StringBuffer buff
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   22     1           buff  Ljava/lang/StringBuffer;
            0   22     2  memoizeParent  Z
    MethodParameters:
               Name  Flags
      buff           
      memoizeParent  

  protected char getHandleMementoDelimiter();
    descriptor: ()C
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 312
            bipush 64
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public org.eclipse.core.resources.IResource getCorrespondingResource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 317
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public org.eclipse.jdt.core.IMember getDeclaringMember();
    descriptor: ()Lorg/eclipse/jdt/core/IMember;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 326
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IMember
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public java.lang.String getElementName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 331
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.name:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public int getElementType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 336
            bipush 14
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public int getFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 345
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.flags:I
            iconst_m1
            if_icmpne 10
         1: .line 346
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getSourceMapper:()Lorg/eclipse/jdt/internal/core/SourceMapper;
            astore 1 /* mapper */
        start local 1 // org.eclipse.jdt.internal.core.SourceMapper mapper
         2: .line 347
            aload 1 /* mapper */
            ifnull 9
         3: .line 350
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getClassFile:()Lorg/eclipse/jdt/core/IClassFile;
            astore 2 /* classFile */
        start local 2 // org.eclipse.jdt.core.IClassFile classFile
         4: .line 351
            aload 2 /* classFile */
            ifnull 9
         5: .line 352
            aload 2 /* classFile */
            invokeinterface org.eclipse.jdt.core.IClassFile.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            pop
         6: .line 353
            aload 1 /* mapper */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.getFlags:(Lorg/eclipse/jdt/core/IJavaElement;)I
         7: ireturn
        end local 2 // org.eclipse.jdt.core.IClassFile classFile
         8: .line 355
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable org.eclipse.jdt.internal.core.SourceMapper
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         9: .line 359
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMapper mapper
        10: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.flags:I
            ldc 65535
            iand
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            2   10     1     mapper  Lorg/eclipse/jdt/internal/core/SourceMapper;
            4    8     2  classFile  Lorg/eclipse/jdt/core/IClassFile;
      Exception table:
        from    to  target  type
           3     7       8  Class org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IClassFile getClassFile();
    descriptor: ()Lorg/eclipse/jdt/core/IClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 369
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 1 /* element */
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         1: .line 370
            goto 3
         2: .line 371
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 1 /* element */
         3: .line 370
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            instanceof org.eclipse.jdt.core.IMember
            ifne 2
         4: .line 373
            aload 1 /* element */
            instanceof org.eclipse.jdt.core.IClassFile
            ifeq 6
         5: .line 374
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IClassFile
            areturn
         6: .line 376
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            1    7     1  element  Lorg/eclipse/jdt/core/IJavaElement;

  public org.eclipse.jdt.core.ISourceRange getNameRange();
    descriptor: ()Lorg/eclipse/jdt/core/ISourceRange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 384
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameEnd:I
            iconst_m1
            if_icmpne 10
         1: .line 385
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getSourceMapper:()Lorg/eclipse/jdt/internal/core/SourceMapper;
            astore 1 /* mapper */
        start local 1 // org.eclipse.jdt.internal.core.SourceMapper mapper
         2: .line 386
            aload 1 /* mapper */
            ifnull 9
         3: .line 389
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getClassFile:()Lorg/eclipse/jdt/core/IClassFile;
            astore 2 /* classFile */
        start local 2 // org.eclipse.jdt.core.IClassFile classFile
         4: .line 390
            aload 2 /* classFile */
            ifnull 9
         5: .line 391
            aload 2 /* classFile */
            invokeinterface org.eclipse.jdt.core.IClassFile.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            pop
         6: .line 392
            aload 1 /* mapper */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.getNameRange:(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/jdt/core/SourceRange;
         7: areturn
        end local 2 // org.eclipse.jdt.core.IClassFile classFile
         8: .line 394
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable org.eclipse.jdt.internal.core.SourceMapper
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         9: .line 398
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.SourceMapper.UNKNOWN_RANGE:Lorg/eclipse/jdt/core/SourceRange;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMapper mapper
        10: .line 400
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.SourceRange
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameEnd:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
            isub
            iconst_1
            iadd
            invokespecial org.eclipse.jdt.core.SourceRange.<init>:(II)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            2   10     1     mapper  Lorg/eclipse/jdt/internal/core/SourceMapper;
            4    8     2  classFile  Lorg/eclipse/jdt/core/IClassFile;
      Exception table:
        from    to  target  type
           3     7       8  Class org.eclipse.jdt.core.JavaModelException

  public org.eclipse.core.runtime.IPath getPath();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 405
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public org.eclipse.core.resources.IResource resource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 410
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resource:()Lorg/eclipse/core/resources/IResource;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public java.lang.String getSource();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 418
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getOpenableParent:()Lorg/eclipse/jdt/core/IOpenable;
            astore 1 /* openable */
        start local 1 // org.eclipse.jdt.core.IOpenable openable
         1: .line 419
            aload 1 /* openable */
            invokeinterface org.eclipse.jdt.core.IOpenable.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            astore 2 /* buffer */
        start local 2 // org.eclipse.jdt.core.IBuffer buffer
         2: .line 420
            aload 2 /* buffer */
            ifnonnull 4
         3: .line 421
            aconst_null
            areturn
         4: .line 423
      StackMap locals: org.eclipse.jdt.core.IOpenable org.eclipse.jdt.core.IBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 3 /* range */
        start local 3 // org.eclipse.jdt.core.ISourceRange range
         5: .line 424
            aload 3 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            istore 4 /* offset */
        start local 4 // int offset
         6: .line 425
            aload 3 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            istore 5 /* length */
        start local 5 // int length
         7: .line 426
            iload 4 /* offset */
            iconst_m1
            if_icmpeq 8
            iload 5 /* length */
            ifne 9
         8: .line 427
      StackMap locals: org.eclipse.jdt.core.ISourceRange int int
      StackMap stack:
            aconst_null
            areturn
         9: .line 430
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 4 /* offset */
            iload 5 /* length */
            invokeinterface org.eclipse.jdt.core.IBuffer.getText:(II)Ljava/lang/String;
        10: areturn
        11: .line 431
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
        12: .line 432
            aconst_null
            areturn
        end local 5 // int length
        end local 4 // int offset
        end local 3 // org.eclipse.jdt.core.ISourceRange range
        end local 2 // org.eclipse.jdt.core.IBuffer buffer
        end local 1 // org.eclipse.jdt.core.IOpenable openable
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            1   13     1  openable  Lorg/eclipse/jdt/core/IOpenable;
            2   13     2    buffer  Lorg/eclipse/jdt/core/IBuffer;
            5   13     3     range  Lorg/eclipse/jdt/core/ISourceRange;
            6   13     4    offset  I
            7   13     5    length  I
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.RuntimeException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.ISourceRange getSourceRange();
    descriptor: ()Lorg/eclipse/jdt/core/ISourceRange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 442
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceEnd:I
            iconst_m1
            if_icmpne 8
         1: .line 443
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getSourceMapper:()Lorg/eclipse/jdt/internal/core/SourceMapper;
            astore 1 /* mapper */
        start local 1 // org.eclipse.jdt.internal.core.SourceMapper mapper
         2: .line 444
            aload 1 /* mapper */
            ifnull 7
         3: .line 446
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getClassFile:()Lorg/eclipse/jdt/core/IClassFile;
            astore 2 /* classFile */
        start local 2 // org.eclipse.jdt.core.IClassFile classFile
         4: .line 447
            aload 2 /* classFile */
            ifnull 7
         5: .line 448
            aload 2 /* classFile */
            invokeinterface org.eclipse.jdt.core.IClassFile.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            pop
         6: .line 449
            aload 1 /* mapper */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.getSourceRange:(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/jdt/core/SourceRange;
            areturn
        end local 2 // org.eclipse.jdt.core.IClassFile classFile
         7: .line 452
      StackMap locals: org.eclipse.jdt.internal.core.SourceMapper
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.SourceMapper.UNKNOWN_RANGE:Lorg/eclipse/jdt/core/SourceRange;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMapper mapper
         8: .line 454
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.SourceRange
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceEnd:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.declarationSourceStart:I
            isub
            iconst_1
            iadd
            invokespecial org.eclipse.jdt.core.SourceRange.<init>:(II)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            2    8     1     mapper  Lorg/eclipse/jdt/internal/core/SourceMapper;
            4    7     2  classFile  Lorg/eclipse/jdt/core/IClassFile;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.ITypeRoot getTypeRoot();
    descriptor: ()Lorg/eclipse/jdt/core/ITypeRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 463
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getDeclaringMember:()Lorg/eclipse/jdt/core/IMember;
            invokeinterface org.eclipse.jdt.core.IMember.getTypeRoot:()Lorg/eclipse/jdt/core/ITypeRoot;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public java.lang.String getTypeSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 468
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.typeSignature:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public org.eclipse.core.resources.IResource getUnderlyingResource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 473
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getUnderlyingResource:()Lorg/eclipse/core/resources/IResource;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 478
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.hashCode:()I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.nameStart:I
            invokestatic org.eclipse.jdt.internal.core.util.Util.combineHashCodes:(II)I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public boolean isParameter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 487
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.isParameter:Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;

  public boolean isStructureKnown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
         0: .line 492
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LocalVariable;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String getKey(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // boolean forceOpen
         0: .line 499
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementType:()I
            bipush 9
            if_icmpne 17
         1: .line 500
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         2: .line 501
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            instanceof org.eclipse.jdt.internal.core.BinaryMethod
            ifeq 4
         3: .line 502
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.internal.core.BinaryMethod
            iload 1 /* forceOpen */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getKey:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 5
         4: .line 504
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IMethod
            invokeinterface org.eclipse.jdt.core.IMethod.getKey:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 505
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            bipush 35
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 506
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 507
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.isParameter:Z
            ifeq 16
         8: .line 508
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.LocalVariable.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IMethod
            invokeinterface org.eclipse.jdt.core.IMethod.getParameters:()[Lorg/eclipse/jdt/core/ILocalVariable;
            astore 3 /* parameters */
        start local 3 // org.eclipse.jdt.core.ILocalVariable[] parameters
         9: .line 509
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 15
        11: .line 510
      StackMap locals: org.eclipse.jdt.core.ILocalVariable[] int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* parameters */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 511
            aload 2 /* buf */
            ldc "#0#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        13: .line 512
            goto 16
        14: .line 509
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 3 /* parameters */
            arraylength
            if_icmplt 11
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.ILocalVariable[] parameters
        16: .line 516
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        17: .line 518
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // boolean forceOpen
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0   18     1   forceOpen  Z
            2   17     2         buf  Ljava/lang/StringBuilder;
            9   16     3  parameters  [Lorg/eclipse/jdt/core/ILocalVariable;
           10   16     4           i  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
           Name  Flags
      forceOpen  

  protected void toStringInfo(int, java.lang.StringBuffer, java.lang.Object, boolean);
    descriptor: (ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.LocalVariable this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // java.lang.Object info
        start local 4 // boolean showResolvedInfo
         0: .line 523
            aload 2 /* buffer */
            aload 0 /* this */
            iload 1 /* tab */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.tabString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 524
            aload 3 /* info */
            getstatic org.eclipse.jdt.internal.core.LocalVariable.NO_INFO:Ljava/lang/Object;
            if_acmpeq 4
         2: .line 525
            aload 2 /* buffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.getTypeSignature:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 526
            aload 2 /* buffer */
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.toStringName:(Ljava/lang/StringBuffer;)V
         5: .line 529
            return
        end local 4 // boolean showResolvedInfo
        end local 3 // java.lang.Object info
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int tab
        end local 0 // org.eclipse.jdt.internal.core.LocalVariable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/eclipse/jdt/internal/core/LocalVariable;
            0    6     1               tab  I
            0    6     2            buffer  Ljava/lang/StringBuffer;
            0    6     3              info  Ljava/lang/Object;
            0    6     4  showResolvedInfo  Z
    MethodParameters:
                  Name  Flags
      tab               
      buffer            
      info              
      showResolvedInfo  
}
SourceFile: "LocalVariable.java"
NestMembers:
  org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation
InnerClasses:
  LocalVarAnnotation = org.eclipse.jdt.internal.core.LocalVariable$1LocalVarAnnotation