public class org.eclipse.jdt.internal.core.BinaryMethod extends org.eclipse.jdt.internal.core.BinaryMember implements org.eclipse.jdt.core.IMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.BinaryMethod
  super_class: org.eclipse.jdt.internal.core.BinaryMember
{
  protected java.lang.String[] parameterTypes;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String[] erasedParamaterTypes;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String[] parameterNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String[] exceptionTypes;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String returnType;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>(org.eclipse.jdt.internal.core.JavaElement, java.lang.String, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // java.lang.String name
        start local 3 // java.lang.String[] paramTypes
         0: .line 61
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
         1: .line 64
            aload 3 /* paramTypes */
            ifnonnull 4
         2: .line 65
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
         3: .line 66
            goto 5
         4: .line 67
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.internal.core.JavaElement java.lang.String java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* paramTypes */
            putfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
         5: .line 68
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String[] paramTypes
        end local 2 // java.lang.String name
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    6     1      parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    6     2        name  Ljava/lang/String;
            0    6     3  paramTypes  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      parent      
      name        
      paramTypes  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // java.lang.Object o
         0: .line 72
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.core.BinaryMethod
            ifne 1
            iconst_0
            ireturn
         1: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* o */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getErasedParameterTypes:()[Ljava/lang/String;
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.core.BinaryMethod
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getErasedParameterTypes:()[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.equalArraysOrNull:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    3     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public org.eclipse.jdt.core.IAnnotation[] getAnnotations();
    descriptor: ()[Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 77
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 78
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            astore 2 /* binaryAnnotations */
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
         2: .line 79
            aload 0 /* this */
            aload 2 /* binaryAnnotations */
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getTagBits:()J
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getAnnotations:([Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;J)[Lorg/eclipse/jdt/core/IAnnotation;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    3     1               info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            2    3     2  binaryAnnotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.ILocalVariable[] getParameters();
    descriptor: ()[Lorg/eclipse/jdt/core/ILocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 83
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 84
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            istore 2 /* length */
        start local 2 // int length
         2: .line 85
            iload 2 /* length */
            ifne 4
         3: .line 86
            getstatic org.eclipse.jdt.internal.core.LocalVariable.NO_LOCAL_VARIABLES:[Lorg/eclipse/jdt/core/ILocalVariable;
            areturn
         4: .line 88
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod int
      StackMap stack:
            iload 2 /* length */
            anewarray org.eclipse.jdt.core.ILocalVariable
            astore 3 /* localVariables */
        start local 3 // org.eclipse.jdt.core.ILocalVariable[] localVariables
         5: .line 89
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getArgumentNames:()[[C
            astore 4 /* argumentNames */
        start local 4 // char[][] argumentNames
         6: .line 90
            aload 4 /* argumentNames */
            ifnull 7
            aload 4 /* argumentNames */
            arraylength
            iload 2 /* length */
            if_icmpge 13
         7: .line 91
      StackMap locals: org.eclipse.jdt.core.ILocalVariable[] char[][]
      StackMap stack:
            iload 2 /* length */
            anewarray char[]
            astore 4 /* argumentNames */
         8: .line 92
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         9: goto 12
        10: .line 93
      StackMap locals: int
      StackMap stack:
            aload 4 /* argumentNames */
            iload 5 /* j */
            new java.lang.StringBuilder
            dup
            ldc "arg"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        11: .line 92
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* j */
            iload 2 /* length */
            if_icmplt 10
        end local 5 // int j
        13: .line 96
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIndex */
        start local 5 // int startIndex
        14: .line 98
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.isConstructor:()Z
            ifeq 24
        15: .line 99
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 6 /* declaringType */
        start local 6 // org.eclipse.jdt.core.IType declaringType
        16: .line 100
            aload 6 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.isEnum:()Z
            ifeq 19
        17: .line 101
            iconst_2
            istore 5 /* startIndex */
        18: .line 102
            goto 24
      StackMap locals: int org.eclipse.jdt.core.IType
      StackMap stack:
        19: aload 6 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.isMember:()Z
            ifeq 24
        20: .line 103
            aload 6 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifne 24
        21: .line 104
            iconst_1
            istore 5 /* startIndex */
        end local 6 // org.eclipse.jdt.core.IType declaringType
        22: .line 107
            goto 24
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.internal.compiler.env.IBinaryMethod int org.eclipse.jdt.core.ILocalVariable[] char[][] int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        23: pop
        24: .line 110
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        25: goto 58
        26: .line 111
      StackMap locals: int
      StackMap stack:
            iload 6 /* i */
            iload 5 /* startIndex */
            if_icmpge 42
        27: .line 112
            new org.eclipse.jdt.internal.core.LocalVariable
            dup
        28: .line 113
            aload 0 /* this */
        29: .line 114
            new java.lang.String
            dup
            aload 4 /* argumentNames */
            iload 6 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
        30: .line 115
            iconst_0
        31: .line 116
            iconst_m1
        32: .line 117
            iconst_0
        33: .line 118
            iconst_m1
        34: .line 119
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            iload 6 /* i */
            aaload
        35: .line 120
            aconst_null
        36: .line 121
            iconst_m1
        37: .line 122
            iconst_1
        38: .line 112
            invokespecial org.eclipse.jdt.internal.core.LocalVariable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ)V
            astore 7 /* localVariable */
        start local 7 // org.eclipse.jdt.internal.core.LocalVariable localVariable
        39: .line 123
            aload 3 /* localVariables */
            iload 6 /* i */
            aload 7 /* localVariable */
            aastore
        40: .line 124
            aload 7 /* localVariable */
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_ANNOTATIONS:[Lorg/eclipse/jdt/core/IAnnotation;
            putfield org.eclipse.jdt.internal.core.LocalVariable.annotations:[Lorg/eclipse/jdt/core/IAnnotation;
        end local 7 // org.eclipse.jdt.internal.core.LocalVariable localVariable
        41: .line 125
            goto 57
        42: .line 126
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.LocalVariable
            dup
        43: .line 127
            aload 0 /* this */
        44: .line 128
            new java.lang.String
            dup
            aload 4 /* argumentNames */
            iload 6 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
        45: .line 129
            iconst_0
        46: .line 130
            iconst_m1
        47: .line 131
            iconst_0
        48: .line 132
            iconst_m1
        49: .line 133
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            iload 6 /* i */
            aaload
        50: .line 134
            aconst_null
        51: .line 135
            iconst_m1
        52: .line 136
            iconst_1
        53: .line 126
            invokespecial org.eclipse.jdt.internal.core.LocalVariable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ)V
            astore 7 /* localVariable */
        start local 7 // org.eclipse.jdt.internal.core.LocalVariable localVariable
        54: .line 137
            aload 3 /* localVariables */
            iload 6 /* i */
            aload 7 /* localVariable */
            aastore
        55: .line 138
            aload 0 /* this */
            aload 7 /* localVariable */
            aload 1 /* info */
            iload 6 /* i */
            iload 5 /* startIndex */
            isub
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getParameterAnnotations:(I[C)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getAnnotations:(Lorg/eclipse/jdt/internal/core/JavaElement;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;)[Lorg/eclipse/jdt/core/IAnnotation;
            astore 8 /* annotations */
        start local 8 // org.eclipse.jdt.core.IAnnotation[] annotations
        56: .line 139
            aload 7 /* localVariable */
            aload 8 /* annotations */
            putfield org.eclipse.jdt.internal.core.LocalVariable.annotations:[Lorg/eclipse/jdt/core/IAnnotation;
        end local 8 // org.eclipse.jdt.core.IAnnotation[] annotations
        end local 7 // org.eclipse.jdt.internal.core.LocalVariable localVariable
        57: .line 110
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 6 /* i */
            iload 2 /* length */
            if_icmplt 26
        end local 6 // int i
        59: .line 142
            aload 3 /* localVariables */
            areturn
        end local 5 // int startIndex
        end local 4 // char[][] argumentNames
        end local 3 // org.eclipse.jdt.core.ILocalVariable[] localVariables
        end local 2 // int length
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   60     0            this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1   60     1            info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            2   60     2          length  I
            5   60     3  localVariables  [Lorg/eclipse/jdt/core/ILocalVariable;
            6   60     4   argumentNames  [[C
            9   13     5               j  I
           14   60     5      startIndex  I
           16   22     6   declaringType  Lorg/eclipse/jdt/core/IType;
           25   59     6               i  I
           39   41     7   localVariable  Lorg/eclipse/jdt/internal/core/LocalVariable;
           54   57     7   localVariable  Lorg/eclipse/jdt/internal/core/LocalVariable;
           56   57     8     annotations  [Lorg/eclipse/jdt/core/IAnnotation;
      Exception table:
        from    to  target  type
          14    22      23  Class org.eclipse.jdt.core.JavaModelException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private org.eclipse.jdt.core.IAnnotation[] getAnnotations(org.eclipse.jdt.internal.core.JavaElement, org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[]);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;)[Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement annotationParent
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
         0: .line 145
            aload 2 /* binaryAnnotations */
            ifnonnull 1
            getstatic org.eclipse.jdt.internal.core.Annotation.NO_ANNOTATIONS:[Lorg/eclipse/jdt/core/IAnnotation;
            areturn
         1: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryAnnotations */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         2: .line 147
            iload 3 /* length */
            anewarray org.eclipse.jdt.core.IAnnotation
            astore 4 /* annotations */
        start local 4 // org.eclipse.jdt.core.IAnnotation[] annotations
         3: .line 148
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 149
      StackMap locals: int org.eclipse.jdt.core.IAnnotation[] int
      StackMap stack:
            aload 4 /* annotations */
            iload 5 /* i */
            aload 1 /* annotationParent */
            aload 2 /* binaryAnnotations */
            iload 5 /* i */
            aaload
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)Lorg/eclipse/jdt/core/IAnnotation;
            aastore
         6: .line 148
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 5 // int i
         8: .line 151
            aload 4 /* annotations */
            areturn
        end local 4 // org.eclipse.jdt.core.IAnnotation[] annotations
        end local 3 // int length
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        end local 1 // org.eclipse.jdt.internal.core.JavaElement annotationParent
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    9     0               this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    9     1   annotationParent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    9     2  binaryAnnotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            2    9     3             length  I
            3    9     4        annotations  [Lorg/eclipse/jdt/core/IAnnotation;
            4    8     5                  i  I
    MethodParameters:
                   Name  Flags
      annotationParent   
      binaryAnnotations  

  public org.eclipse.jdt.core.IMemberValuePair getDefaultValue();
    descriptor: ()Lorg/eclipse/jdt/core/IMemberValuePair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 155
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 156
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getDefaultValue:()Ljava/lang/Object;
            astore 2 /* defaultValue */
        start local 2 // java.lang.Object defaultValue
         2: .line 157
            aload 2 /* defaultValue */
            ifnonnull 4
         3: .line 158
            aconst_null
            areturn
         4: .line 159
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod java.lang.Object
      StackMap stack:
            new org.eclipse.jdt.internal.core.MemberValuePair
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementName:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.MemberValuePair.<init>:(Ljava/lang/String;)V
            astore 3 /* memberValuePair */
        start local 3 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
         5: .line 160
            aload 3 /* memberValuePair */
            aload 0 /* this */
            aload 3 /* memberValuePair */
            aload 2 /* defaultValue */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/core/MemberValuePair;Ljava/lang/Object;)Ljava/lang/Object;
            putfield org.eclipse.jdt.internal.core.MemberValuePair.value:Ljava/lang/Object;
         6: .line 161
            aload 3 /* memberValuePair */
            areturn
        end local 3 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        end local 2 // java.lang.Object defaultValue
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    7     1             info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            2    7     2     defaultValue  Ljava/lang/Object;
            5    7     3  memberValuePair  Lorg/eclipse/jdt/internal/core/MemberValuePair;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getExceptionTypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 168
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
            ifnonnull 24
         1: .line 169
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         2: .line 170
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getGenericSignature:()[C
            astore 2 /* genericSignature */
        start local 2 // char[] genericSignature
         3: .line 171
            aload 2 /* genericSignature */
            ifnull 6
         4: .line 172
            aload 2 /* genericSignature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 3 /* dotBasedSignature */
        start local 3 // char[] dotBasedSignature
         5: .line 173
            aload 0 /* this */
            new java.lang.String
            dup
            aload 3 /* dotBasedSignature */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getThrownExceptionTypes:(Ljava/lang/String;)[Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
        end local 3 // char[] dotBasedSignature
         6: .line 175
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod char[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
            ifnull 7
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
            arraylength
            ifne 24
         7: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getExceptionTypeNames:()[[C
            astore 3 /* eTypeNames */
        start local 3 // char[][] eTypeNames
         8: .line 177
            aload 3 /* eTypeNames */
            ifnull 9
            aload 3 /* eTypeNames */
            arraylength
            ifne 11
         9: .line 178
      StackMap locals: char[][]
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
        10: .line 179
            goto 24
        11: .line 180
      StackMap locals:
      StackMap stack:
            aload 3 /* eTypeNames */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedNames:([[C)[[C
            astore 3 /* eTypeNames */
        12: .line 181
            aload 0 /* this */
            aload 3 /* eTypeNames */
            arraylength
            anewarray java.lang.String
            putfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
        13: .line 182
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        14: aload 3 /* eTypeNames */
            arraylength
            istore 5 /* length */
        start local 5 // int length
        15: goto 23
        16: .line 184
      StackMap locals: int int
      StackMap stack:
            aload 3 /* eTypeNames */
            iload 4 /* j */
            aaload
            arraylength
            istore 6 /* nameLength */
        start local 6 // int nameLength
        17: .line 185
            iload 6 /* nameLength */
            iconst_2
            iadd
            newarray 5
            astore 7 /* convertedName */
        start local 7 // char[] convertedName
        18: .line 186
            aload 3 /* eTypeNames */
            iload 4 /* j */
            aaload
            iconst_0
            aload 7 /* convertedName */
            iconst_1
            iload 6 /* nameLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 187
            aload 7 /* convertedName */
            iconst_0
            bipush 76
            castore
        20: .line 188
            aload 7 /* convertedName */
            iload 6 /* nameLength */
            iconst_1
            iadd
            bipush 59
            castore
        21: .line 189
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
            iload 4 /* j */
            new java.lang.String
            dup
            aload 7 /* convertedName */
            invokespecial java.lang.String.<init>:([C)V
            aastore
        end local 7 // char[] convertedName
        end local 6 // int nameLength
        22: .line 182
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* j */
            iload 5 /* length */
            if_icmplt 16
        end local 5 // int length
        end local 4 // int j
        end local 3 // char[][] eTypeNames
        end local 2 // char[] genericSignature
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        24: .line 194
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.exceptionTypes:[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            2   24     1               info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            3   24     2   genericSignature  [C
            5    6     3  dotBasedSignature  [C
            8   24     3         eTypeNames  [[C
           14   24     4                  j  I
           15   24     5             length  I
           17   22     6         nameLength  I
           18   22     7      convertedName  [C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

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

  public int getFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 208
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 209
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getModifiers:()I
            istore 2 /* modifiers */
        start local 2 // int modifiers
         2: .line 210
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IType
            invokeinterface org.eclipse.jdt.core.IType.isInterface:()Z
            ifeq 4
            iload 2 /* modifiers */
            sipush 1032
            iand
            ifne 4
         3: .line 211
            iload 2 /* modifiers */
            ldc 65536
            ior
            istore 2 /* modifiers */
         4: .line 212
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod int
      StackMap stack:
            iload 2 /* modifiers */
            ireturn
        end local 2 // int modifiers
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    5     1       info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            2    5     2  modifiers  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected void getHandleMemento(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // java.lang.StringBuffer buff
         0: .line 219
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* buff */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleMemento:(Ljava/lang/StringBuffer;)V
         1: .line 220
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getHandleMementoDelimiter:()C
            istore 2 /* delimiter */
        start local 2 // char delimiter
         2: .line 221
            aload 1 /* buff */
            iload 2 /* delimiter */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 222
            aload 0 /* this */
            aload 1 /* buff */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.escapeMementoName:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
         4: .line 223
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 224
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buff */
            iload 2 /* delimiter */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 225
            aload 0 /* this */
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.escapeMementoName:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
         8: .line 223
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 227
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.occurrenceCount:I
            iconst_1
            if_icmple 13
        11: .line 228
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 229
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.occurrenceCount:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        13: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char delimiter
        end local 1 // java.lang.StringBuffer buff
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0   14     1       buff  Ljava/lang/StringBuffer;
            2   14     2  delimiter  C
            5   10     3          i  I
    MethodParameters:
      Name  Flags
      buff  

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

  public java.lang.String getKey(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // boolean forceOpen
         0: .line 241
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* forceOpen */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getKey:(Lorg/eclipse/jdt/core/IMethod;Z)Ljava/lang/String;
            areturn
        end local 1 // boolean forceOpen
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    1     1  forceOpen  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
           Name  Flags
      forceOpen  

  public int getNumberOfParameters();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 248
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            arraylength
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;

  public java.lang.String[] getParameterNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=19, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 256
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterNames:[Ljava/lang/String;
            ifnull 2
         1: .line 257
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterNames:[Ljava/lang/String;
            areturn
         2: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IType
            astore 1 /* type */
        start local 1 // org.eclipse.jdt.core.IType type
         3: .line 261
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getSourceMapper:()Lorg/eclipse/jdt/internal/core/SourceMapper;
            astore 2 /* mapper */
        start local 2 // org.eclipse.jdt.internal.core.SourceMapper mapper
         4: .line 262
            aload 2 /* mapper */
            ifnull 20
         5: .line 263
            aload 2 /* mapper */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.getMethodParameterNames:(Lorg/eclipse/jdt/core/IMethod;)[[C
            astore 3 /* paramNames */
        start local 3 // char[][] paramNames
         6: .line 266
            aload 3 /* paramNames */
            ifnonnull 12
         7: .line 267
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.BinaryType
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 4 /* info */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         8: .line 268
            aload 2 /* mapper */
            aload 1 /* type */
            aload 4 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.findSource:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)[C
            astore 5 /* source */
        start local 5 // char[] source
         9: .line 269
            aload 5 /* source */
            ifnull 11
        10: .line 270
            aload 2 /* mapper */
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.core.NamedMember
            aload 5 /* source */
            aload 4 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.mapSource:(Lorg/eclipse/jdt/internal/core/NamedMember;[CLorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
        11: .line 272
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper char[][] org.eclipse.jdt.internal.compiler.env.IBinaryType char[]
      StackMap stack:
            aload 2 /* mapper */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMapper.getMethodParameterNames:(Lorg/eclipse/jdt/core/IMethod;)[[C
            astore 3 /* paramNames */
        end local 5 // char[] source
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        12: .line 276
      StackMap locals:
      StackMap stack:
            aload 3 /* paramNames */
            ifnull 20
        13: .line 277
            aload 3 /* paramNames */
            arraylength
            anewarray java.lang.String
            astore 4 /* names */
        start local 4 // java.lang.String[] names
        14: .line 278
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 18
        16: .line 279
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 4 /* names */
            iload 5 /* i */
            new java.lang.String
            dup
            aload 3 /* paramNames */
            iload 5 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            aastore
        17: .line 278
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 3 /* paramNames */
            arraylength
            if_icmplt 16
        end local 5 // int i
        19: .line 281
            aload 0 /* this */
            aload 4 /* names */
            dup_x1
            putfield org.eclipse.jdt.internal.core.BinaryMethod.parameterNames:[Ljava/lang/String;
            areturn
        end local 4 // java.lang.String[] names
        end local 3 // char[][] paramNames
        20: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 3 /* info */
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        21: .line 289
            new java.lang.String
            dup
            aload 3 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getParameterCount:(Ljava/lang/String;)I
            istore 4 /* paramCount */
        start local 4 // int paramCount
        22: .line 290
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.isConstructor:()Z
            ifeq 31
        23: .line 291
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 5 /* declaringType */
        start local 5 // org.eclipse.jdt.core.IType declaringType
        24: .line 292
            aload 5 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.isMember:()Z
            ifeq 28
        25: .line 293
            aload 5 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifne 28
        26: .line 294
            iinc 4 /* paramCount */ -1
        27: .line 295
            goto 31
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod int org.eclipse.jdt.core.IType
      StackMap stack:
        28: aload 5 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.isEnum:()Z
            ifeq 31
        29: .line 296
            iload 4 /* paramCount */
            iconst_2
            if_icmplt 31
        30: .line 297
            iinc 4 /* paramCount */ -2
        end local 5 // org.eclipse.jdt.core.IType declaringType
        31: .line 301
      StackMap locals:
      StackMap stack:
            iload 4 /* paramCount */
            ifeq 111
        32: .line 303
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getFlags:()I
            istore 5 /* modifiers */
        start local 5 // int modifiers
        33: .line 304
            iload 5 /* modifiers */
            sipush 4096
            iand
            ifeq 35
        34: .line 305
            aload 0 /* this */
            aload 0 /* this */
            iload 4 /* paramCount */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getRawParameterNames:(I)[Ljava/lang/String;
            dup_x1
            putfield org.eclipse.jdt.internal.core.BinaryMethod.parameterNames:[Ljava/lang/String;
            areturn
        35: .line 307
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6 /* javadocContents */
        start local 6 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
        36: .line 308
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 7 /* declaringType */
        start local 7 // org.eclipse.jdt.core.IType declaringType
        37: .line 309
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 8 /* projectInfo */
        start local 8 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        38: .line 310
            aload 8 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            dup
            astore 9
            monitorenter
        39: .line 311
            aload 8 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 7 /* declaringType */
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavadocContents
            astore 6 /* javadocContents */
        40: .line 312
            aload 6 /* javadocContents */
            ifnonnull 42
        41: .line 313
            aload 8 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 7 /* declaringType */
            getstatic org.eclipse.jdt.internal.core.BinaryType.EMPTY_JAVADOC:Lorg/eclipse/jdt/internal/core/JavadocContents;
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 310
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.internal.core.util.LRUCache
      StackMap stack:
            aload 9
            monitorexit
        43: goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: aload 9
            monitorexit
        45: athrow
        46: .line 317
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* methodDoc */
        start local 9 // java.lang.String methodDoc
        47: .line 318
            aload 6 /* javadocContents */
            ifnonnull 69
        48: .line 319
            ldc 50
            lstore 10 /* timeOut */
        start local 10 // long timeOut
        49: .line 321
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            ldc "org.eclipse.jdt.core.timeoutForParameterNameFromAttachedJavadoc"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 12 /* option */
        start local 12 // java.lang.String option
        50: .line 322
            aload 12 /* option */
            ifnull 54
        51: .line 323
            aload 12 /* option */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 10 /* timeOut */
        end local 12 // java.lang.String option
        52: .line 325
            goto 54
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.lang.String long
      StackMap stack: java.lang.NumberFormatException
        53: pop
        54: .line 328
      StackMap locals:
      StackMap stack:
            lload 10 /* timeOut */
            lconst_0
            lcmp
            ifne 56
        55: .line 330
            aload 0 /* this */
            iload 4 /* paramCount */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getRawParameterNames:(I)[Ljava/lang/String;
            areturn
        56: .line 344
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector.<init>:(Lorg/eclipse/jdt/internal/core/BinaryMethod;)V
            astore 12 /* nameCollector */
        start local 12 // org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector nameCollector
        57: .line 345
            new org.eclipse.jdt.internal.core.BinaryMethod$1
            dup
            aload 0 /* this */
            aload 12 /* nameCollector */
            invokespecial org.eclipse.jdt.internal.core.BinaryMethod$1.<init>:(Lorg/eclipse/jdt/internal/core/BinaryMethod;Lorg/eclipse/jdt/internal/core/BinaryMethod$1ParametersNameCollector;)V
            astore 13 /* collect */
        start local 13 // java.lang.Thread collect
        58: .line 359
            aload 13 /* collect */
            invokevirtual java.lang.Thread.start:()V
        59: .line 360
            aload 12 /* nameCollector */
            dup
            astore 14
            monitorenter
        60: .line 362
            aload 12 /* nameCollector */
            lload 10 /* timeOut */
            invokevirtual java.lang.Object.wait:(J)V
        61: .line 363
            goto 63
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.lang.String long org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector java.lang.Thread org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector
      StackMap stack: java.lang.InterruptedException
        62: pop
        63: .line 360
      StackMap locals:
      StackMap stack:
            aload 14
            monitorexit
        64: goto 67
      StackMap locals:
      StackMap stack: java.lang.Throwable
        65: aload 14
            monitorexit
        66: athrow
        67: .line 367
      StackMap locals:
      StackMap stack:
            aload 12 /* nameCollector */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector.getJavadoc:()Ljava/lang/String;
            astore 9 /* methodDoc */
        end local 13 // java.lang.Thread collect
        end local 12 // org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector nameCollector
        end local 10 // long timeOut
        68: .line 368
            goto 74
      StackMap locals:
      StackMap stack:
        69: aload 6 /* javadocContents */
            getstatic org.eclipse.jdt.internal.core.BinaryType.EMPTY_JAVADOC:Lorg/eclipse/jdt/internal/core/JavadocContents;
            if_acmpeq 74
        70: .line 371
            aload 6 /* javadocContents */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavadocContents.getMethodDoc:(Lorg/eclipse/jdt/core/IMethod;)Ljava/lang/String;
            astore 9 /* methodDoc */
        71: .line 372
            goto 74
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        72: pop
        73: .line 373
            aconst_null
            astore 6 /* javadocContents */
        74: .line 376
      StackMap locals:
      StackMap stack:
            aload 9 /* methodDoc */
            ifnull 102
        75: .line 377
            aload 9 /* methodDoc */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            istore 10 /* indexOfOpenParen */
        start local 10 // int indexOfOpenParen
        76: .line 379
            aload 3 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            ifnull 80
        77: .line 380
            goto 79
        78: .line 381
      StackMap locals: int
      StackMap stack:
            aload 9 /* methodDoc */
            bipush 40
            iload 10 /* indexOfOpenParen */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 10 /* indexOfOpenParen */
        79: .line 380
      StackMap locals:
      StackMap stack:
            iload 10 /* indexOfOpenParen */
            iconst_m1
            if_icmpeq 80
            aload 0 /* this */
            aload 9 /* methodDoc */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementName:()Ljava/lang/String;
            iload 10 /* indexOfOpenParen */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.isOpenParenForMethod:(Ljava/lang/String;Ljava/lang/String;I)Z
            ifeq 78
        80: .line 384
      StackMap locals:
      StackMap stack:
            iload 10 /* indexOfOpenParen */
            iconst_m1
            if_icmpeq 102
        81: .line 385
            aload 9 /* methodDoc */
            bipush 41
            iload 10 /* indexOfOpenParen */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 11 /* indexOfClosingParen */
        start local 11 // int indexOfClosingParen
        82: .line 386
            iload 11 /* indexOfClosingParen */
            iconst_m1
            if_icmpeq 102
        83: .line 389
            aload 9 /* methodDoc */
            iload 10 /* indexOfOpenParen */
            iconst_1
            iadd
            iload 11 /* indexOfClosingParen */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
        84: .line 390
            ldc "&nbsp;"
            invokevirtual java.lang.String.toCharArray:()[C
        85: .line 391
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 32
            castore
        86: .line 388
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([C[C[C)[C
        87: .line 387
            astore 12 /* paramsSource */
        start local 12 // char[] paramsSource
        88: .line 392
            aload 0 /* this */
            aload 12 /* paramsSource */
            iload 4 /* paramCount */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.splitParameters:([CI)[[C
            astore 13 /* params */
        start local 13 // char[][] params
        89: .line 393
            aload 13 /* params */
            arraylength
            istore 14 /* paramsLength */
        start local 14 // int paramsLength
        90: .line 394
            iload 14 /* paramsLength */
            anewarray java.lang.String
            astore 15 /* names */
        start local 15 // java.lang.String[] names
        91: .line 395
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        92: goto 100
        93: .line 396
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.lang.String int int char[] char[][] int java.lang.String[] int
      StackMap stack:
            aload 13 /* params */
            iload 16 /* i */
            aaload
            astore 17 /* param */
        start local 17 // char[] param
        94: .line 397
            bipush 32
            aload 17 /* param */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 18 /* indexOfSpace */
        start local 18 // int indexOfSpace
        95: .line 398
            iload 18 /* indexOfSpace */
            iconst_m1
            if_icmpeq 98
        96: .line 399
            aload 15 /* names */
            iload 16 /* i */
            aload 17 /* param */
            iload 18 /* indexOfSpace */
            iconst_1
            iadd
            aload 17 /* param */
            arraylength
            iload 18 /* indexOfSpace */
            isub
            iconst_1
            isub
            invokestatic java.lang.String.valueOf:([CII)Ljava/lang/String;
            aastore
        97: .line 400
            goto 99
        98: .line 401
      StackMap locals: char[] int
      StackMap stack:
            aload 15 /* names */
            iload 16 /* i */
            new java.lang.StringBuilder
            dup
            ldc "arg"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 16 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 18 // int indexOfSpace
        end local 17 // char[] param
        99: .line 395
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 16 /* i */
            iload 14 /* paramsLength */
            if_icmplt 93
        end local 16 // int i
       101: .line 404
            aload 0 /* this */
            aload 15 /* names */
            dup_x1
            putfield org.eclipse.jdt.internal.core.BinaryMethod.parameterNames:[Ljava/lang/String;
            areturn
        end local 15 // java.lang.String[] names
        end local 14 // int paramsLength
        end local 13 // char[][] params
        end local 12 // char[] paramsSource
        end local 11 // int indexOfClosingParen
        end local 10 // int indexOfOpenParen
       102: .line 409
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper org.eclipse.jdt.internal.compiler.env.IBinaryMethod int int org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.lang.String
      StackMap stack:
            aload 3 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getArgumentNames:()[[C
            astore 10 /* argumentNames */
        start local 10 // char[][] argumentNames
       103: .line 410
            aload 10 /* argumentNames */
            ifnull 111
            aload 10 /* argumentNames */
            arraylength
            iload 4 /* paramCount */
            if_icmpne 111
       104: .line 411
            iload 4 /* paramCount */
            anewarray java.lang.String
            astore 11 /* names */
        start local 11 // java.lang.String[] names
       105: .line 412
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       106: goto 109
       107: .line 413
      StackMap locals: char[][] java.lang.String[] int
      StackMap stack:
            aload 11 /* names */
            iload 12 /* i */
            new java.lang.String
            dup
            aload 10 /* argumentNames */
            iload 12 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            aastore
       108: .line 412
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       109: iload 12 /* i */
            iload 4 /* paramCount */
            if_icmplt 107
        end local 12 // int i
       110: .line 415
            aload 0 /* this */
            aload 11 /* names */
            dup_x1
            putfield org.eclipse.jdt.internal.core.BinaryMethod.parameterNames:[Ljava/lang/String;
            areturn
        end local 11 // java.lang.String[] names
        end local 10 // char[][] argumentNames
        end local 9 // java.lang.String methodDoc
        end local 8 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        end local 7 // org.eclipse.jdt.core.IType declaringType
        end local 6 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
        end local 5 // int modifiers
       111: .line 419
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.SourceMapper org.eclipse.jdt.internal.compiler.env.IBinaryMethod int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* paramCount */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getRawParameterNames:(I)[Ljava/lang/String;
            areturn
        end local 4 // int paramCount
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 2 // org.eclipse.jdt.internal.core.SourceMapper mapper
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  112     0                 this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            3  112     1                 type  Lorg/eclipse/jdt/core/IType;
            4  112     2               mapper  Lorg/eclipse/jdt/internal/core/SourceMapper;
            6   20     3           paramNames  [[C
            8   12     4                 info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            9   12     5               source  [C
           14   20     4                names  [Ljava/lang/String;
           15   19     5                    i  I
           21  112     3                 info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           22  112     4           paramCount  I
           24   31     5        declaringType  Lorg/eclipse/jdt/core/IType;
           33  111     5            modifiers  I
           36  111     6      javadocContents  Lorg/eclipse/jdt/internal/core/JavadocContents;
           37  111     7        declaringType  Lorg/eclipse/jdt/core/IType;
           38  111     8          projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           47  111     9            methodDoc  Ljava/lang/String;
           49   68    10              timeOut  J
           50   52    12               option  Ljava/lang/String;
           57   68    12        nameCollector  Lorg/eclipse/jdt/internal/core/BinaryMethod$1ParametersNameCollector;
           58   68    13              collect  Ljava/lang/Thread;
           76  102    10     indexOfOpenParen  I
           82  102    11  indexOfClosingParen  I
           88  102    12         paramsSource  [C
           89  102    13               params  [[C
           90  102    14         paramsLength  I
           91  102    15                names  [Ljava/lang/String;
           92  101    16                    i  I
           94   99    17                param  [C
           95   99    18         indexOfSpace  I
          103  111    10        argumentNames  [[C
          105  111    11                names  [Ljava/lang/String;
          106  110    12                    i  I
      Exception table:
        from    to  target  type
          39    43      44  any
          44    45      44  any
          49    52      53  Class java.lang.NumberFormatException
          60    61      62  Class java.lang.InterruptedException
          60    64      65  any
          65    66      65  any
          70    71      72  Class org.eclipse.jdt.core.JavaModelException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private boolean isOpenParenForMethod(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // java.lang.String javaDoc
        start local 2 // java.lang.String methodName
        start local 3 // int index
         0: .line 428
            iconst_0
            istore 4 /* scanningTag */
        start local 4 // boolean scanningTag
         1: .line 429
            iconst_0
            istore 5 /* endIndex */
        start local 5 // int endIndex
         2: .line 430
            goto 17
         3: .line 431
      StackMap locals: int int
      StackMap stack:
            aload 1 /* javaDoc */
            iload 3 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* previousChar */
        start local 6 // char previousChar
         4: .line 432
            iload 5 /* endIndex */
            ifle 8
         5: .line 433
            iload 6 /* previousChar */
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.isJavaIdentifierPart:(C)Z
            ifeq 7
         6: .line 434
            iload 6 /* previousChar */
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.isJavaIdentifierStart:(C)Z
            ifne 17
         7: .line 435
      StackMap locals: int
      StackMap stack:
            aload 2 /* methodName */
            aload 1 /* javaDoc */
            iload 3 /* index */
            iconst_1
            iadd
            iload 5 /* endIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         8: .line 436
      StackMap locals:
      StackMap stack:
            iload 4 /* scanningTag */
            ifne 15
         9: .line 437
            iload 6 /* previousChar */
            bipush 62
            if_icmpne 11
        10: .line 438
            iconst_1
            istore 4 /* scanningTag */
            goto 17
        11: .line 439
      StackMap locals:
      StackMap stack:
            iload 6 /* previousChar */
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.isJavaIdentifierPart:(C)Z
            ifne 13
        12: .line 440
            iload 6 /* previousChar */
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.isJavaIdentifierStart:(C)Z
            ifeq 17
        13: .line 441
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            iconst_1
            iadd
            istore 5 /* endIndex */
        14: .line 442
            goto 17
      StackMap locals:
      StackMap stack:
        15: iload 6 /* previousChar */
            bipush 60
            if_icmpne 17
        16: .line 444
            iconst_0
            istore 4 /* scanningTag */
        end local 6 // char previousChar
        17: .line 430
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ -1
            iload 3 /* index */
            aload 2 /* methodName */
            invokevirtual java.lang.String.length:()I
            if_icmpgt 3
        18: .line 446
            iconst_0
            ireturn
        end local 5 // int endIndex
        end local 4 // boolean scanningTag
        end local 3 // int index
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String javaDoc
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0   19     1       javaDoc  Ljava/lang/String;
            0   19     2    methodName  Ljava/lang/String;
            0   19     3         index  I
            1   19     4   scanningTag  Z
            2   19     5      endIndex  I
            4   17     6  previousChar  C
    MethodParameters:
            Name  Flags
      javaDoc     
      methodName  
      index       

  private char[][] splitParameters(char[], int);
    descriptor: ([CI)[[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // char[] parametersSource
        start local 2 // int paramCount
         0: .line 450
            iload 2 /* paramCount */
            anewarray char[]
            astore 3 /* params */
        start local 3 // char[][] params
         1: .line 451
            iconst_0
            istore 4 /* paramIndex */
        start local 4 // int paramIndex
         2: .line 452
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         3: .line 453
            iconst_0
            istore 6 /* balance */
        start local 6 // int balance
         4: .line 454
            aload 1 /* parametersSource */
            arraylength
            istore 7 /* length */
        start local 7 // int length
         5: .line 455
            iconst_0
            istore 8 /* start */
        start local 8 // int start
         6: .line 456
            goto 40
         7: .line 457
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod char[] int char[][] int int int int int
      StackMap stack:
            aload 1 /* parametersSource */
            iload 5 /* index */
            caload
            lookupswitch { // 4
                   38: 22
                   44: 17
                   60: 8
                   62: 14
              default: 39
          }
         8: .line 459
      StackMap locals:
      StackMap stack:
            iinc 6 /* balance */ 1
         9: .line 460
            iinc 5 /* index */ 1
        10: .line 461
            goto 12
        11: .line 462
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
        12: .line 461
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iload 7 /* length */
            if_icmpge 40
            aload 1 /* parametersSource */
            iload 5 /* index */
            caload
            bipush 62
            if_icmpne 11
        13: .line 464
            goto 40
        14: .line 466
      StackMap locals:
      StackMap stack:
            iinc 6 /* balance */ -1
        15: .line 467
            iinc 5 /* index */ 1
        16: .line 468
            goto 40
        17: .line 470
      StackMap locals:
      StackMap stack:
            iload 6 /* balance */
            ifne 20
            iload 4 /* paramIndex */
            iload 2 /* paramCount */
            if_icmpge 20
        18: .line 471
            aload 3 /* params */
            iload 4 /* paramIndex */
            iinc 4 /* paramIndex */ 1
            aload 1 /* parametersSource */
            iload 8 /* start */
            iload 5 /* index */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            aastore
        19: .line 472
            iload 5 /* index */
            iconst_1
            iadd
            istore 8 /* start */
        20: .line 474
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
        21: .line 475
            goto 40
        22: .line 477
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iconst_4
            iadd
            iload 7 /* length */
            if_icmpge 37
        23: .line 478
            aload 1 /* parametersSource */
            iload 5 /* index */
            iconst_1
            iadd
            caload
            bipush 108
            if_icmpne 29
        24: .line 479
            aload 1 /* parametersSource */
            iload 5 /* index */
            iconst_2
            iadd
            caload
            bipush 116
            if_icmpne 29
        25: .line 480
            aload 1 /* parametersSource */
            iload 5 /* index */
            iconst_3
            iadd
            caload
            bipush 59
            if_icmpne 29
        26: .line 481
            iinc 6 /* balance */ 1
        27: .line 482
            iinc 5 /* index */ 4
        28: .line 483
            goto 40
      StackMap locals:
      StackMap stack:
        29: aload 1 /* parametersSource */
            iload 5 /* index */
            iconst_1
            iadd
            caload
            bipush 103
            if_icmpne 35
        30: .line 484
            aload 1 /* parametersSource */
            iload 5 /* index */
            iconst_2
            iadd
            caload
            bipush 116
            if_icmpne 35
        31: .line 485
            aload 1 /* parametersSource */
            iload 5 /* index */
            iconst_3
            iadd
            caload
            bipush 59
            if_icmpne 35
        32: .line 486
            iinc 6 /* balance */ -1
        33: .line 487
            iinc 5 /* index */ 4
        34: .line 488
            goto 40
        35: .line 489
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
        36: .line 491
            goto 40
        37: .line 492
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
        38: .line 494
            goto 40
        39: .line 496
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
        40: .line 456
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iload 7 /* length */
            if_icmplt 7
        41: .line 499
            iload 4 /* paramIndex */
            iload 2 /* paramCount */
            if_icmpge 43
        42: .line 500
            aload 3 /* params */
            iload 4 /* paramIndex */
            iinc 4 /* paramIndex */ 1
            aload 1 /* parametersSource */
            iload 8 /* start */
            iload 5 /* index */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            aastore
        43: .line 502
      StackMap locals:
      StackMap stack:
            iload 4 /* paramIndex */
            iload 2 /* paramCount */
            if_icmpeq 45
        44: .line 504
            aload 3 /* params */
            iconst_0
            iload 4 /* paramIndex */
            anewarray char[]
            dup
            astore 3 /* params */
            iconst_0
            iload 4 /* paramIndex */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        45: .line 506
      StackMap locals:
      StackMap stack:
            aload 3 /* params */
            areturn
        end local 8 // int start
        end local 7 // int length
        end local 6 // int balance
        end local 5 // int index
        end local 4 // int paramIndex
        end local 3 // char[][] params
        end local 2 // int paramCount
        end local 1 // char[] parametersSource
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   46     0              this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0   46     1  parametersSource  [C
            0   46     2        paramCount  I
            1   46     3            params  [[C
            2   46     4        paramIndex  I
            3   46     5             index  I
            4   46     6           balance  I
            5   46     7            length  I
            6   46     8             start  I
    MethodParameters:
                  Name  Flags
      parametersSource  
      paramCount        

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

  private java.lang.String[] getErasedParameterTypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 518
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.erasedParamaterTypes:[Ljava/lang/String;
            ifnonnull 14
         1: .line 519
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            istore 1 /* paramCount */
        start local 1 // int paramCount
         2: .line 520
            iload 1 /* paramCount */
            anewarray java.lang.String
            astore 2 /* erasedTypes */
        start local 2 // java.lang.String[] erasedTypes
         3: .line 521
            iconst_0
            istore 3 /* erasureNeeded */
        start local 3 // boolean erasureNeeded
         4: .line 522
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 523
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod int java.lang.String[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            astore 5 /* parameterType */
        start local 5 // java.lang.String parameterType
         7: .line 524
            aload 2 /* erasedTypes */
            iload 4 /* i */
            aload 5 /* parameterType */
            invokestatic org.eclipse.jdt.core.Signature.getTypeErasure:(Ljava/lang/String;)Ljava/lang/String;
            dup_x2
            aastore
            aload 5 /* parameterType */
            if_acmpeq 9
         8: .line 525
            iconst_1
            istore 3 /* erasureNeeded */
        end local 5 // java.lang.String parameterType
         9: .line 522
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 1 /* paramCount */
            if_icmplt 6
        end local 4 // int i
        11: .line 527
            aload 0 /* this */
            iload 3 /* erasureNeeded */
            ifeq 12
            aload 2 /* erasedTypes */
            goto 13
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod int java.lang.String[] int
      StackMap stack: org.eclipse.jdt.internal.core.BinaryMethod
        12: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod int java.lang.String[] int
      StackMap stack: org.eclipse.jdt.internal.core.BinaryMethod java.lang.String[]
        13: putfield org.eclipse.jdt.internal.core.BinaryMethod.erasedParamaterTypes:[Ljava/lang/String;
        end local 3 // boolean erasureNeeded
        end local 2 // java.lang.String[] erasedTypes
        end local 1 // int paramCount
        14: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.erasedParamaterTypes:[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            2   14     1     paramCount  I
            3   14     2    erasedTypes  [Ljava/lang/String;
            4   14     3  erasureNeeded  Z
            5   11     4              i  I
            7    9     5  parameterType  Ljava/lang/String;

  private java.lang.String getErasedParameterType(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // int index
         0: .line 532
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getErasedParameterTypes:()[Ljava/lang/String;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public org.eclipse.jdt.core.ITypeParameter getTypeParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // java.lang.String typeParameterName
         0: .line 537
            new org.eclipse.jdt.internal.core.TypeParameter
            dup
            aload 0 /* this */
            aload 1 /* typeParameterName */
            invokespecial org.eclipse.jdt.internal.core.TypeParameter.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String typeParameterName
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    1     1  typeParameterName  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      typeParameterName  

  public org.eclipse.jdt.core.ITypeParameter[] getTypeParameters();
    descriptor: ()[Lorg/eclipse/jdt/core/ITypeParameter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 542
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getTypeParameterSignatures:()[Ljava/lang/String;
            astore 1 /* typeParameterSignatures */
        start local 1 // java.lang.String[] typeParameterSignatures
         1: .line 543
            aload 1 /* typeParameterSignatures */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         2: .line 544
            iload 2 /* length */
            ifne 3
            getstatic org.eclipse.jdt.internal.core.TypeParameter.NO_TYPE_PARAMETERS:[Lorg/eclipse/jdt/core/ITypeParameter;
            areturn
         3: .line 545
      StackMap locals: java.lang.String[] int
      StackMap stack:
            iload 2 /* length */
            anewarray org.eclipse.jdt.core.ITypeParameter
            astore 3 /* typeParameters */
        start local 3 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         4: .line 546
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 547
      StackMap locals: org.eclipse.jdt.core.ITypeParameter[] int
      StackMap stack:
            aload 1 /* typeParameterSignatures */
            iload 4 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getTypeVariable:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* typeParameterName */
        start local 5 // java.lang.String typeParameterName
         7: .line 548
            aload 3 /* typeParameters */
            iload 4 /* i */
            new org.eclipse.jdt.internal.core.TypeParameter
            dup
            aload 0 /* this */
            aload 5 /* typeParameterName */
            invokespecial org.eclipse.jdt.internal.core.TypeParameter.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            aastore
        end local 5 // java.lang.String typeParameterName
         8: .line 546
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* typeParameterSignatures */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 550
            aload 3 /* typeParameters */
            areturn
        end local 3 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        end local 2 // int length
        end local 1 // java.lang.String[] typeParameterSignatures
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   11     0                     this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1   11     1  typeParameterSignatures  [Ljava/lang/String;
            2   11     2                   length  I
            4   11     3           typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            5   10     4                        i  I
            7    8     5        typeParameterName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getTypeParameterSignatures();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 560
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 561
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getGenericSignature:()[C
            astore 2 /* genericSignature */
        start local 2 // char[] genericSignature
         2: .line 562
            aload 2 /* genericSignature */
            ifnonnull 4
         3: .line 563
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
         4: .line 564
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod char[]
      StackMap stack:
            aload 2 /* genericSignature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 3 /* dotBasedSignature */
        start local 3 // char[] dotBasedSignature
         5: .line 565
            aload 3 /* dotBasedSignature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeParameters:([C)[[C
            astore 4 /* typeParams */
        start local 4 // char[][] typeParams
         6: .line 566
            aload 4 /* typeParams */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
            areturn
        end local 4 // char[][] typeParams
        end local 3 // char[] dotBasedSignature
        end local 2 // char[] genericSignature
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    7     1               info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            2    7     2   genericSignature  [C
            5    7     3  dotBasedSignature  [C
            6    7     4         typeParams  [[C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getRawParameterNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 571
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 572
            new java.lang.String
            dup
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getParameterCount:(Ljava/lang/String;)I
            istore 2 /* paramCount */
        start local 2 // int paramCount
         2: .line 573
            aload 0 /* this */
            iload 2 /* paramCount */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getRawParameterNames:(I)[Ljava/lang/String;
            areturn
        end local 2 // int paramCount
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    3     1        info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            2    3     2  paramCount  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private java.lang.String[] getRawParameterNames(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // int paramCount
         0: .line 576
            iload 1 /* paramCount */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         1: .line 577
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 578
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            new java.lang.StringBuilder
            dup
            ldc "arg"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
         4: .line 577
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 1 /* paramCount */
            if_icmplt 3
        end local 3 // int i
         6: .line 580
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int paramCount
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    7     1  paramCount  I
            1    7     2      result  [Ljava/lang/String;
            2    6     3           i  I
    MethodParameters:
            Name  Flags
      paramCount  

  public java.lang.String getReturnType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 588
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.returnType:Ljava/lang/String;
            ifnonnull 3
         1: .line 589
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         2: .line 590
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getReturnType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;)Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.BinaryMethod.returnType:Ljava/lang/String;
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         3: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.returnType:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            2    3     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private java.lang.String getReturnType(org.eclipse.jdt.internal.compiler.env.IBinaryMethod);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         0: .line 595
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getGenericSignature:()[C
            astore 2 /* genericSignature */
        start local 2 // char[] genericSignature
         1: .line 596
            aload 2 /* genericSignature */
            ifnonnull 2
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            goto 3
      StackMap locals: char[]
      StackMap stack:
         2: aload 2 /* genericSignature */
      StackMap locals:
      StackMap stack: char[]
         3: astore 3 /* signature */
        start local 3 // char[] signature
         4: .line 597
            aload 3 /* signature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 4 /* dotBasedSignature */
        start local 4 // char[] dotBasedSignature
         5: .line 598
            new java.lang.String
            dup
            aload 4 /* dotBasedSignature */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic org.eclipse.jdt.core.Signature.getReturnType:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* returnTypeName */
        start local 5 // java.lang.String returnTypeName
         6: .line 599
            new java.lang.String
            dup
            aload 5 /* returnTypeName */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedName:([C)[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 5 // java.lang.String returnTypeName
        end local 4 // char[] dotBasedSignature
        end local 3 // char[] signature
        end local 2 // char[] genericSignature
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    7     1               info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            1    7     2   genericSignature  [C
            4    7     3          signature  [C
            5    7     4  dotBasedSignature  [C
            6    7     5     returnTypeName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      info  

  public java.lang.String getSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 606
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         1: .line 607
            new java.lang.String
            dup
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    2     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 614
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.hashCode:()I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 615
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: goto 6
         4: .line 616
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* hash */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getErasedParameterType:(I)Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            invokestatic org.eclipse.jdt.internal.core.util.Util.combineHashCodes:(II)I
            istore 1 /* hash */
         5: .line 615
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 3 // int length
        end local 2 // int i
         7: .line 618
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1    8     1    hash  I
            2    7     2       i  I
            3    7     3  length  I

  public boolean isConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 625
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 627
            iconst_0
            ireturn
         2: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
         3: .line 630
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.isConstructor:()Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod info
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            3    4     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isMainMethod();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 637
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.isMainMethod:(Lorg/eclipse/jdt/core/IMethod;)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isLambdaMethod();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 644
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;

  public boolean isResolved();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 649
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryMethod;

  public boolean isSimilar(org.eclipse.jdt.core.IMethod);
    descriptor: (Lorg/eclipse/jdt/core/IMethod;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // org.eclipse.jdt.core.IMethod method
         0: .line 658
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getParameterTypes:()[Ljava/lang/String;
         1: .line 659
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
         2: .line 660
            aconst_null
         3: .line 657
            invokestatic org.eclipse.jdt.internal.core.BinaryMethod.areSimilarMethods:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Z
         4: .line 656
            ireturn
        end local 1 // org.eclipse.jdt.core.IMethod method
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    5     1  method  Lorg/eclipse/jdt/core/IMethod;
    MethodParameters:
        Name  Flags
      method  

  public java.lang.String readableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
         0: .line 666
            new java.lang.StringBuffer
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.readableName:()Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 667
            aload 1 /* buffer */
            ldc "("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 668
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            astore 2 /* paramTypes */
        start local 2 // java.lang.String[] paramTypes
         3: .line 670
            aload 2 /* paramTypes */
            ifnull 12
            aload 2 /* paramTypes */
            arraylength
            dup
            istore 3 /* length */
        start local 3 // int length
         4: ifle 12
         5: .line 671
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 672
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod java.lang.StringBuffer java.lang.String[] int int
      StackMap stack:
            aload 1 /* buffer */
            aload 2 /* paramTypes */
            iload 4 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 673
            iload 4 /* i */
            iload 3 /* length */
            iconst_1
            isub
            if_icmpge 10
         9: .line 674
            aload 1 /* buffer */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 671
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 4 // int i
        end local 3 // int length
        12: .line 678
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc ")"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 679
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String[] paramTypes
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            1   14     1      buffer  Ljava/lang/StringBuffer;
            3   14     2  paramTypes  [Ljava/lang/String;
            4   12     3      length  I
            6   12     4           i  I

  public org.eclipse.jdt.internal.core.JavaElement resolved(org.eclipse.jdt.internal.compiler.lookup.Binding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
         0: .line 683
            new org.eclipse.jdt.internal.core.ResolvedBinaryMethod
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.parameterTypes:[Ljava/lang/String;
            new java.lang.String
            dup
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Binding.computeUniqueKey:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* resolvedHandle */
        start local 2 // org.eclipse.jdt.internal.core.SourceRefElement resolvedHandle
         1: .line 684
            aload 2 /* resolvedHandle */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.occurrenceCount:I
            putfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
         2: .line 685
            aload 2 /* resolvedHandle */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.SourceRefElement resolvedHandle
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    3     1         binding  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            1    3     2  resolvedHandle  Lorg/eclipse/jdt/internal/core/SourceRefElement;
    MethodParameters:
         Name  Flags
      binding  

  protected void toStringInfo(int, java.lang.StringBuffer, java.lang.Object, boolean);
    descriptor: (ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // java.lang.Object info
        start local 4 // boolean showResolvedInfo
         0: .line 691
            aload 2 /* buffer */
            aload 0 /* this */
            iload 1 /* tab */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.tabString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 692
            aload 3 /* info */
            ifnonnull 5
         2: .line 693
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.toStringName:(Ljava/lang/StringBuffer;)V
         3: .line 694
            aload 2 /* buffer */
            ldc " (not open)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 695
            goto 16
      StackMap locals:
      StackMap stack:
         5: aload 3 /* info */
            getstatic org.eclipse.jdt.internal.core.BinaryMethod.NO_INFO:Ljava/lang/Object;
            if_acmpne 8
         6: .line 696
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.toStringName:(Ljava/lang/StringBuffer;)V
         7: .line 697
            goto 16
         8: .line 698
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 5 /* methodInfo */
        start local 5 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod methodInfo
         9: .line 699
            aload 5 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getModifiers:()I
            istore 6 /* flags */
        start local 6 // int flags
        10: .line 700
            iload 6 /* flags */
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifeq 12
        11: .line 701
            aload 2 /* buffer */
            ldc "static "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 703
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod int
      StackMap stack:
            aload 5 /* methodInfo */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.isConstructor:()Z
            ifne 15
        13: .line 704
            aload 2 /* buffer */
            aload 0 /* this */
            aload 5 /* methodInfo */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getReturnType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 705
            aload 2 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            iload 6 /* flags */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.toStringName:(Ljava/lang/StringBuffer;I)V
        end local 6 // int flags
        end local 5 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod methodInfo
        16: .line 709
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean showResolvedInfo
        end local 3 // java.lang.Object info
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int tab
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0   17     1               tab  I
            0   17     2            buffer  Ljava/lang/StringBuffer;
            0   17     3              info  Ljava/lang/Object;
            0   17     4  showResolvedInfo  Z
            9   16     5        methodInfo  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           10   16     6             flags  I
    MethodParameters:
                  Name  Flags
      tab               
      buffer            
      info              
      showResolvedInfo  

  protected void toStringName(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 712
            aload 0 /* this */
            aload 1 /* buffer */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.toStringName:(Ljava/lang/StringBuffer;I)V
         1: .line 713
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    2     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  protected void toStringName(java.lang.StringBuffer, int);
    descriptor: (Ljava/lang/StringBuffer;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // java.lang.StringBuffer buffer
        start local 2 // int flags
         0: .line 715
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 716
            aload 1 /* buffer */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 717
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getParameterTypes:()[Ljava/lang/String;
            astore 3 /* parameters */
        start local 3 // java.lang.String[] parameters
         3: .line 719
            aload 3 /* parameters */
            ifnull 24
            aload 3 /* parameters */
            arraylength
            dup
            istore 4 /* length */
        start local 4 // int length
         4: ifle 24
         5: .line 720
            iload 2 /* flags */
            invokestatic org.eclipse.jdt.core.Flags.isVarargs:(I)Z
            istore 5 /* isVarargs */
        start local 5 // boolean isVarargs
         6: .line 721
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 23
         8: .line 723
      StackMap locals: org.eclipse.jdt.internal.core.BinaryMethod java.lang.StringBuffer int java.lang.String[] int int int
      StackMap stack:
            iload 6 /* i */
            iload 4 /* length */
            iconst_1
            isub
            if_icmpge 12
         9: .line 724
            aload 1 /* buffer */
            aload 3 /* parameters */
            iload 6 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 725
            aload 1 /* buffer */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 726
            goto 22
      StackMap locals:
      StackMap stack:
        12: iload 5 /* isVarargs */
            ifeq 17
        13: .line 728
            aload 3 /* parameters */
            iload 6 /* i */
            aaload
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* parameter */
        start local 7 // java.lang.String parameter
        14: .line 729
            aload 1 /* buffer */
            aload 7 /* parameter */
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 730
            aload 1 /* buffer */
            ldc " ..."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 7 // java.lang.String parameter
        16: .line 731
            goto 22
        17: .line 732
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 3 /* parameters */
            iload 6 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        18: .line 734
            goto 22
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        19: pop
        20: .line 736
            aload 1 /* buffer */
            ldc "*** invalid signature: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 737
            aload 1 /* buffer */
            aload 3 /* parameters */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        22: .line 721
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 6 // int i
        end local 5 // boolean isVarargs
        end local 4 // int length
        24: .line 741
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        25: .line 742
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.occurrenceCount:I
            iconst_1
            if_icmple 28
        26: .line 743
            aload 1 /* buffer */
            ldc "#"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        27: .line 744
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryMethod.occurrenceCount:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        28: .line 746
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String[] parameters
        end local 2 // int flags
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0   29     1      buffer  Ljava/lang/StringBuffer;
            0   29     2       flags  I
            3   29     3  parameters  [Ljava/lang/String;
            4   24     4      length  I
            6   24     5   isVarargs  Z
            7   24     6           i  I
           14   16     7   parameter  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    18      19  Class java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      buffer  
      flags   

  public java.lang.String getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 749
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.BinaryType
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getJavadocContents:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/JavadocContents;
            astore 2 /* javadocContents */
        start local 2 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
         1: .line 750
            aload 2 /* javadocContents */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 751
      StackMap locals: org.eclipse.jdt.internal.core.JavadocContents
      StackMap stack:
            aload 2 /* javadocContents */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavadocContents.getMethodDoc:(Lorg/eclipse/jdt/core/IMethod;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.BinaryMethod this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/core/BinaryMethod;
            0    3     1          monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    3     2  javadocContents  Lorg/eclipse/jdt/internal/core/JavadocContents;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  
}
SourceFile: "BinaryMethod.java"
NestMembers:
  org.eclipse.jdt.internal.core.BinaryMethod$1  org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector
InnerClasses:
  org.eclipse.jdt.internal.core.BinaryMethod$1
  final ParametersNameCollector = org.eclipse.jdt.internal.core.BinaryMethod$1ParametersNameCollector
  public PerProjectInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo of org.eclipse.jdt.internal.core.JavaModelManager