public class org.eclipse.jdt.internal.compiler.classfmt.MethodInfo extends org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct implements org.eclipse.jdt.internal.compiler.env.IBinaryMethod, java.lang.Comparable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
  super_class: org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
{
  private static final char[][] noException;
    descriptor: [[C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[][] noArgumentNames;
    descriptor: [[C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] ARG;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected int accessFlags;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int attributeBytes;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected char[] descriptor;
    descriptor: [C
    flags: (0x0004) ACC_PROTECTED

  protected volatile char[][] exceptionNames;
    descriptor: [[C
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected char[] name;
    descriptor: [C
    flags: (0x0004) ACC_PROTECTED

  protected char[] signature;
    descriptor: [C
    flags: (0x0004) ACC_PROTECTED

  protected int signatureUtf8Offset;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected long tagBits;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected volatile char[][] argumentNames;
    descriptor: [[C
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected long version;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            putstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.noException:[[C
         1: .line 31
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            putstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.noArgumentNames:[[C
         2: .line 32
            ldc "arg"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.ARG:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.jdt.internal.compiler.classfmt.MethodInfo createMethod(byte[], int[], int, long);
    descriptor: ([B[IIJ)Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=22, args_size=4
        start local 0 // byte[] classFileBytes
        start local 1 // int[] offsets
        start local 2 // int offset
        start local 3 // long version
         0: .line 45
            new org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
            dup
            aload 0 /* classFileBytes */
            aload 1 /* offsets */
            iload 2 /* offset */
            lload 3 /* version */
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.<init>:([B[IIJ)V
            astore 5 /* methodInfo */
        start local 5 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
         1: .line 46
            aload 5 /* methodInfo */
            bipush 6
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 6 /* attributesCount */
        start local 6 // int attributesCount
         2: .line 47
            bipush 8
            istore 7 /* readOffset */
        start local 7 // int readOffset
         3: .line 48
            aconst_null
            astore 8 /* annotations */
        start local 8 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] annotations
         4: .line 49
            aconst_null
            astore 9 /* parameterAnnotations */
        start local 9 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] parameterAnnotations
         5: .line 50
            aconst_null
            astore 10 /* typeAnnotations */
        start local 10 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] typeAnnotations
         6: .line 51
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         7: goto 82
         8: .line 53
      StackMap locals: byte[] int[] int long org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] int
      StackMap stack:
            aload 5 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 5 /* methodInfo */
            iload 7 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 5 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 12 /* utf8Offset */
        start local 12 // int utf8Offset
         9: .line 54
            aload 5 /* methodInfo */
            iload 12 /* utf8Offset */
            iconst_3
            iadd
            aload 5 /* methodInfo */
            iload 12 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 13 /* attributeName */
        start local 13 // char[] attributeName
        10: .line 55
            aload 13 /* attributeName */
            arraylength
            ifle 79
        11: .line 56
            aload 13 /* attributeName */
            iconst_0
            caload
            tableswitch { // 77 - 83
                   77: 12
                   78: 79
                   79: 79
                   80: 79
                   81: 79
                   82: 18
                   83: 15
              default: 79
          }
        12: .line 58
      StackMap locals: int char[]
      StackMap stack:
            aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.MethodParametersName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 79
        13: .line 59
            aload 5 /* methodInfo */
            iload 7 /* readOffset */
            aload 5 /* methodInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeMethodParameters:(ILorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)V
        14: .line 61
            goto 79
        15: .line 63
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.SignatureName:[C
            aload 13 /* attributeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 79
        16: .line 64
            aload 5 /* methodInfo */
            aload 5 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 5 /* methodInfo */
            iload 7 /* readOffset */
            bipush 6
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 5 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signatureUtf8Offset:I
        17: .line 65
            goto 79
        18: .line 67
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* methodAnnotations */
        start local 14 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] methodAnnotations
        19: .line 68
            aconst_null
            astore 15 /* paramAnnotations */
        start local 15 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] paramAnnotations
        20: .line 69
            aconst_null
            astore 16 /* methodTypeAnnotations */
        start local 16 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] methodTypeAnnotations
        21: .line 70
            aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.RuntimeVisibleAnnotationsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 24
        22: .line 71
            iload 7 /* readOffset */
            iconst_1
            aload 5 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeMethodAnnotations:(IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            astore 14 /* methodAnnotations */
        23: .line 72
            goto 38
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[]
      StackMap stack:
        24: aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.RuntimeInvisibleAnnotationsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 27
        25: .line 73
            iload 7 /* readOffset */
            iconst_0
            aload 5 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeMethodAnnotations:(IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            astore 14 /* methodAnnotations */
        26: .line 74
            goto 38
      StackMap locals:
      StackMap stack:
        27: aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.RuntimeVisibleParameterAnnotationsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 30
        28: .line 75
            iload 7 /* readOffset */
            iconst_1
            aload 5 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeParamAnnotations:(IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            astore 15 /* paramAnnotations */
        29: .line 76
            goto 38
      StackMap locals:
      StackMap stack:
        30: aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.RuntimeInvisibleParameterAnnotationsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 33
        31: .line 77
            iload 7 /* readOffset */
            iconst_0
            aload 5 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeParamAnnotations:(IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            astore 15 /* paramAnnotations */
        32: .line 78
            goto 38
      StackMap locals:
      StackMap stack:
        33: aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.RuntimeVisibleTypeAnnotationsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 36
        34: .line 79
            iload 7 /* readOffset */
            iconst_1
            aload 5 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeTypeAnnotations:(IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
            astore 16 /* methodTypeAnnotations */
        35: .line 80
            goto 38
      StackMap locals:
      StackMap stack:
        36: aload 13 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.RuntimeInvisibleTypeAnnotationsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 38
        37: .line 81
            iload 7 /* readOffset */
            iconst_0
            aload 5 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeTypeAnnotations:(IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
            astore 16 /* methodTypeAnnotations */
        38: .line 83
      StackMap locals:
      StackMap stack:
            aload 14 /* methodAnnotations */
            ifnull 48
        39: .line 84
            aload 8 /* annotations */
            ifnonnull 42
        40: .line 85
            aload 14 /* methodAnnotations */
            astore 8 /* annotations */
        41: .line 86
            goto 79
        42: .line 87
      StackMap locals:
      StackMap stack:
            aload 8 /* annotations */
            arraylength
            istore 17 /* length */
        start local 17 // int length
        43: .line 88
            iload 17 /* length */
            aload 14 /* methodAnnotations */
            arraylength
            iadd
            anewarray org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo
            astore 18 /* newAnnotations */
        start local 18 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] newAnnotations
        44: .line 89
            aload 8 /* annotations */
            iconst_0
            aload 18 /* newAnnotations */
            iconst_0
            iload 17 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        45: .line 90
            aload 14 /* methodAnnotations */
            iconst_0
            aload 18 /* newAnnotations */
            iload 17 /* length */
            aload 14 /* methodAnnotations */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        46: .line 91
            aload 18 /* newAnnotations */
            astore 8 /* annotations */
        end local 18 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] newAnnotations
        end local 17 // int length
        47: .line 93
            goto 79
      StackMap locals:
      StackMap stack:
        48: aload 15 /* paramAnnotations */
            ifnull 70
        49: .line 94
            aload 15 /* paramAnnotations */
            arraylength
            istore 17 /* numberOfParameters */
        start local 17 // int numberOfParameters
        50: .line 95
            aload 9 /* parameterAnnotations */
            ifnonnull 53
        51: .line 96
            aload 15 /* paramAnnotations */
            astore 9 /* parameterAnnotations */
        52: .line 97
            goto 79
        53: .line 98
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 18 /* p */
        start local 18 // int p
        54: goto 68
        55: .line 99
      StackMap locals: int
      StackMap stack:
            aload 15 /* paramAnnotations */
            iload 18 /* p */
            aaload
            ifnonnull 56
            iconst_0
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 15 /* paramAnnotations */
            iload 18 /* p */
            aaload
            arraylength
      StackMap locals:
      StackMap stack: int
        57: istore 19 /* numberOfAnnotations */
        start local 19 // int numberOfAnnotations
        58: .line 100
            iload 19 /* numberOfAnnotations */
            ifle 67
        59: .line 101
            aload 9 /* parameterAnnotations */
            iload 18 /* p */
            aaload
            ifnonnull 62
        60: .line 102
            aload 9 /* parameterAnnotations */
            iload 18 /* p */
            aload 15 /* paramAnnotations */
            iload 18 /* p */
            aaload
            aastore
        61: .line 103
            goto 67
        62: .line 104
      StackMap locals: int
      StackMap stack:
            aload 9 /* parameterAnnotations */
            iload 18 /* p */
            aaload
            arraylength
            istore 20 /* length */
        start local 20 // int length
        63: .line 105
            iload 20 /* length */
            iload 19 /* numberOfAnnotations */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo
            astore 21 /* newAnnotations */
        start local 21 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] newAnnotations
        64: .line 106
            aload 9 /* parameterAnnotations */
            iload 18 /* p */
            aaload
            iconst_0
            aload 21 /* newAnnotations */
            iconst_0
            iload 20 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        65: .line 107
            aload 15 /* paramAnnotations */
            iload 18 /* p */
            aaload
            iconst_0
            aload 21 /* newAnnotations */
            iload 20 /* length */
            iload 19 /* numberOfAnnotations */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        66: .line 108
            aload 9 /* parameterAnnotations */
            iload 18 /* p */
            aload 21 /* newAnnotations */
            aastore
        end local 21 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] newAnnotations
        end local 20 // int length
        end local 19 // int numberOfAnnotations
        67: .line 98
      StackMap locals:
      StackMap stack:
            iinc 18 /* p */ 1
      StackMap locals:
      StackMap stack:
        68: iload 18 /* p */
            iload 17 /* numberOfParameters */
            if_icmplt 55
        end local 18 // int p
        end local 17 // int numberOfParameters
        69: .line 113
            goto 79
      StackMap locals:
      StackMap stack:
        70: aload 16 /* methodTypeAnnotations */
            ifnull 79
        71: .line 114
            aload 10 /* typeAnnotations */
            ifnonnull 74
        72: .line 115
            aload 16 /* methodTypeAnnotations */
            astore 10 /* typeAnnotations */
        73: .line 116
            goto 79
        74: .line 117
      StackMap locals:
      StackMap stack:
            aload 10 /* typeAnnotations */
            arraylength
            istore 17 /* length */
        start local 17 // int length
        75: .line 118
            iload 17 /* length */
            aload 16 /* methodTypeAnnotations */
            arraylength
            iadd
            anewarray org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo
            astore 18 /* newAnnotations */
        start local 18 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] newAnnotations
        76: .line 119
            aload 10 /* typeAnnotations */
            iconst_0
            aload 18 /* newAnnotations */
            iconst_0
            iload 17 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        77: .line 120
            aload 16 /* methodTypeAnnotations */
            iconst_0
            aload 18 /* newAnnotations */
            iload 17 /* length */
            aload 16 /* methodTypeAnnotations */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        78: .line 121
            aload 18 /* newAnnotations */
            astore 10 /* typeAnnotations */
        end local 18 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] newAnnotations
        end local 17 // int length
        end local 16 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] methodTypeAnnotations
        end local 15 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] paramAnnotations
        end local 14 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] methodAnnotations
        79: .line 125
      StackMap locals:
      StackMap stack:
            iload 7 /* readOffset */
            i2l
        80: .line 127
            ldc 6
            aload 5 /* methodInfo */
            iload 7 /* readOffset */
            iconst_2
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u4At:(I)J
            ladd
            ladd
            l2i
            istore 7 /* readOffset */
        end local 13 // char[] attributeName
        end local 12 // int utf8Offset
        81: .line 51
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        82: iload 11 /* i */
            iload 6 /* attributesCount */
            if_icmplt 8
        end local 11 // int i
        83: .line 129
            aload 5 /* methodInfo */
            iload 7 /* readOffset */
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.attributeBytes:I
        84: .line 131
            aload 10 /* typeAnnotations */
            ifnull 86
        85: .line 132
            new org.eclipse.jdt.internal.compiler.classfmt.MethodInfoWithTypeAnnotations
            dup
            aload 5 /* methodInfo */
            aload 8 /* annotations */
            aload 9 /* parameterAnnotations */
            aload 10 /* typeAnnotations */
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.MethodInfoWithTypeAnnotations.<init>:(Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;[[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;[Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;)V
            areturn
        86: .line 133
      StackMap locals:
      StackMap stack:
            aload 9 /* parameterAnnotations */
            ifnull 88
        87: .line 134
            new org.eclipse.jdt.internal.compiler.classfmt.MethodInfoWithParameterAnnotations
            dup
            aload 5 /* methodInfo */
            aload 8 /* annotations */
            aload 9 /* parameterAnnotations */
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.MethodInfoWithParameterAnnotations.<init>:(Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;[[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;)V
            areturn
        88: .line 135
      StackMap locals:
      StackMap stack:
            aload 8 /* annotations */
            ifnull 90
        89: .line 136
            new org.eclipse.jdt.internal.compiler.classfmt.MethodInfoWithAnnotations
            dup
            aload 5 /* methodInfo */
            aload 8 /* annotations */
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.MethodInfoWithAnnotations.<init>:(Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;)V
            areturn
        90: .line 137
      StackMap locals:
      StackMap stack:
            aload 5 /* methodInfo */
            areturn
        end local 10 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] typeAnnotations
        end local 9 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] parameterAnnotations
        end local 8 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] annotations
        end local 7 // int readOffset
        end local 6 // int attributesCount
        end local 5 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
        end local 3 // long version
        end local 2 // int offset
        end local 1 // int[] offsets
        end local 0 // byte[] classFileBytes
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   91     0         classFileBytes  [B
            0   91     1                offsets  [I
            0   91     2                 offset  I
            0   91     3                version  J
            1   91     5             methodInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            2   91     6        attributesCount  I
            3   91     7             readOffset  I
            4   91     8            annotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            5   91     9   parameterAnnotations  [[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            6   91    10        typeAnnotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
            7   83    11                      i  I
            9   81    12             utf8Offset  I
           10   81    13          attributeName  [C
           19   79    14      methodAnnotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
           20   79    15       paramAnnotations  [[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
           21   79    16  methodTypeAnnotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
           43   47    17                 length  I
           44   47    18         newAnnotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
           50   69    17     numberOfParameters  I
           54   69    18                      p  I
           58   67    19    numberOfAnnotations  I
           63   67    20                 length  I
           64   67    21         newAnnotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
           75   79    17                 length  I
           76   79    18         newAnnotations  [Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
    MethodParameters:
                Name  Flags
      classFileBytes  
      offsets         
      offset          
      version         

  static org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] decodeAnnotations(int, boolean, int, org.eclipse.jdt.internal.compiler.classfmt.MethodInfo);
    descriptor: (IZILorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // int offset
        start local 1 // boolean runtimeVisible
        start local 2 // int numberOfAnnotations
        start local 3 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
         0: .line 140
            iload 2 /* numberOfAnnotations */
            anewarray org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] result
         1: .line 141
            iload 0 /* offset */
            istore 5 /* readOffset */
        start local 5 // int readOffset
         2: .line 142
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 9
         4: .line 143
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] int int
      StackMap stack:
            aload 4 /* result */
            iload 6 /* i */
            new org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo
            dup
            aload 3 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.reference:[B
            aload 3 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
         5: .line 144
            iload 5 /* readOffset */
            aload 3 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            iadd
            iload 1 /* runtimeVisible */
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo.<init>:([B[IIZZ)V
         6: .line 143
            aastore
         7: .line 145
            iload 5 /* readOffset */
            aload 4 /* result */
            iload 6 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo.readOffset:I
            iadd
            istore 5 /* readOffset */
         8: .line 142
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 2 /* numberOfAnnotations */
            if_icmplt 4
        end local 6 // int i
        10: .line 147
            aload 4 /* result */
            areturn
        end local 5 // int readOffset
        end local 4 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] result
        end local 3 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
        end local 2 // int numberOfAnnotations
        end local 1 // boolean runtimeVisible
        end local 0 // int offset
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0               offset  I
            0   11     1       runtimeVisible  Z
            0   11     2  numberOfAnnotations  I
            0   11     3           methodInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   11     4               result  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            2   11     5           readOffset  I
            3   10     6                    i  I
    MethodParameters:
                     Name  Flags
      offset               
      runtimeVisible       
      numberOfAnnotations  
      methodInfo           

  static org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] decodeMethodAnnotations(int, boolean, org.eclipse.jdt.internal.compiler.classfmt.MethodInfo);
    descriptor: (IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // int offset
        start local 1 // boolean runtimeVisible
        start local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
         0: .line 150
            aload 2 /* methodInfo */
            iload 0 /* offset */
            bipush 6
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 3 /* numberOfAnnotations */
        start local 3 // int numberOfAnnotations
         1: .line 151
            iload 3 /* numberOfAnnotations */
            ifle 29
         2: .line 152
            iload 0 /* offset */
            bipush 8
            iadd
            iload 1 /* runtimeVisible */
            iload 3 /* numberOfAnnotations */
            aload 2 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeAnnotations:(IZILorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            astore 4 /* annos */
        start local 4 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] annos
         3: .line 153
            iload 1 /* runtimeVisible */
            ifeq 28
         4: .line 154
            iconst_0
            istore 5 /* numRetainedAnnotations */
        start local 5 // int numRetainedAnnotations
         5: .line 155
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 15
         7: .line 156
      StackMap locals: int int org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] int int
      StackMap stack:
            aload 4 /* annos */
            iload 6 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo.standardAnnotationTagBits:J
            lstore 7 /* standardAnnoTagBits */
        start local 7 // long standardAnnoTagBits
         8: .line 157
            aload 2 /* methodInfo */
            dup
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.tagBits:J
            lload 7 /* standardAnnoTagBits */
            lor
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.tagBits:J
         9: .line 158
            lload 7 /* standardAnnoTagBits */
            lconst_0
            lcmp
            ifeq 13
        10: .line 159
            aload 2 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.version:J
            ldc 3473408
            lcmp
            iflt 11
            lload 7 /* standardAnnoTagBits */
            ldc 70368744177664
            land
            lconst_0
            lcmp
            ifne 13
        11: .line 160
      StackMap locals: long
      StackMap stack:
            aload 4 /* annos */
            iload 6 /* i */
            aconst_null
            aastore
        12: .line 161
            goto 14
        13: .line 164
      StackMap locals:
      StackMap stack:
            iinc 5 /* numRetainedAnnotations */ 1
        end local 7 // long standardAnnoTagBits
        14: .line 155
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            iload 3 /* numberOfAnnotations */
            if_icmplt 7
        end local 6 // int i
        16: .line 167
            iload 5 /* numRetainedAnnotations */
            iload 3 /* numberOfAnnotations */
            if_icmpeq 28
        17: .line 168
            iload 5 /* numRetainedAnnotations */
            ifne 19
        18: .line 169
            aconst_null
            areturn
        19: .line 172
      StackMap locals:
      StackMap stack:
            iload 5 /* numRetainedAnnotations */
            anewarray org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo
            astore 6 /* temp */
        start local 6 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] temp
        20: .line 173
            iconst_0
            istore 7 /* tmpIndex */
        start local 7 // int tmpIndex
        21: .line 174
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        22: goto 26
        23: .line 175
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] int int
      StackMap stack:
            aload 4 /* annos */
            iload 8 /* i */
            aaload
            ifnull 25
        24: .line 176
            aload 6 /* temp */
            iload 7 /* tmpIndex */
            iinc 7 /* tmpIndex */ 1
            aload 4 /* annos */
            iload 8 /* i */
            aaload
            aastore
        25: .line 174
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 8 /* i */
            iload 3 /* numberOfAnnotations */
            if_icmplt 23
        end local 8 // int i
        27: .line 177
            aload 6 /* temp */
            astore 4 /* annos */
        end local 7 // int tmpIndex
        end local 6 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] temp
        end local 5 // int numRetainedAnnotations
        28: .line 180
      StackMap locals: int int org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[]
      StackMap stack:
            aload 4 /* annos */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] annos
        29: .line 182
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int numberOfAnnotations
        end local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
        end local 1 // boolean runtimeVisible
        end local 0 // int offset
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   30     0                  offset  I
            0   30     1          runtimeVisible  Z
            0   30     2              methodInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   30     3     numberOfAnnotations  I
            3   29     4                   annos  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            5   28     5  numRetainedAnnotations  I
            6   16     6                       i  I
            8   14     7     standardAnnoTagBits  J
           20   28     6                    temp  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
           21   28     7                tmpIndex  I
           22   27     8                       i  I
    MethodParameters:
                Name  Flags
      offset          
      runtimeVisible  
      methodInfo      

  static org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] decodeTypeAnnotations(int, boolean, org.eclipse.jdt.internal.compiler.classfmt.MethodInfo);
    descriptor: (IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // int offset
        start local 1 // boolean runtimeVisible
        start local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
         0: .line 185
            aload 2 /* methodInfo */
            iload 0 /* offset */
            bipush 6
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 3 /* numberOfAnnotations */
        start local 3 // int numberOfAnnotations
         1: .line 186
            iload 3 /* numberOfAnnotations */
            ifle 12
         2: .line 187
            iload 0 /* offset */
            bipush 8
            iadd
            istore 4 /* readOffset */
        start local 4 // int readOffset
         3: .line 188
            iload 3 /* numberOfAnnotations */
            anewarray org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo
            astore 5 /* typeAnnos */
        start local 5 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] typeAnnos
         4: .line 189
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 10
         6: .line 190
      StackMap locals: int int org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] int
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo
            dup
            aload 2 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.reference:[B
            aload 2 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            iload 4 /* readOffset */
            aload 2 /* methodInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            iadd
            iload 1 /* runtimeVisible */
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo.<init>:([B[IIZZ)V
            astore 7 /* newInfo */
        start local 7 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo newInfo
         7: .line 191
            iload 4 /* readOffset */
            aload 7 /* newInfo */
            getfield org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo.readOffset:I
            iadd
            istore 4 /* readOffset */
         8: .line 192
            aload 5 /* typeAnnos */
            iload 6 /* i */
            aload 7 /* newInfo */
            aastore
        end local 7 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo newInfo
         9: .line 189
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 3 /* numberOfAnnotations */
            if_icmplt 6
        end local 6 // int i
        11: .line 194
            aload 5 /* typeAnnos */
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationInfo[] typeAnnos
        end local 4 // int readOffset
        12: .line 196
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int numberOfAnnotations
        end local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
        end local 1 // boolean runtimeVisible
        end local 0 // int offset
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0               offset  I
            0   13     1       runtimeVisible  Z
            0   13     2           methodInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   13     3  numberOfAnnotations  I
            3   12     4           readOffset  I
            4   12     5            typeAnnos  [Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
            5   11     6                    i  I
            7    9     7              newInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo;
    MethodParameters:
                Name  Flags
      offset          
      runtimeVisible  
      methodInfo      

  static org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] decodeParamAnnotations(int, boolean, org.eclipse.jdt.internal.compiler.classfmt.MethodInfo);
    descriptor: (IZLorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // int offset
        start local 1 // boolean runtimeVisible
        start local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
         0: .line 199
            aconst_null
            astore 3 /* allParamAnnotations */
        start local 3 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] allParamAnnotations
         1: .line 200
            aload 2 /* methodInfo */
            iload 0 /* offset */
            bipush 6
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u1At:(I)I
            istore 4 /* numberOfParameters */
        start local 4 // int numberOfParameters
         2: .line 201
            iload 4 /* numberOfParameters */
            ifle 20
         3: .line 203
            iload 0 /* offset */
            bipush 7
            iadd
            istore 5 /* readOffset */
        start local 5 // int readOffset
         4: .line 204
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 19
         6: .line 205
      StackMap locals: int int org.eclipse.jdt.internal.compiler.classfmt.MethodInfo org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] int int int
      StackMap stack:
            aload 2 /* methodInfo */
            iload 5 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 7 /* numberOfAnnotations */
        start local 7 // int numberOfAnnotations
         7: .line 206
            iinc 5 /* readOffset */ 2
         8: .line 207
            iload 7 /* numberOfAnnotations */
            ifle 18
         9: .line 208
            aload 3 /* allParamAnnotations */
            ifnonnull 11
        10: .line 209
            iload 4 /* numberOfParameters */
            anewarray org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[]
            astore 3 /* allParamAnnotations */
        11: .line 210
      StackMap locals: int
      StackMap stack:
            iload 5 /* readOffset */
            iload 1 /* runtimeVisible */
            iload 7 /* numberOfAnnotations */
            aload 2 /* methodInfo */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeAnnotations:(IZILorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            astore 8 /* annos */
        start local 8 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] annos
        12: .line 211
            aload 3 /* allParamAnnotations */
            iload 6 /* i */
            aload 8 /* annos */
            aastore
        13: .line 212
            iconst_0
            istore 9 /* aIndex */
        start local 9 // int aIndex
        14: goto 17
        15: .line 213
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] int
      StackMap stack:
            iload 5 /* readOffset */
            aload 8 /* annos */
            iload 9 /* aIndex */
            aaload
            getfield org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo.readOffset:I
            iadd
            istore 5 /* readOffset */
        16: .line 212
            iinc 9 /* aIndex */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* aIndex */
            aload 8 /* annos */
            arraylength
            if_icmplt 15
        end local 9 // int aIndex
        end local 8 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[] annos
        end local 7 // int numberOfAnnotations
        18: .line 204
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            iload 4 /* numberOfParameters */
            if_icmplt 6
        end local 6 // int i
        end local 5 // int readOffset
        20: .line 217
      StackMap locals:
      StackMap stack:
            aload 3 /* allParamAnnotations */
            areturn
        end local 4 // int numberOfParameters
        end local 3 // org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo[][] allParamAnnotations
        end local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
        end local 1 // boolean runtimeVisible
        end local 0 // int offset
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0               offset  I
            0   21     1       runtimeVisible  Z
            0   21     2           methodInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   21     3  allParamAnnotations  [[Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
            2   21     4   numberOfParameters  I
            4   20     5           readOffset  I
            5   20     6                    i  I
            7   18     7  numberOfAnnotations  I
           12   18     8                annos  [Lorg/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo;
           14   18     9               aIndex  I
    MethodParameters:
                Name  Flags
      offset          
      runtimeVisible  
      methodInfo      

  protected void <init>(byte[], int[], int, long);
    descriptor: ([B[IIJ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // byte[] classFileBytes
        start local 2 // int[] offsets
        start local 3 // int offset
        start local 4 // long version
         0: .line 227
            aload 0 /* this */
            aload 1 /* classFileBytes */
            aload 2 /* offsets */
            iload 3 /* offset */
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct.<init>:([B[II)V
         1: .line 228
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.accessFlags:I
         2: .line 229
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signatureUtf8Offset:I
         3: .line 230
            aload 0 /* this */
            lload 4 /* version */
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.version:J
         4: .line 231
            return
        end local 4 // long version
        end local 3 // int offset
        end local 2 // int[] offsets
        end local 1 // byte[] classFileBytes
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0    5     1  classFileBytes  [B
            0    5     2         offsets  [I
            0    5     3          offset  I
            0    5     4         version  J
    MethodParameters:
                Name  Flags
      classFileBytes  
      offsets         
      offset          
      version         

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // java.lang.Object o
         0: .line 234
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
            astore 2 /* otherMethod */
        start local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo otherMethod
         1: .line 235
            new java.lang.String
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            invokespecial java.lang.String.<init>:([C)V
            new java.lang.String
            dup
            aload 2 /* otherMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            istore 3 /* result */
        start local 3 // int result
         2: .line 236
            iload 3 /* result */
            ifeq 3
            iload 3 /* result */
            ireturn
         3: .line 237
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getMethodDescriptor:()[C
            invokespecial java.lang.String.<init>:([C)V
            new java.lang.String
            dup
            aload 2 /* otherMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getMethodDescriptor:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 3 // int result
        end local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo otherMethod
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0    4     1            o  Ljava/lang/Object;
            1    4     2  otherMethod  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            2    4     3       result  I
    MethodParameters:
      Name  Flags
      o     

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // java.lang.Object o
         0: .line 241
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
            ifne 2
         1: .line 242
            iconst_0
            ireturn
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
            astore 2 /* otherMethod */
        start local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo otherMethod
         3: .line 245
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            aload 2 /* otherMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         4: .line 246
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getMethodDescriptor:()[C
            aload 2 /* otherMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getMethodDescriptor:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         5: .line 245
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo otherMethod
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0    7     1            o  Ljava/lang/Object;
            3    7     2  otherMethod  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 250
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.hashCode:([C)I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getMethodDescriptor:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.hashCode:([C)I
            iadd
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] getAnnotations();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 255
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public char[][] getArgumentNames();
    descriptor: ()[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 262
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
            ifnonnull 2
         1: .line 263
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.readCodeAttribute:()V
         2: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public java.lang.Object getDefaultValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 269
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public char[][] getExceptionTypeNames();
    descriptor: ()[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 274
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.exceptionNames:[[C
            ifnonnull 2
         1: .line 275
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.readExceptionAttributes:()V
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.exceptionNames:[[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public char[] getGenericSignature();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 281
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signatureUtf8Offset:I
            iconst_m1
            if_icmpeq 4
         1: .line 282
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signature:[C
            ifnonnull 3
         2: .line 284
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signatureUtf8Offset:I
            iconst_3
            iadd
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signatureUtf8Offset:I
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signature:[C
         3: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.signature:[C
            areturn
         4: .line 288
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public char[] getMethodDescriptor();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 293
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.descriptor:[C
            ifnonnull 3
         1: .line 295
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iconst_4
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 1 /* utf8Offset */
        start local 1 // int utf8Offset
         2: .line 296
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 1 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.descriptor:[C
        end local 1 // int utf8Offset
         3: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.descriptor:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            2    3     1  utf8Offset  I

  public int getModifiers();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 308
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.accessFlags:I
            iconst_m1
            if_icmpne 2
         1: .line 310
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.readModifierRelatedAttributes:()V
         2: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.accessFlags:I
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] getParameterAnnotations(int, char[]);
    descriptor: (I[C)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // int index
        start local 2 // char[] classFileName
         0: .line 316
            aconst_null
            areturn
        end local 2 // char[] classFileName
        end local 1 // int index
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0    1     1          index  I
            0    1     2  classFileName  [C
    MethodParameters:
               Name  Flags
      index          
      classFileName  

  public int getAnnotatedParametersCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 320
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public org.eclipse.jdt.internal.compiler.env.IBinaryTypeAnnotation[] getTypeAnnotations();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryTypeAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 324
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public char[] getSelector();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 329
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.name:[C
            ifnonnull 3
         1: .line 331
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 1 /* utf8Offset */
        start local 1 // int utf8Offset
         2: .line 332
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 1 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.name:[C
        end local 1 // int utf8Offset
         3: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.name:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            2    3     1  utf8Offset  I

  public long getTagBits();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 338
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.tagBits:J
            lreturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  protected void initialize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 345
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getModifiers:()I
            pop
         1: .line 346
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            pop
         2: .line 347
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getMethodDescriptor:()[C
            pop
         3: .line 348
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getExceptionTypeNames:()[[C
            pop
         4: .line 349
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getGenericSignature:()[C
            pop
         5: .line 350
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getArgumentNames:()[[C
            pop
         6: .line 351
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.reset:()V
         7: .line 352
            return
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public boolean isClinit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 359
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.JavaBinaryNames.isClinit:([C)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public boolean isConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 367
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getSelector:()[C
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.JavaBinaryNames.isConstructor:([C)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public boolean isSynthetic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 374
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getModifiers:()I
            sipush 4096
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  private synchronized void readExceptionAttributes();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 377
            aload 0 /* this */
            bipush 6
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 1 /* attributesCount */
        start local 1 // int attributesCount
         1: .line 378
            bipush 8
            istore 2 /* readOffset */
        start local 2 // int readOffset
         2: .line 379
            aconst_null
            astore 3 /* names */
        start local 3 // char[][] names
         3: .line 380
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 29
         5: .line 381
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int char[][] int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 5 /* utf8Offset */
        start local 5 // int utf8Offset
         6: .line 382
            aload 0 /* this */
            iload 5 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 5 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 6 /* attributeName */
        start local 6 // char[] attributeName
         7: .line 383
            aload 6 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.ExceptionsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 27
         8: .line 385
            aload 0 /* this */
            iload 2 /* readOffset */
            bipush 6
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 7 /* entriesNumber */
        start local 7 // int entriesNumber
         9: .line 387
            iinc 2 /* readOffset */ 8
        10: .line 388
            iload 7 /* entriesNumber */
            ifne 13
        11: .line 389
            getstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.noException:[[C
            astore 3 /* names */
        12: .line 390
            goto 28
        13: .line 391
      StackMap locals: int char[] int
      StackMap stack:
            iload 7 /* entriesNumber */
            anewarray char[]
            astore 3 /* names */
        14: .line 392
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        15: goto 25
        16: .line 394
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
        17: .line 395
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            iconst_1
            iadd
        18: .line 394
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
        19: .line 396
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
        20: .line 394
            isub
        21: .line 393
            istore 5 /* utf8Offset */
        22: .line 397
            aload 3 /* names */
            iload 8 /* j */
            aload 0 /* this */
            iload 5 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 5 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            aastore
        23: .line 398
            iinc 2 /* readOffset */ 2
        24: .line 392
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* j */
            iload 7 /* entriesNumber */
            if_icmplt 16
        end local 8 // int j
        end local 7 // int entriesNumber
        26: .line 401
            goto 28
        27: .line 402
      StackMap locals:
      StackMap stack:
            iload 2 /* readOffset */
            i2l
            ldc 6
            aload 0 /* this */
            iload 2 /* readOffset */
            iconst_2
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u4At:(I)J
            ladd
            ladd
            l2i
            istore 2 /* readOffset */
        end local 6 // char[] attributeName
        end local 5 // int utf8Offset
        28: .line 380
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* i */
            iload 1 /* attributesCount */
            if_icmplt 5
        end local 4 // int i
        30: .line 405
            aload 3 /* names */
            ifnonnull 33
        31: .line 406
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.noException:[[C
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.exceptionNames:[[C
        32: .line 407
            goto 34
        33: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* names */
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.exceptionNames:[[C
        34: .line 410
      StackMap locals:
      StackMap stack:
            return
        end local 3 // char[][] names
        end local 2 // int readOffset
        end local 1 // int attributesCount
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   35     1  attributesCount  I
            2   35     2       readOffset  I
            3   35     3            names  [[C
            4   30     4                i  I
            6   28     5       utf8Offset  I
            7   28     6    attributeName  [C
            9   26     7    entriesNumber  I
           15   26     8                j  I

  private synchronized void readModifierRelatedAttributes();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 412
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 1 /* flags */
        start local 1 // int flags
         1: .line 413
            aload 0 /* this */
            bipush 6
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 2 /* attributesCount */
        start local 2 // int attributesCount
         2: .line 414
            bipush 8
            istore 3 /* readOffset */
        start local 3 // int readOffset
         3: .line 415
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 23
         5: .line 416
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iload 3 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 5 /* utf8Offset */
        start local 5 // int utf8Offset
         6: .line 417
            aload 0 /* this */
            iload 5 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 5 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 6 /* attributeName */
        start local 6 // char[] attributeName
         7: .line 419
            aload 6 /* attributeName */
            arraylength
            ifeq 20
         8: .line 420
            aload 6 /* attributeName */
            iconst_0
            caload
            lookupswitch { // 4
                   65: 15
                   68: 9
                   83: 12
                   86: 18
              default: 20
          }
         9: .line 422
      StackMap locals: int char[]
      StackMap stack:
            aload 6 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.DeprecatedName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 20
        10: .line 423
            iload 1 /* flags */
            ldc 1048576
            ior
            istore 1 /* flags */
        11: .line 424
            goto 20
        12: .line 426
      StackMap locals:
      StackMap stack:
            aload 6 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.SyntheticName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 20
        13: .line 427
            iload 1 /* flags */
            sipush 4096
            ior
            istore 1 /* flags */
        14: .line 428
            goto 20
        15: .line 430
      StackMap locals:
      StackMap stack:
            aload 6 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.AnnotationDefaultName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 20
        16: .line 431
            iload 1 /* flags */
            ldc 131072
            ior
            istore 1 /* flags */
        17: .line 432
            goto 20
        18: .line 434
      StackMap locals:
      StackMap stack:
            aload 6 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.VarargsName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 20
        19: .line 435
            iload 1 /* flags */
            sipush 128
            ior
            istore 1 /* flags */
        20: .line 436
      StackMap locals:
      StackMap stack:
            iload 3 /* readOffset */
            i2l
        21: .line 438
            ldc 6
            aload 0 /* this */
            iload 3 /* readOffset */
            iconst_2
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u4At:(I)J
            ladd
            ladd
            l2i
            istore 3 /* readOffset */
        end local 6 // char[] attributeName
        end local 5 // int utf8Offset
        22: .line 415
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            iload 2 /* attributesCount */
            if_icmplt 5
        end local 4 // int i
        24: .line 440
            aload 0 /* this */
            iload 1 /* flags */
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.accessFlags:I
        25: .line 441
            return
        end local 3 // int readOffset
        end local 2 // int attributesCount
        end local 1 // int flags
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   26     1            flags  I
            2   26     2  attributesCount  I
            3   26     3       readOffset  I
            4   24     4                i  I
            6   22     5       utf8Offset  I
            7   22     6    attributeName  [C

  public int sizeInBytes();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 448
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.attributeBytes:I
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 453
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 454
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.toString:(Ljava/lang/StringBuffer;)V
         2: .line 455
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1    3     1  buffer  Ljava/lang/StringBuffer;

  void toString(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 458
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 459
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.toStringContent:(Ljava/lang/StringBuffer;)V
         2: .line 460
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0    3     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  protected void toStringContent(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 462
            aload 1 /* buffer */
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.BinaryTypeFormatter.methodToStringContent:(Ljava/lang/StringBuffer;Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;)V
         1: .line 463
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0    2     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  private synchronized void readCodeAttribute();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
         0: .line 465
            aload 0 /* this */
            bipush 6
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 1 /* attributesCount */
        start local 1 // int attributesCount
         1: .line 466
            bipush 8
            istore 2 /* readOffset */
        start local 2 // int readOffset
         2: .line 467
            iload 1 /* attributesCount */
            ifeq 15
         3: .line 468
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 14
         5: .line 469
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 4 /* utf8Offset */
        start local 4 // int utf8Offset
         6: .line 470
            aload 0 /* this */
            iload 4 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 4 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 5 /* attributeName */
        start local 5 // char[] attributeName
         7: .line 471
            aload 5 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.CodeName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 12
         8: .line 472
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeCodeAttribute:(I)V
         9: .line 473
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
            ifnonnull 11
        10: .line 474
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.noArgumentNames:[[C
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
        11: .line 476
      StackMap locals: int char[]
      StackMap stack:
            return
        12: .line 478
      StackMap locals:
      StackMap stack:
            iload 2 /* readOffset */
            i2l
            ldc 6
            aload 0 /* this */
            iload 2 /* readOffset */
            iconst_2
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u4At:(I)J
            ladd
            ladd
            l2i
            istore 2 /* readOffset */
        end local 5 // char[] attributeName
        end local 4 // int utf8Offset
        13: .line 468
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            iload 1 /* attributesCount */
            if_icmplt 5
        end local 3 // int i
        15: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.noArgumentNames:[[C
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
        16: .line 483
            return
        end local 2 // int readOffset
        end local 1 // int attributesCount
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   17     1  attributesCount  I
            2   17     2       readOffset  I
            4   15     3                i  I
            6   13     4       utf8Offset  I
            7   13     5    attributeName  [C

  private void decodeCodeAttribute(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // int offset
         0: .line 485
            iload 1 /* offset */
            bipush 10
            iadd
            istore 2 /* readOffset */
        start local 2 // int readOffset
         1: .line 486
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u4At:(I)J
            l2i
            istore 3 /* codeLength */
        start local 3 // int codeLength
         2: .line 487
            iload 2 /* readOffset */
            iconst_4
            iload 3 /* codeLength */
            iadd
            iadd
            istore 2 /* readOffset */
         3: .line 488
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 4 /* exceptionTableLength */
        start local 4 // int exceptionTableLength
         4: .line 489
            iinc 2 /* readOffset */ 2
         5: .line 490
            iload 4 /* exceptionTableLength */
            ifeq 11
         6: .line 491
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 492
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int int int int
      StackMap stack:
            iinc 2 /* readOffset */ 8
         9: .line 491
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 4 /* exceptionTableLength */
            if_icmplt 8
        end local 5 // int i
        11: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 5 /* attributesCount */
        start local 5 // int attributesCount
        12: .line 496
            iinc 2 /* readOffset */ 2
        13: .line 497
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 21
        15: .line 498
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            aload 0 /* this */
            iload 2 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 7 /* utf8Offset */
        start local 7 // int utf8Offset
        16: .line 499
            aload 0 /* this */
            iload 7 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 7 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 8 /* attributeName */
        start local 8 // char[] attributeName
        17: .line 500
            aload 8 /* attributeName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.AttributeNamesConstants.LocalVariableTableName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 19
        18: .line 501
            aload 0 /* this */
            iload 2 /* readOffset */
            iload 3 /* codeLength */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeLocalVariableAttribute:(II)V
        19: .line 503
      StackMap locals: int char[]
      StackMap stack:
            iload 2 /* readOffset */
            i2l
            ldc 6
            aload 0 /* this */
            iload 2 /* readOffset */
            iconst_2
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u4At:(I)J
            ladd
            ladd
            l2i
            istore 2 /* readOffset */
        end local 8 // char[] attributeName
        end local 7 // int utf8Offset
        20: .line 497
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 5 /* attributesCount */
            if_icmplt 15
        end local 6 // int i
        22: .line 505
            return
        end local 5 // int attributesCount
        end local 4 // int exceptionTableLength
        end local 3 // int codeLength
        end local 2 // int readOffset
        end local 1 // int offset
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0   23     1                offset  I
            1   23     2            readOffset  I
            2   23     3            codeLength  I
            4   23     4  exceptionTableLength  I
            7   11     5                     i  I
           12   23     5       attributesCount  I
           14   22     6                     i  I
           16   20     7            utf8Offset  I
           17   20     8         attributeName  [C
    MethodParameters:
        Name  Flags
      offset  

  private void decodeLocalVariableAttribute(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // int offset
        start local 2 // int codeLength
         0: .line 507
            iload 1 /* offset */
            bipush 6
            iadd
            istore 3 /* readOffset */
        start local 3 // int readOffset
         1: .line 508
            aload 0 /* this */
            iload 3 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 4 /* length */
        start local 4 // int length
         2: .line 509
            iload 4 /* length */
            ifeq 21
         3: .line 510
            iinc 3 /* readOffset */ 2
         4: .line 511
            iload 4 /* length */
            anewarray char[]
            astore 5 /* names */
        start local 5 // char[][] names
         5: .line 512
            iconst_0
            istore 6 /* argumentNamesIndex */
        start local 6 // int argumentNamesIndex
         6: .line 513
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 17
         8: .line 514
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int int int char[][] int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 8 /* startPC */
        start local 8 // int startPC
         9: .line 515
            iload 8 /* startPC */
            ifne 18
        10: .line 516
            aload 0 /* this */
            iconst_4
            iload 3 /* readOffset */
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 9 /* nameIndex */
        start local 9 // int nameIndex
        11: .line 517
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            iload 9 /* nameIndex */
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 10 /* utf8Offset */
        start local 10 // int utf8Offset
        12: .line 518
            aload 0 /* this */
            iload 10 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 10 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 11 /* localVariableName */
        start local 11 // char[] localVariableName
        13: .line 519
            aload 11 /* localVariableName */
            getstatic org.eclipse.jdt.internal.compiler.codegen.ConstantPool.This:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifne 15
        14: .line 520
            aload 5 /* names */
            iload 6 /* argumentNamesIndex */
            iinc 6 /* argumentNamesIndex */ 1
            aload 11 /* localVariableName */
            aastore
        end local 11 // char[] localVariableName
        end local 10 // int utf8Offset
        end local 9 // int nameIndex
        15: .line 525
      StackMap locals: int
      StackMap stack:
            iinc 3 /* readOffset */ 10
        end local 8 // int startPC
        16: .line 513
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 7 // int i
        18: .line 527
      StackMap locals:
      StackMap stack:
            iload 6 /* argumentNamesIndex */
            aload 5 /* names */
            arraylength
            if_icmpeq 20
        19: .line 529
            aload 5 /* names */
            iconst_0
            iload 6 /* argumentNamesIndex */
            anewarray char[]
            dup
            astore 5 /* names */
            iconst_0
            iload 6 /* argumentNamesIndex */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* names */
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
        end local 6 // int argumentNamesIndex
        end local 5 // char[][] names
        21: .line 533
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int length
        end local 3 // int readOffset
        end local 2 // int codeLength
        end local 1 // int offset
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0                this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0   22     1              offset  I
            0   22     2          codeLength  I
            1   22     3          readOffset  I
            2   22     4              length  I
            5   21     5               names  [[C
            6   21     6  argumentNamesIndex  I
            7   18     7                   i  I
            9   16     8             startPC  I
           11   15     9           nameIndex  I
           12   15    10          utf8Offset  I
           13   15    11   localVariableName  [C
    MethodParameters:
            Name  Flags
      offset      
      codeLength  

  private void decodeMethodParameters(int, org.eclipse.jdt.internal.compiler.classfmt.MethodInfo);
    descriptor: (ILorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
        start local 1 // int offset
        start local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
         0: .line 535
            iload 1 /* offset */
            bipush 6
            iadd
            istore 3 /* readOffset */
        start local 3 // int readOffset
         1: .line 536
            aload 0 /* this */
            iload 3 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u1At:(I)I
            istore 4 /* length */
        start local 4 // int length
         2: .line 537
            iload 4 /* length */
            ifeq 18
         3: .line 538
            iinc 3 /* readOffset */ 1
         4: .line 539
            iload 4 /* length */
            anewarray char[]
            astore 5 /* names */
        start local 5 // char[][] names
         5: .line 540
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 16
         7: .line 541
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int org.eclipse.jdt.internal.compiler.classfmt.MethodInfo int int char[][] int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readOffset */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            istore 7 /* nameIndex */
        start local 7 // int nameIndex
         8: .line 542
            iload 7 /* nameIndex */
            ifeq 13
         9: .line 543
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.constantPoolOffsets:[I
            iload 7 /* nameIndex */
            iaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.structOffset:I
            isub
            istore 8 /* utf8Offset */
        start local 8 // int utf8Offset
        10: .line 544
            aload 0 /* this */
            iload 8 /* utf8Offset */
            iconst_3
            iadd
            aload 0 /* this */
            iload 8 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.utf8At:(II)[C
            astore 9 /* parameterName */
        start local 9 // char[] parameterName
        11: .line 545
            aload 5 /* names */
            iload 6 /* i */
            aload 9 /* parameterName */
            aastore
        end local 9 // char[] parameterName
        end local 8 // int utf8Offset
        12: .line 546
            goto 14
        13: .line 547
      StackMap locals: int
      StackMap stack:
            aload 5 /* names */
            iload 6 /* i */
            getstatic org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.ARG:[C
            iload 6 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            aastore
        14: .line 549
      StackMap locals:
      StackMap stack:
            iinc 3 /* readOffset */ 4
        end local 7 // int nameIndex
        15: .line 540
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 7
        end local 6 // int i
        17: .line 551
            aload 0 /* this */
            aload 5 /* names */
            putfield org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.argumentNames:[[C
        end local 5 // char[][] names
        18: .line 553
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int length
        end local 3 // int readOffset
        end local 2 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo methodInfo
        end local 1 // int offset
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.MethodInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            0   19     1         offset  I
            0   19     2     methodInfo  Lorg/eclipse/jdt/internal/compiler/classfmt/MethodInfo;
            1   19     3     readOffset  I
            2   19     4         length  I
            5   18     5          names  [[C
            6   17     6              i  I
            8   15     7      nameIndex  I
           10   12     8     utf8Offset  I
           11   12     9  parameterName  [C
    MethodParameters:
            Name  Flags
      offset      
      methodInfo  
}
SourceFile: "MethodInfo.java"