class org.eclipse.jdt.internal.core.ClassFileInfo extends org.eclipse.jdt.internal.core.OpenableElementInfo implements org.eclipse.jdt.internal.compiler.util.SuffixConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.ClassFileInfo
  super_class: org.eclipse.jdt.internal.core.OpenableElementInfo
{
  protected org.eclipse.jdt.internal.core.JavaElement[] binaryChildren;
    descriptor: [Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jdt.core.ITypeParameter[] typeParameters;
    descriptor: [Lorg/eclipse/jdt/core/ITypeParameter;
    flags: (0x0004) ACC_PROTECTED

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
         0: .line 36
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.OpenableElementInfo.<init>:()V
         1: .line 42
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
         2: .line 36
            return
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;

  private void generateAnnotationsInfos(org.eclipse.jdt.internal.core.JavaElement, org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[], long, java.util.HashMap);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement member
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        start local 3 // long tagBits
        start local 5 // java.util.HashMap newElements
         0: .line 49
            aload 0 /* this */
            aload 1 /* member */
            aconst_null
            aload 2 /* binaryAnnotations */
            lload 3 /* tagBits */
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationsInfos:(Lorg/eclipse/jdt/internal/core/JavaElement;[C[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
         1: .line 50
            return
        end local 5 // java.util.HashMap newElements
        end local 3 // long tagBits
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        end local 1 // org.eclipse.jdt.internal.core.JavaElement member
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0    2     1             member  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    2     2  binaryAnnotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0    2     3            tagBits  J
            0    2     5        newElements  Ljava/util/HashMap;
    MethodParameters:
                   Name  Flags
      member             
      binaryAnnotations  
      tagBits            
      newElements        

  private void generateAnnotationsInfos(org.eclipse.jdt.internal.core.JavaElement, char[], org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[], long, java.util.HashMap);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;[C[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement member
        start local 2 // char[] parameterName
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        start local 4 // long tagBits
        start local 6 // java.util.HashMap newElements
         0: .line 56
            aload 3 /* binaryAnnotations */
            ifnull 8
         1: .line 57
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         2: aload 3 /* binaryAnnotations */
            arraylength
            istore 8 /* length */
        start local 8 // int length
         3: goto 7
         4: .line 58
      StackMap locals: int int
      StackMap stack:
            aload 3 /* binaryAnnotations */
            iload 7 /* i */
            aaload
            astore 9 /* annotationInfo */
        start local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotationInfo
         5: .line 59
            aload 0 /* this */
            aload 1 /* member */
            aload 2 /* parameterName */
            aload 6 /* newElements */
            aload 9 /* annotationInfo */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationInfo:(Lorg/eclipse/jdt/internal/core/JavaElement;[CLjava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
        end local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotationInfo
         6: .line 57
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 7 /* i */
            iload 8 /* length */
            if_icmplt 4
        end local 8 // int length
        end local 7 // int i
         8: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* member */
            aload 2 /* parameterName */
            lload 4 /* tagBits */
            aload 6 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotationsInfos:(Lorg/eclipse/jdt/internal/core/JavaElement;[CJLjava/util/HashMap;)V
         9: .line 63
            return
        end local 6 // java.util.HashMap newElements
        end local 4 // long tagBits
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        end local 2 // char[] parameterName
        end local 1 // org.eclipse.jdt.internal.core.JavaElement member
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   10     1             member  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   10     2      parameterName  [C
            0   10     3  binaryAnnotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0   10     4            tagBits  J
            0   10     6        newElements  Ljava/util/HashMap;
            2    8     7                  i  I
            3    8     8             length  I
            5    6     9     annotationInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
    MethodParameters:
                   Name  Flags
      member             
      parameterName      
      binaryAnnotations  
      tagBits            
      newElements        

  private void generateAnnotationInfo(org.eclipse.jdt.internal.core.JavaElement, java.util.HashMap, org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // java.util.HashMap newElements
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotationInfo
        start local 4 // java.lang.String memberValuePairName
         0: .line 65
            aload 0 /* this */
            aload 1 /* parent */
            aconst_null
            aload 2 /* newElements */
            aload 3 /* annotationInfo */
            aload 4 /* memberValuePairName */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationInfo:(Lorg/eclipse/jdt/internal/core/JavaElement;[CLjava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
         1: .line 66
            return
        end local 4 // java.lang.String memberValuePairName
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotationInfo
        end local 2 // java.util.HashMap newElements
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0    2     1               parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    2     2          newElements  Ljava/util/HashMap;
            0    2     3       annotationInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0    2     4  memberValuePairName  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      parent               
      newElements          
      annotationInfo       
      memberValuePairName  

  private void generateAnnotationInfo(org.eclipse.jdt.internal.core.JavaElement, char[], java.util.HashMap, org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;[CLjava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // char[] parameterName
        start local 3 // java.util.HashMap newElements
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotationInfo
        start local 5 // java.lang.String memberValuePairName
         0: .line 68
            aload 4 /* annotationInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation.getTypeName:()[C
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 6 /* typeName */
        start local 6 // char[] typeName
         1: .line 69
            new org.eclipse.jdt.internal.core.Annotation
            dup
            aload 1 /* parent */
            new java.lang.String
            dup
            aload 6 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            aload 5 /* memberValuePairName */
            invokespecial org.eclipse.jdt.internal.core.Annotation.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* annotation */
        start local 7 // org.eclipse.jdt.internal.core.Annotation annotation
         2: .line 70
            goto 4
         3: .line 71
      StackMap locals: char[] org.eclipse.jdt.internal.core.Annotation
      StackMap stack:
            aload 7 /* annotation */
            dup
            getfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.Annotation.occurrenceCount:I
         4: .line 70
      StackMap locals:
      StackMap stack:
            aload 3 /* newElements */
            aload 7 /* annotation */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 3
         5: .line 73
            aload 3 /* newElements */
            aload 7 /* annotation */
            aload 4 /* annotationInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 74
            aload 4 /* annotationInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation.getElementValuePairs:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryElementValuePair;
            astore 8 /* pairs */
        start local 8 // org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] pairs
         7: .line 75
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         8: aload 8 /* pairs */
            arraylength
            istore 10 /* length */
        start local 10 // int length
         9: goto 25
        10: .line 76
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] int int
      StackMap stack:
            aload 8 /* pairs */
            iload 9 /* i */
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair.getValue:()Ljava/lang/Object;
            astore 11 /* value */
        start local 11 // java.lang.Object value
        11: .line 77
            aload 11 /* value */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            ifeq 14
        12: .line 78
            aload 0 /* this */
            aload 7 /* annotation */
            aload 3 /* newElements */
            aload 11 /* value */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            new java.lang.String
            dup
            aload 8 /* pairs */
            iload 9 /* i */
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair.getName:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationInfo:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
        13: .line 79
            goto 24
      StackMap locals: java.lang.Object
      StackMap stack:
        14: aload 11 /* value */
            instanceof java.lang.Object[]
            ifeq 24
        15: .line 81
            aload 11 /* value */
            checkcast java.lang.Object[]
            astore 12 /* valueArray */
        start local 12 // java.lang.Object[] valueArray
        16: .line 82
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        17: aload 12 /* valueArray */
            arraylength
            istore 14 /* valueArrayLength */
        start local 14 // int valueArrayLength
        18: goto 23
        19: .line 83
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 12 /* valueArray */
            iload 13 /* j */
            aaload
            astore 15 /* nestedValue */
        start local 15 // java.lang.Object nestedValue
        20: .line 84
            aload 15 /* nestedValue */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            ifeq 22
        21: .line 85
            aload 0 /* this */
            aload 7 /* annotation */
            aload 3 /* newElements */
            aload 15 /* nestedValue */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            new java.lang.String
            dup
            aload 8 /* pairs */
            iload 9 /* i */
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair.getName:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationInfo:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
        end local 15 // java.lang.Object nestedValue
        22: .line 82
      StackMap locals:
      StackMap stack:
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 13 /* j */
            iload 14 /* valueArrayLength */
            if_icmplt 19
        end local 14 // int valueArrayLength
        end local 13 // int j
        end local 12 // java.lang.Object[] valueArray
        end local 11 // java.lang.Object value
        24: .line 75
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.internal.core.JavaElement char[] java.util.HashMap org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation java.lang.String char[] org.eclipse.jdt.internal.core.Annotation org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] int int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 9 /* i */
            iload 10 /* length */
            if_icmplt 10
        end local 10 // int length
        end local 9 // int i
        26: .line 90
            return
        end local 8 // org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] pairs
        end local 7 // org.eclipse.jdt.internal.core.Annotation annotation
        end local 6 // char[] typeName
        end local 5 // java.lang.String memberValuePairName
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotationInfo
        end local 3 // java.util.HashMap newElements
        end local 2 // char[] parameterName
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   27     0                 this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   27     1               parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   27     2        parameterName  [C
            0   27     3          newElements  Ljava/util/HashMap;
            0   27     4       annotationInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0   27     5  memberValuePairName  Ljava/lang/String;
            1   27     6             typeName  [C
            2   27     7           annotation  Lorg/eclipse/jdt/internal/core/Annotation;
            7   27     8                pairs  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryElementValuePair;
            8   26     9                    i  I
            9   26    10               length  I
           11   24    11                value  Ljava/lang/Object;
           16   24    12           valueArray  [Ljava/lang/Object;
           17   24    13                    j  I
           18   24    14     valueArrayLength  I
           20   22    15          nestedValue  Ljava/lang/Object;
    MethodParameters:
                     Name  Flags
      parent               
      parameterName        
      newElements          
      annotationInfo       
      memberValuePairName  

  private void generateStandardAnnotationsInfos(org.eclipse.jdt.internal.core.JavaElement, char[], long, java.util.HashMap);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;[CJLjava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement javaElement
        start local 2 // char[] parameterName
        start local 3 // long tagBits
        start local 5 // java.util.HashMap newElements
         0: .line 92
            lload 3 /* tagBits */
            ldc 8646911250191613952
            land
            lconst_0
            lcmp
            ifne 2
         1: .line 93
            return
         2: .line 94
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 2332882164804222976
            land
            lconst_0
            lcmp
            ifeq 4
         3: .line 95
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_TARGET:[[C
            aload 0 /* this */
            lload 3 /* tagBits */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.getTargetElementTypes:(J)[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
         4: .line 97
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 52776558133248
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 98
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_RETENTION:[[C
            aload 0 /* this */
            lload 3 /* tagBits */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.getRetentionPolicy:(J)[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
         6: .line 100
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 70368744177664
            land
            lconst_0
            lcmp
            ifeq 8
         7: .line 101
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_DEPRECATED:[[C
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
         8: .line 103
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 140737488355328
            land
            lconst_0
            lcmp
            ifeq 10
         9: .line 104
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED:[[C
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
        10: .line 106
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 281474976710656
            land
            lconst_0
            lcmp
            ifeq 12
        11: .line 107
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_INHERITED:[[C
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
        12: .line 109
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 14
        13: .line 110
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE:[[C
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
        14: .line 112
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 2251799813685248
            land
            lconst_0
            lcmp
            ifeq 16
        15: .line 113
            aload 0 /* this */
            aload 1 /* javaElement */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_SAFEVARARGS:[[C
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            aload 5 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateStandardAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
        16: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.HashMap newElements
        end local 3 // long tagBits
        end local 2 // char[] parameterName
        end local 1 // org.eclipse.jdt.internal.core.JavaElement javaElement
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   17     1    javaElement  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   17     2  parameterName  [C
            0   17     3        tagBits  J
            0   17     5    newElements  Ljava/util/HashMap;
    MethodParameters:
               Name  Flags
      javaElement    
      parameterName  
      tagBits        
      newElements    

  private void generateStandardAnnotation(org.eclipse.jdt.internal.core.JavaElement, char[][], org.eclipse.jdt.core.IMemberValuePair[], java.util.HashMap);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;[[C[Lorg/eclipse/jdt/core/IMemberValuePair;Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement javaElement
        start local 2 // char[][] typeName
        start local 3 // org.eclipse.jdt.core.IMemberValuePair[] members
        start local 4 // java.util.HashMap newElements
         0: .line 119
            new org.eclipse.jdt.internal.core.Annotation
            dup
            aload 1 /* javaElement */
            new java.lang.String
            dup
            aload 2 /* typeName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.jdt.internal.core.Annotation.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            astore 5 /* annotation */
        start local 5 // org.eclipse.jdt.core.IAnnotation annotation
         1: .line 120
            new org.eclipse.jdt.internal.core.AnnotationInfo
            dup
            invokespecial org.eclipse.jdt.internal.core.AnnotationInfo.<init>:()V
            astore 6 /* annotationInfo */
        start local 6 // org.eclipse.jdt.internal.core.AnnotationInfo annotationInfo
         2: .line 121
            aload 6 /* annotationInfo */
            aload 3 /* members */
            putfield org.eclipse.jdt.internal.core.AnnotationInfo.members:[Lorg/eclipse/jdt/core/IMemberValuePair;
         3: .line 122
            aload 4 /* newElements */
            aload 5 /* annotation */
            aload 6 /* annotationInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 123
            return
        end local 6 // org.eclipse.jdt.internal.core.AnnotationInfo annotationInfo
        end local 5 // org.eclipse.jdt.core.IAnnotation annotation
        end local 4 // java.util.HashMap newElements
        end local 3 // org.eclipse.jdt.core.IMemberValuePair[] members
        end local 2 // char[][] typeName
        end local 1 // org.eclipse.jdt.internal.core.JavaElement javaElement
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0    5     1     javaElement  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    5     2        typeName  [[C
            0    5     3         members  [Lorg/eclipse/jdt/core/IMemberValuePair;
            0    5     4     newElements  Ljava/util/HashMap;
            1    5     5      annotation  Lorg/eclipse/jdt/core/IAnnotation;
            2    5     6  annotationInfo  Lorg/eclipse/jdt/internal/core/AnnotationInfo;
    MethodParameters:
             Name  Flags
      javaElement  
      typeName     
      members      
      newElements  

  private org.eclipse.jdt.core.IMemberValuePair[] getTargetElementTypes(long);
    descriptor: (J)[Lorg/eclipse/jdt/core/IMemberValuePair;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // long tagBits
         0: .line 126
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* values */
        start local 3 // java.util.ArrayList values
         1: .line 127
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_ELEMENTTYPE:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* elementType */
        start local 4 // java.lang.String elementType
         2: .line 128
            lload 1 /* tagBits */
            ldc 68719476736
            land
            lconst_0
            lcmp
            ifeq 4
         3: .line 129
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.TYPE:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 131
      StackMap locals: java.util.ArrayList java.lang.String
      StackMap stack:
            lload 1 /* tagBits */
            ldc 137438953472
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 132
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_FIELD:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 134
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 274877906944
            land
            lconst_0
            lcmp
            ifeq 8
         7: .line 135
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_METHOD:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 137
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 549755813888
            land
            lconst_0
            lcmp
            ifeq 10
         9: .line 138
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_PARAMETER:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 140
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 1099511627776
            land
            lconst_0
            lcmp
            ifeq 12
        11: .line 141
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_CONSTRUCTOR:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 143
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 2199023255552
            land
            lconst_0
            lcmp
            ifeq 14
        13: .line 144
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_LOCAL_VARIABLE:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 146
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 4398046511104
            land
            lconst_0
            lcmp
            ifeq 16
        15: .line 147
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_ANNOTATION_TYPE:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 149
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 8796093022208
            land
            lconst_0
            lcmp
            ifeq 18
        17: .line 150
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_PACKAGE:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 152
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 9007199254740992
            land
            lconst_0
            lcmp
            ifeq 20
        19: .line 153
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.TYPE_USE_TARGET:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        20: .line 155
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 18014398509481984
            land
            lconst_0
            lcmp
            ifeq 22
        21: .line 156
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.TYPE_PARAMETER_TARGET:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 158
      StackMap locals:
      StackMap stack:
            lload 1 /* tagBits */
            ldc 2305843009213693952
            land
            lconst_0
            lcmp
            ifeq 24
        23: .line 159
            aload 3 /* values */
            new java.lang.StringBuilder
            dup
            aload 4 /* elementType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_MODULE:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 162
      StackMap locals:
      StackMap stack:
            aload 3 /* values */
            invokevirtual java.util.ArrayList.size:()I
            ifne 29
        25: .line 163
            lload 1 /* tagBits */
            ldc 34359738368
            land
            lconst_0
            lcmp
            ifeq 28
        26: .line 164
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.Object value
        27: goto 33
        end local 5 // java.lang.Object value
        28: .line 166
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            areturn
        29: .line 167
      StackMap locals:
      StackMap stack:
            aload 3 /* values */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpne 32
        30: .line 168
            aload 3 /* values */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
        31: .line 169
            goto 33
        end local 5 // java.lang.Object value
        32: .line 170
      StackMap locals:
      StackMap stack:
            aload 3 /* values */
            aload 3 /* values */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
        33: .line 172
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            anewarray org.eclipse.jdt.core.IMemberValuePair
            dup
            iconst_0
        34: .line 173
            new org.eclipse.jdt.internal.core.ClassFileInfo$1
            dup
            aload 0 /* this */
            aload 5 /* value */
            invokespecial org.eclipse.jdt.internal.core.ClassFileInfo$1.<init>:(Lorg/eclipse/jdt/internal/core/ClassFileInfo;Ljava/lang/Object;)V
            aastore
        35: .line 172
            areturn
        end local 5 // java.lang.Object value
        end local 4 // java.lang.String elementType
        end local 3 // java.util.ArrayList values
        end local 1 // long tagBits
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   36     1      tagBits  J
            1   36     3       values  Ljava/util/ArrayList;
            2   36     4  elementType  Ljava/lang/String;
           27   28     5        value  Ljava/lang/Object;
           31   32     5        value  Ljava/lang/Object;
           33   36     5        value  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      tagBits  

  private org.eclipse.jdt.core.IMemberValuePair[] getRetentionPolicy(long);
    descriptor: (J)[Lorg/eclipse/jdt/core/IMemberValuePair;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // long tagBits
         0: .line 191
            lload 1 /* tagBits */
            ldc 52776558133248
            land
            lconst_0
            lcmp
            ifne 2
         1: .line 192
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_MEMBER_VALUE_PAIRS:[Lorg/eclipse/jdt/core/IMemberValuePair;
            areturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* retention */
        start local 3 // java.lang.String retention
         3: .line 194
            lload 1 /* tagBits */
            ldc 52776558133248
            land
            ldc 52776558133248
            lcmp
            ifne 6
         4: .line 196
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_RUNTIME:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* retention */
         5: .line 197
            goto 10
      StackMap locals: java.lang.String
      StackMap stack:
         6: lload 1 /* tagBits */
            ldc 17592186044416
            land
            lconst_0
            lcmp
            ifeq 9
         7: .line 198
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_SOURCE:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* retention */
         8: .line 199
            goto 10
         9: .line 200
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.UPPER_CLASS:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* retention */
        10: .line 202
      StackMap locals:
      StackMap stack:
            aload 3 /* retention */
            astore 4 /* value */
        start local 4 // java.lang.String value
        11: .line 204
            iconst_1
            anewarray org.eclipse.jdt.core.IMemberValuePair
            dup
            iconst_0
        12: .line 205
            new org.eclipse.jdt.internal.core.ClassFileInfo$2
            dup
            aload 0 /* this */
            aload 4 /* value */
            invokespecial org.eclipse.jdt.internal.core.ClassFileInfo$2.<init>:(Lorg/eclipse/jdt/internal/core/ClassFileInfo;Ljava/lang/String;)V
            aastore
        13: .line 203
            areturn
        end local 4 // java.lang.String value
        end local 3 // java.lang.String retention
        end local 1 // long tagBits
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   14     1    tagBits  J
            3   14     3  retention  Ljava/lang/String;
           11   14     4      value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      tagBits  

  private void generateFieldInfos(org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.compiler.env.IBinaryType, java.util.HashMap, java.util.ArrayList);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Ljava/util/HashMap;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        start local 3 // java.util.HashMap newElements
        start local 4 // java.util.ArrayList childrenHandles
         0: .line 228
            aload 2 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getFields:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
            astore 5 /* fields */
        start local 5 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] fields
         1: .line 229
            aload 5 /* fields */
            ifnonnull 3
         2: .line 230
            return
         3: .line 232
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryField[]
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 6 /* manager */
        start local 6 // org.eclipse.jdt.internal.core.JavaModelManager manager
         4: .line 233
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: aload 5 /* fields */
            arraylength
            istore 8 /* fieldCount */
        start local 8 // int fieldCount
         6: goto 13
         7: .line 234
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager int int
      StackMap stack:
            aload 5 /* fields */
            iload 7 /* i */
            aaload
            astore 9 /* fieldInfo */
        start local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryField fieldInfo
         8: .line 235
            new org.eclipse.jdt.internal.core.BinaryField
            dup
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 6 /* manager */
            new java.lang.String
            dup
            aload 9 /* fieldInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getName:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.BinaryField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            astore 10 /* field */
        start local 10 // org.eclipse.jdt.internal.core.BinaryField field
         9: .line 236
            aload 3 /* newElements */
            aload 10 /* field */
            aload 9 /* fieldInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 237
            aload 4 /* childrenHandles */
            aload 10 /* field */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 238
            aload 0 /* this */
            aload 10 /* field */
            aload 9 /* fieldInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            aload 9 /* fieldInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getTagBits:()J
            aload 3 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationsInfos:(Lorg/eclipse/jdt/internal/core/JavaElement;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
        end local 10 // org.eclipse.jdt.internal.core.BinaryField field
        end local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryField fieldInfo
        12: .line 233
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            iload 8 /* fieldCount */
            if_icmplt 7
        end local 8 // int fieldCount
        end local 7 // int i
        14: .line 240
            return
        end local 6 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 5 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] fields
        end local 4 // java.util.ArrayList childrenHandles
        end local 3 // java.util.HashMap newElements
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   15     1             type  Lorg/eclipse/jdt/core/IType;
            0   15     2         typeInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            0   15     3      newElements  Ljava/util/HashMap;
            0   15     4  childrenHandles  Ljava/util/ArrayList;
            1   15     5           fields  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
            4   15     6          manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            5   14     7                i  I
            6   14     8       fieldCount  I
            8   12     9        fieldInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
            9   12    10            field  Lorg/eclipse/jdt/internal/core/BinaryField;
    MethodParameters:
                 Name  Flags
      type             
      typeInfo         
      newElements      
      childrenHandles  

  private void generateInnerClassHandles(org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.compiler.env.IBinaryType, java.util.ArrayList);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        start local 3 // java.util.ArrayList childrenHandles
         0: .line 250
            aload 2 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getMemberTypes:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryNestedType;
            astore 4 /* innerTypes */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryNestedType[] innerTypes
         1: .line 251
            aload 4 /* innerTypes */
            ifnull 12
         2: .line 252
            aload 1 /* type */
            iconst_4
            invokeinterface org.eclipse.jdt.core.IType.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragment
            astore 5 /* pkg */
        start local 5 // org.eclipse.jdt.core.IPackageFragment pkg
         3: .line 253
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: aload 4 /* innerTypes */
            arraylength
            istore 7 /* typeCount */
        start local 7 // int typeCount
         5: goto 11
         6: .line 254
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.env.IBinaryType java.util.ArrayList org.eclipse.jdt.internal.compiler.env.IBinaryNestedType[] org.eclipse.jdt.core.IPackageFragment int int
      StackMap stack:
            aload 4 /* innerTypes */
            iload 6 /* i */
            aaload
            astore 8 /* binaryType */
        start local 8 // org.eclipse.jdt.internal.compiler.env.IBinaryNestedType binaryType
         7: .line 255
            aload 5 /* pkg */
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            aload 8 /* binaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryNestedType.getName:()[C
            invokestatic org.eclipse.jdt.internal.core.ClassFile.unqualifiedName:([C)[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IClassFile;
            astore 9 /* parentClassFile */
        start local 9 // org.eclipse.jdt.core.IClassFile parentClassFile
         8: .line 256
            new org.eclipse.jdt.internal.core.BinaryType
            dup
            aload 9 /* parentClassFile */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 8 /* binaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryNestedType.getName:()[C
            invokestatic org.eclipse.jdt.internal.core.ClassFile.simpleName:([C)Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.BinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            astore 10 /* innerType */
        start local 10 // org.eclipse.jdt.core.IType innerType
         9: .line 257
            aload 3 /* childrenHandles */
            aload 10 /* innerType */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.eclipse.jdt.core.IType innerType
        end local 9 // org.eclipse.jdt.core.IClassFile parentClassFile
        end local 8 // org.eclipse.jdt.internal.compiler.env.IBinaryNestedType binaryType
        10: .line 253
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 7 /* typeCount */
            if_icmplt 6
        end local 7 // int typeCount
        end local 6 // int i
        end local 5 // org.eclipse.jdt.core.IPackageFragment pkg
        12: .line 260
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryNestedType[] innerTypes
        end local 3 // java.util.ArrayList childrenHandles
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   13     1             type  Lorg/eclipse/jdt/core/IType;
            0   13     2         typeInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            0   13     3  childrenHandles  Ljava/util/ArrayList;
            1   13     4       innerTypes  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryNestedType;
            3   12     5              pkg  Lorg/eclipse/jdt/core/IPackageFragment;
            4   12     6                i  I
            5   12     7        typeCount  I
            7   10     8       binaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryNestedType;
            8   10     9  parentClassFile  Lorg/eclipse/jdt/core/IClassFile;
            9   10    10        innerType  Lorg/eclipse/jdt/core/IType;
    MethodParameters:
                 Name  Flags
      type             
      typeInfo         
      childrenHandles  

  private void generateMethodInfos(org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.compiler.env.IBinaryType, java.util.HashMap, java.util.ArrayList, java.util.ArrayList);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Ljava/util/HashMap;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=26, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        start local 3 // java.util.HashMap newElements
        start local 4 // java.util.ArrayList childrenHandles
        start local 5 // java.util.ArrayList typeParameterHandles
         0: .line 266
            aload 2 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getMethods:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            astore 6 /* methods */
        start local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] methods
         1: .line 267
            aload 6 /* methods */
            ifnonnull 3
         2: .line 268
            return
         3: .line 270
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         4: aload 6 /* methods */
            arraylength
            istore 8 /* methodCount */
        start local 8 // int methodCount
         5: goto 105
         6: .line 271
      StackMap locals: int int
      StackMap stack:
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            astore 9 /* methodInfo */
        start local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod methodInfo
         7: .line 272
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.isConstructor:()Z
            istore 10 /* isConstructor */
        start local 10 // boolean isConstructor
         8: .line 273
            iconst_0
            istore 11 /* isEnum */
        start local 11 // boolean isEnum
         9: .line 275
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isEnum:()Z
            istore 11 /* isEnum */
        10: .line 276
            goto 12
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.env.IBinaryType java.util.HashMap java.util.ArrayList java.util.ArrayList org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        11: pop
        12: .line 282
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* useGenericSignature */
        start local 12 // boolean useGenericSignature
        13: .line 283
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getGenericSignature:()[C
            astore 13 /* signature */
        start local 13 // char[] signature
        14: .line 284
            aconst_null
            astore 14 /* pNames */
        start local 14 // java.lang.String[] pNames
        15: .line 285
            aload 13 /* signature */
            ifnonnull 23
        16: .line 286
            iconst_0
            istore 12 /* useGenericSignature */
        17: .line 287
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            astore 13 /* signature */
        18: .line 288
            iload 11 /* isEnum */
            ifeq 23
            iload 10 /* isConstructor */
            ifeq 23
        19: .line 289
            new java.lang.String
            dup
            aload 13 /* signature */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:(Ljava/lang/String;)[Ljava/lang/String;
            astore 14 /* pNames */
        20: .line 290
            aload 14 /* pNames */
            arraylength
            iconst_2
            isub
            istore 15 /* length */
        start local 15 // int length
        21: .line 291
            iload 15 /* length */
            iflt 23
        22: .line 292
            aload 14 /* pNames */
            iconst_2
            iload 15 /* length */
            anewarray java.lang.String
            dup
            astore 14 /* pNames */
            iconst_0
            iload 15 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 15 // int length
        23: .line 295
      StackMap locals: int char[] java.lang.String[]
      StackMap stack:
            new java.lang.String
            dup
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getSelector:()[C
            invokespecial java.lang.String.<init>:([C)V
            astore 15 /* selector */
        start local 15 // java.lang.String selector
        24: .line 296
            iload 10 /* isConstructor */
            ifeq 26
        25: .line 297
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            astore 15 /* selector */
        26: .line 300
      StackMap locals: java.lang.String
      StackMap stack:
            iload 11 /* isEnum */
            ifeq 27
            iload 10 /* isConstructor */
            ifeq 27
            iload 12 /* useGenericSignature */
            ifeq 28
        27: .line 301
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 13 /* signature */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:(Ljava/lang/String;)[Ljava/lang/String;
            astore 14 /* pNames */
        28: .line 303
      StackMap locals:
      StackMap stack:
            iload 10 /* isConstructor */
            ifeq 41
        29: .line 304
            iload 12 /* useGenericSignature */
            ifeq 41
        30: .line 305
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isMember:()Z
            ifeq 41
        31: .line 306
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifne 41
        32: .line 307
            aload 14 /* pNames */
            arraylength
            istore 16 /* length */
        start local 16 // int length
        33: .line 308
            aload 14 /* pNames */
            iconst_0
            iload 16 /* length */
            iconst_1
            iadd
            anewarray java.lang.String
            dup
            astore 14 /* pNames */
            iconst_1
            iload 16 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 309
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            astore 17 /* descriptor */
        start local 17 // char[] descriptor
        35: .line 310
            new java.lang.String
            dup
            aload 17 /* descriptor */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:(Ljava/lang/String;)[Ljava/lang/String;
            astore 18 /* parameterTypes */
        start local 18 // java.lang.String[] parameterTypes
        36: .line 311
            aload 14 /* pNames */
            iconst_0
            aload 18 /* parameterTypes */
            iconst_0
            aaload
            aastore
        end local 18 // java.lang.String[] parameterTypes
        end local 17 // char[] descriptor
        end local 16 // int length
        37: .line 313
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Exception
        38: pop
        39: .line 315
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            astore 13 /* signature */
        40: .line 316
            new java.lang.String
            dup
            aload 13 /* signature */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:(Ljava/lang/String;)[Ljava/lang/String;
            astore 14 /* pNames */
        41: .line 318
      StackMap locals:
      StackMap stack:
            aload 14 /* pNames */
            arraylength
            anewarray char[]
            astore 16 /* paramNames */
        start local 16 // char[][] paramNames
        42: .line 319
            iconst_0
            istore 17 /* j */
        start local 17 // int j
        43: goto 46
        44: .line 320
      StackMap locals: char[][] int
      StackMap stack:
            aload 16 /* paramNames */
            iload 17 /* j */
            aload 14 /* pNames */
            iload 17 /* j */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        45: .line 319
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        46: iload 17 /* j */
            aload 14 /* pNames */
            arraylength
            if_icmplt 44
        end local 17 // int j
        47: .line 322
            aload 16 /* paramNames */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedNames:([[C)[[C
            astore 17 /* parameterTypes */
        start local 17 // char[][] parameterTypes
        48: .line 323
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 18 /* manager */
        start local 18 // org.eclipse.jdt.internal.core.JavaModelManager manager
        49: .line 324
            aload 18 /* manager */
            aload 15 /* selector */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            astore 15 /* selector */
        50: .line 325
            iconst_0
            istore 19 /* j */
        start local 19 // int j
        51: goto 54
        52: .line 326
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.env.IBinaryType java.util.HashMap java.util.ArrayList java.util.ArrayList org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int int char[] java.lang.String[] java.lang.String char[][] char[][] org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack:
            aload 14 /* pNames */
            iload 19 /* j */
            aload 18 /* manager */
            new java.lang.String
            dup
            aload 17 /* parameterTypes */
            iload 19 /* j */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        53: .line 325
            iinc 19 /* j */ 1
      StackMap locals:
      StackMap stack:
        54: iload 19 /* j */
            aload 14 /* pNames */
            arraylength
            if_icmplt 52
        end local 19 // int j
        55: .line 328
            new org.eclipse.jdt.internal.core.BinaryMethod
            dup
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 15 /* selector */
            aload 14 /* pNames */
            invokespecial org.eclipse.jdt.internal.core.BinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;)V
            astore 19 /* method */
        start local 19 // org.eclipse.jdt.internal.core.BinaryMethod method
        56: .line 329
            aload 4 /* childrenHandles */
            aload 19 /* method */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        57: .line 333
            goto 59
        58: .line 334
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.env.IBinaryType java.util.HashMap java.util.ArrayList java.util.ArrayList org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int int char[] java.lang.String[] java.lang.String char[][] char[][] org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.BinaryMethod
      StackMap stack:
            aload 19 /* method */
            dup
            getfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.BinaryMethod.occurrenceCount:I
        59: .line 333
      StackMap locals:
      StackMap stack:
            aload 3 /* newElements */
            aload 19 /* method */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 58
        60: .line 336
            aload 3 /* newElements */
            aload 19 /* method */
            aload 9 /* methodInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        61: .line 338
            aload 14 /* pNames */
            arraylength
            istore 20 /* max */
        start local 20 // int max
        62: .line 339
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getArgumentNames:()[[C
            astore 21 /* argumentNames */
        start local 21 // char[][] argumentNames
        63: .line 340
            aload 21 /* argumentNames */
            ifnull 64
            aload 21 /* argumentNames */
            arraylength
            iload 20 /* max */
            if_icmpge 70
        64: .line 341
      StackMap locals: int char[][]
      StackMap stack:
            iload 20 /* max */
            anewarray char[]
            astore 21 /* argumentNames */
        65: .line 342
            iconst_0
            istore 22 /* j */
        start local 22 // int j
        66: goto 69
        67: .line 343
      StackMap locals: int
      StackMap stack:
            aload 21 /* argumentNames */
            iload 22 /* j */
            new java.lang.StringBuilder
            dup
            ldc "arg"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 22 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        68: .line 342
            iinc 22 /* j */ 1
      StackMap locals:
      StackMap stack:
        69: iload 22 /* j */
            iload 20 /* max */
            if_icmplt 67
        end local 22 // int j
        70: .line 346
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 22 /* startIndex */
        start local 22 // int startIndex
        71: .line 348
            iload 10 /* isConstructor */
            ifeq 80
        72: .line 349
            iload 11 /* isEnum */
            ifeq 75
        73: .line 350
            iconst_2
            istore 22 /* startIndex */
        74: .line 351
            goto 80
      StackMap locals: int
      StackMap stack:
        75: aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isMember:()Z
            ifeq 80
        76: .line 352
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifne 80
        77: .line 353
            iconst_1
            istore 22 /* startIndex */
        78: .line 356
            goto 80
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        79: pop
        80: .line 359
      StackMap locals:
      StackMap stack:
            iload 22 /* startIndex */
            istore 23 /* j */
        start local 23 // int j
        81: goto 98
        82: .line 360
      StackMap locals: int
      StackMap stack:
            aload 9 /* methodInfo */
            iload 23 /* j */
            iload 22 /* startIndex */
            isub
            aload 2 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getFileName:()[C
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getParameterAnnotations:(I[C)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            astore 24 /* parameterAnnotations */
        start local 24 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] parameterAnnotations
        83: .line 361
            aload 24 /* parameterAnnotations */
            ifnull 97
        84: .line 362
            new org.eclipse.jdt.internal.core.LocalVariable
            dup
        85: .line 363
            aload 19 /* method */
        86: .line 364
            new java.lang.String
            dup
            aload 21 /* argumentNames */
            iload 23 /* j */
            aaload
            invokespecial java.lang.String.<init>:([C)V
        87: .line 365
            iconst_0
        88: .line 366
            iconst_m1
        89: .line 367
            iconst_0
        90: .line 368
            iconst_m1
        91: .line 369
            aload 19 /* method */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            iload 23 /* j */
            aaload
        92: .line 370
            aconst_null
        93: .line 371
            iconst_m1
        94: .line 372
            iconst_1
        95: .line 362
            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
            astore 25 /* localVariable */
        start local 25 // org.eclipse.jdt.internal.core.LocalVariable localVariable
        96: .line 373
            aload 0 /* this */
            aload 25 /* localVariable */
            aload 21 /* argumentNames */
            iload 23 /* j */
            aaload
            aload 24 /* parameterAnnotations */
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getTagBits:()J
            aload 3 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationsInfos:(Lorg/eclipse/jdt/internal/core/JavaElement;[C[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
        end local 25 // org.eclipse.jdt.internal.core.LocalVariable localVariable
        end local 24 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] parameterAnnotations
        97: .line 359
      StackMap locals:
      StackMap stack:
            iinc 23 /* j */ 1
      StackMap locals:
      StackMap stack:
        98: iload 23 /* j */
            iload 20 /* max */
            if_icmplt 82
        end local 23 // int j
        99: .line 376
            aload 0 /* this */
            aload 19 /* method */
            aload 13 /* signature */
            aload 3 /* newElements */
            aload 5 /* typeParameterHandles */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateTypeParameterInfos:(Lorg/eclipse/jdt/internal/core/BinaryMember;[CLjava/util/HashMap;Ljava/util/ArrayList;)V
       100: .line 377
            aload 0 /* this */
            aload 19 /* method */
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getTagBits:()J
            aload 3 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationsInfos:(Lorg/eclipse/jdt/internal/core/JavaElement;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
       101: .line 378
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getDefaultValue:()Ljava/lang/Object;
            astore 23 /* defaultValue */
        start local 23 // java.lang.Object defaultValue
       102: .line 379
            aload 23 /* defaultValue */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            ifeq 104
       103: .line 380
            aload 0 /* this */
            aload 19 /* method */
            aload 3 /* newElements */
            aload 23 /* defaultValue */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            new java.lang.String
            dup
            aload 9 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getSelector:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationInfo:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)V
        end local 23 // java.lang.Object defaultValue
        end local 22 // int startIndex
        end local 21 // char[][] argumentNames
        end local 20 // int max
        end local 19 // org.eclipse.jdt.internal.core.BinaryMethod method
        end local 18 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 17 // char[][] parameterTypes
        end local 16 // char[][] paramNames
        end local 15 // java.lang.String selector
        end local 14 // java.lang.String[] pNames
        end local 13 // char[] signature
        end local 12 // boolean useGenericSignature
        end local 11 // boolean isEnum
        end local 10 // boolean isConstructor
        end local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod methodInfo
       104: .line 270
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.env.IBinaryType java.util.HashMap java.util.ArrayList java.util.ArrayList org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
       105: iload 7 /* i */
            iload 8 /* methodCount */
            if_icmplt 6
        end local 8 // int methodCount
        end local 7 // int i
       106: .line 383
            return
        end local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] methods
        end local 5 // java.util.ArrayList typeParameterHandles
        end local 4 // java.util.ArrayList childrenHandles
        end local 3 // java.util.HashMap newElements
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  107     0                  this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0  107     1                  type  Lorg/eclipse/jdt/core/IType;
            0  107     2              typeInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            0  107     3           newElements  Ljava/util/HashMap;
            0  107     4       childrenHandles  Ljava/util/ArrayList;
            0  107     5  typeParameterHandles  Ljava/util/ArrayList;
            1  107     6               methods  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            4  106     7                     i  I
            5  106     8           methodCount  I
            7  104     9            methodInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            8  104    10         isConstructor  Z
            9  104    11                isEnum  Z
           13  104    12   useGenericSignature  Z
           14  104    13             signature  [C
           15  104    14                pNames  [Ljava/lang/String;
           21   23    15                length  I
           24  104    15              selector  Ljava/lang/String;
           33   37    16                length  I
           35   37    17            descriptor  [C
           36   37    18        parameterTypes  [Ljava/lang/String;
           42  104    16            paramNames  [[C
           43   47    17                     j  I
           48  104    17        parameterTypes  [[C
           49  104    18               manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
           51   55    19                     j  I
           56  104    19                method  Lorg/eclipse/jdt/internal/core/BinaryMethod;
           62  104    20                   max  I
           63  104    21         argumentNames  [[C
           66   70    22                     j  I
           71  104    22            startIndex  I
           81   99    23                     j  I
           83   97    24  parameterAnnotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
           96   97    25         localVariable  Lorg/eclipse/jdt/internal/core/LocalVariable;
          102  104    23          defaultValue  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           9    10      11  Class org.eclipse.jdt.core.JavaModelException
          26    37      38  Class java.lang.IllegalArgumentException
          26    37      38  Class org.eclipse.jdt.core.JavaModelException
          71    78      79  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                      Name  Flags
      type                  
      typeInfo              
      newElements           
      childrenHandles       
      typeParameterHandles  

  private void generateTypeParameterInfos(org.eclipse.jdt.internal.core.BinaryMember, char[], java.util.HashMap, java.util.ArrayList);
    descriptor: (Lorg/eclipse/jdt/internal/core/BinaryMember;[CLjava/util/HashMap;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.BinaryMember parent
        start local 2 // char[] signature
        start local 3 // java.util.HashMap newElements
        start local 4 // java.util.ArrayList typeParameterHandles
         0: .line 389
            aload 2 /* signature */
            ifnonnull 1
            return
         1: .line 390
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeParameters:([C)[[C
            astore 5 /* typeParameterSignatures */
        start local 5 // char[][] typeParameterSignatures
         2: .line 391
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: aload 5 /* typeParameterSignatures */
            arraylength
            istore 7 /* typeParameterCount */
        start local 7 // int typeParameterCount
         4: goto 26
         5: .line 392
      StackMap locals: char[][] int int
      StackMap stack:
            aload 5 /* typeParameterSignatures */
            iload 6 /* i */
            aaload
            astore 8 /* typeParameterSignature */
        start local 8 // char[] typeParameterSignature
         6: .line 393
            aload 8 /* typeParameterSignature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeVariable:([C)[C
            astore 9 /* typeParameterName */
        start local 9 // char[] typeParameterName
         7: .line 394
            aload 8 /* typeParameterSignature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
         8: .line 395
            aload 8 /* typeParameterSignature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeParameterBounds:([C)[[C
            astore 10 /* typeParameterBoundSignatures */
        start local 10 // char[][] typeParameterBoundSignatures
         9: .line 396
            aload 10 /* typeParameterBoundSignatures */
            arraylength
            istore 11 /* boundLength */
        start local 11 // int boundLength
        10: .line 397
            iload 11 /* boundLength */
            anewarray char[]
            astore 12 /* typeParameterBounds */
        start local 12 // char[][] typeParameterBounds
        11: .line 398
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        12: goto 15
        13: .line 399
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.internal.core.BinaryMember char[] java.util.HashMap java.util.ArrayList char[][] int int char[] char[] char[][] int char[][] int
      StackMap stack:
            aload 12 /* typeParameterBounds */
            iload 13 /* j */
            aload 10 /* typeParameterBoundSignatures */
            iload 13 /* j */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            aastore
        14: .line 398
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 13 /* j */
            iload 11 /* boundLength */
            if_icmplt 13
        end local 13 // int j
        16: .line 401
            new org.eclipse.jdt.internal.core.TypeParameter
            dup
            aload 1 /* parent */
            new java.lang.String
            dup
            aload 9 /* typeParameterName */
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.jdt.internal.core.TypeParameter.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            astore 13 /* typeParameter */
        start local 13 // org.eclipse.jdt.internal.core.TypeParameter typeParameter
        17: .line 402
            new org.eclipse.jdt.internal.core.TypeParameterElementInfo
            dup
            invokespecial org.eclipse.jdt.internal.core.TypeParameterElementInfo.<init>:()V
            astore 14 /* info */
        start local 14 // org.eclipse.jdt.internal.core.TypeParameterElementInfo info
        18: .line 403
            aload 14 /* info */
            aload 12 /* typeParameterBounds */
            putfield org.eclipse.jdt.internal.core.TypeParameterElementInfo.bounds:[[C
        19: .line 404
            aload 14 /* info */
            aload 10 /* typeParameterBoundSignatures */
            putfield org.eclipse.jdt.internal.core.TypeParameterElementInfo.boundsSignatures:[[C
        20: .line 405
            aload 4 /* typeParameterHandles */
            aload 13 /* typeParameter */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 409
            goto 23
        22: .line 410
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.internal.core.BinaryMember char[] java.util.HashMap java.util.ArrayList char[][] int int char[] char[] char[][] int char[][] org.eclipse.jdt.internal.core.TypeParameter org.eclipse.jdt.internal.core.TypeParameterElementInfo
      StackMap stack:
            aload 13 /* typeParameter */
            dup
            getfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.TypeParameter.occurrenceCount:I
        23: .line 409
      StackMap locals:
      StackMap stack:
            aload 3 /* newElements */
            aload 13 /* typeParameter */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 22
        24: .line 412
            aload 3 /* newElements */
            aload 13 /* typeParameter */
            aload 14 /* info */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 14 // org.eclipse.jdt.internal.core.TypeParameterElementInfo info
        end local 13 // org.eclipse.jdt.internal.core.TypeParameter typeParameter
        end local 12 // char[][] typeParameterBounds
        end local 11 // int boundLength
        end local 10 // char[][] typeParameterBoundSignatures
        end local 9 // char[] typeParameterName
        end local 8 // char[] typeParameterSignature
        25: .line 391
            iinc 6 /* i */ 1
      StackMap locals: org.eclipse.jdt.internal.core.ClassFileInfo org.eclipse.jdt.internal.core.BinaryMember char[] java.util.HashMap java.util.ArrayList char[][] int int
      StackMap stack:
        26: iload 6 /* i */
            iload 7 /* typeParameterCount */
            if_icmplt 5
        end local 7 // int typeParameterCount
        end local 6 // int i
        27: .line 414
            return
        end local 5 // char[][] typeParameterSignatures
        end local 4 // java.util.ArrayList typeParameterHandles
        end local 3 // java.util.HashMap newElements
        end local 2 // char[] signature
        end local 1 // org.eclipse.jdt.internal.core.BinaryMember parent
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   28     0                          this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   28     1                        parent  Lorg/eclipse/jdt/internal/core/BinaryMember;
            0   28     2                     signature  [C
            0   28     3                   newElements  Ljava/util/HashMap;
            0   28     4          typeParameterHandles  Ljava/util/ArrayList;
            2   28     5       typeParameterSignatures  [[C
            3   27     6                             i  I
            4   27     7            typeParameterCount  I
            6   25     8        typeParameterSignature  [C
            7   25     9             typeParameterName  [C
            9   25    10  typeParameterBoundSignatures  [[C
           10   25    11                   boundLength  I
           11   25    12           typeParameterBounds  [[C
           12   16    13                             j  I
           17   25    13                 typeParameter  Lorg/eclipse/jdt/internal/core/TypeParameter;
           18   25    14                          info  Lorg/eclipse/jdt/internal/core/TypeParameterElementInfo;
    MethodParameters:
                      Name  Flags
      parent                
      signature             
      newElements           
      typeParameterHandles  

  protected void readBinaryChildren(org.eclipse.jdt.internal.core.ClassFile, java.util.HashMap, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/ClassFile;Ljava/util/HashMap;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
        start local 1 // org.eclipse.jdt.internal.core.ClassFile classFile
        start local 2 // java.util.HashMap newElements
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
         0: .line 421
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* childrenHandles */
        start local 4 // java.util.ArrayList childrenHandles
         1: .line 422
            aload 1 /* classFile */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.BinaryType
            astore 5 /* type */
        start local 5 // org.eclipse.jdt.internal.core.BinaryType type
         2: .line 423
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* typeParameterHandles */
        start local 6 // java.util.ArrayList typeParameterHandles
         3: .line 424
            aload 3 /* typeInfo */
            ifnull 9
         4: .line 425
            aload 0 /* this */
            aload 5 /* type */
            aload 3 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            aload 3 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getTagBits:()J
            aload 2 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateAnnotationsInfos:(Lorg/eclipse/jdt/internal/core/JavaElement;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;JLjava/util/HashMap;)V
         5: .line 426
            aload 0 /* this */
            aload 5 /* type */
            aload 3 /* typeInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getGenericSignature:()[C
            aload 2 /* newElements */
            aload 6 /* typeParameterHandles */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateTypeParameterInfos:(Lorg/eclipse/jdt/internal/core/BinaryMember;[CLjava/util/HashMap;Ljava/util/ArrayList;)V
         6: .line 427
            aload 0 /* this */
            aload 5 /* type */
            aload 3 /* typeInfo */
            aload 2 /* newElements */
            aload 4 /* childrenHandles */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateFieldInfos:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Ljava/util/HashMap;Ljava/util/ArrayList;)V
         7: .line 428
            aload 0 /* this */
            aload 5 /* type */
            aload 3 /* typeInfo */
            aload 2 /* newElements */
            aload 4 /* childrenHandles */
            aload 6 /* typeParameterHandles */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateMethodInfos:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Ljava/util/HashMap;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
         8: .line 429
            aload 0 /* this */
            aload 5 /* type */
            aload 3 /* typeInfo */
            aload 4 /* childrenHandles */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.generateInnerClassHandles:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Ljava/util/ArrayList;)V
         9: .line 432
      StackMap locals: java.util.ArrayList org.eclipse.jdt.internal.core.BinaryType java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            aload 4 /* childrenHandles */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.internal.core.JavaElement
            putfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
        10: .line 433
            aload 4 /* childrenHandles */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        11: .line 434
            aload 6 /* typeParameterHandles */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* typeParameterHandleSize */
        start local 7 // int typeParameterHandleSize
        12: .line 435
            iload 7 /* typeParameterHandleSize */
            ifne 15
        13: .line 436
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.TypeParameter.NO_TYPE_PARAMETERS:[Lorg/eclipse/jdt/core/ITypeParameter;
            putfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
        14: .line 437
            goto 17
        15: .line 438
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* typeParameterHandleSize */
            anewarray org.eclipse.jdt.core.ITypeParameter
            putfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
        16: .line 439
            aload 6 /* typeParameterHandles */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        17: .line 441
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int typeParameterHandleSize
        end local 6 // java.util.ArrayList typeParameterHandles
        end local 5 // org.eclipse.jdt.internal.core.BinaryType type
        end local 4 // java.util.ArrayList childrenHandles
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType typeInfo
        end local 2 // java.util.HashMap newElements
        end local 1 // org.eclipse.jdt.internal.core.ClassFile classFile
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   18     0                     this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            0   18     1                classFile  Lorg/eclipse/jdt/internal/core/ClassFile;
            0   18     2              newElements  Ljava/util/HashMap;
            0   18     3                 typeInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            1   18     4          childrenHandles  Ljava/util/ArrayList;
            2   18     5                     type  Lorg/eclipse/jdt/internal/core/BinaryType;
            3   18     6     typeParameterHandles  Ljava/util/ArrayList;
           12   18     7  typeParameterHandleSize  I
    MethodParameters:
             Name  Flags
      classFile    
      newElements  
      typeInfo     

  void removeBinaryChildren();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
         0: .line 447
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
            ifnull 12
         1: .line 448
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 1 /* manager */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
         2: .line 449
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 10
         4: .line 450
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
            iload 2 /* i */
            aaload
            astore 3 /* child */
        start local 3 // org.eclipse.jdt.internal.core.JavaElement child
         5: .line 451
            aload 3 /* child */
            instanceof org.eclipse.jdt.internal.core.BinaryType
            ifeq 8
         6: .line 452
            aload 1 /* manager */
            aload 3 /* child */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren:(Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            pop
         7: .line 453
            goto 9
         8: .line 454
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            aload 1 /* manager */
            aload 3 /* child */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren:(Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            pop
        end local 3 // org.eclipse.jdt.internal.core.JavaElement child
         9: .line 449
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
            arraylength
            if_icmplt 4
        end local 2 // int i
        11: .line 457
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            putfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
        12: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
            ifnull 21
        13: .line 460
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 1 /* manager */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
        14: .line 461
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        15: goto 19
        16: .line 462
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
            iload 2 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.TypeParameter
            astore 3 /* typeParameter */
        start local 3 // org.eclipse.jdt.internal.core.TypeParameter typeParameter
        17: .line 463
            aload 1 /* manager */
            aload 3 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren:(Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            pop
        end local 3 // org.eclipse.jdt.internal.core.TypeParameter typeParameter
        18: .line 461
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
            arraylength
            if_icmplt 16
        end local 2 // int i
        20: .line 465
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.TypeParameter.NO_TYPE_PARAMETERS:[Lorg/eclipse/jdt/core/ITypeParameter;
            putfield org.eclipse.jdt.internal.core.ClassFileInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
        21: .line 467
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.ClassFileInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            2   12     1        manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            3   11     2              i  I
            5    9     3          child  Lorg/eclipse/jdt/internal/core/JavaElement;
           14   21     1        manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
           15   20     2              i  I
           17   18     3  typeParameter  Lorg/eclipse/jdt/internal/core/TypeParameter;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
}
SourceFile: "ClassFileInfo.java"
NestMembers:
  org.eclipse.jdt.internal.core.ClassFileInfo$1  org.eclipse.jdt.internal.core.ClassFileInfo$2
InnerClasses:
  org.eclipse.jdt.internal.core.ClassFileInfo$1
  org.eclipse.jdt.internal.core.ClassFileInfo$2