public class org.eclipse.jdt.internal.core.SourceMethod extends org.eclipse.jdt.internal.core.NamedMember 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.SourceMethod
  super_class: org.eclipse.jdt.internal.core.NamedMember
{
  protected java.lang.String[] parameterTypes;
    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.SourceMethod this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // java.lang.String name
        start local 3 // java.lang.String[] parameterTypes
         0: .line 35
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            invokespecial org.eclipse.jdt.internal.core.NamedMember.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
         1: .line 38
            aload 3 /* parameterTypes */
            ifnonnull 4
         2: .line 39
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
         3: .line 40
            goto 5
         4: .line 41
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethod org.eclipse.jdt.internal.core.JavaElement java.lang.String java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* parameterTypes */
            putfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
         5: .line 42
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String[] parameterTypes
        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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            0    6     1          parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    6     2            name  Ljava/lang/String;
            0    6     3  parameterTypes  [Ljava/lang/String;
    MethodParameters:
                Name  Flags
      parent          
      name            
      parameterTypes  

  protected void closing(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
        start local 1 // java.lang.Object info
         0: .line 46
            aload 0 /* this */
            aload 1 /* info */
            invokespecial org.eclipse.jdt.internal.core.NamedMember.closing:(Ljava/lang/Object;)V
         1: .line 47
            aload 1 /* info */
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 2 /* elementInfo */
        start local 2 // org.eclipse.jdt.internal.core.SourceMethodElementInfo elementInfo
         2: .line 48
            aload 2 /* elementInfo */
            getfield org.eclipse.jdt.internal.core.SourceMethodElementInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
            astore 3 /* typeParameters */
        start local 3 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         3: .line 49
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: aload 3 /* typeParameters */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         5: goto 8
         6: .line 50
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethod java.lang.Object org.eclipse.jdt.internal.core.SourceMethodElementInfo org.eclipse.jdt.core.ITypeParameter[] int int
      StackMap stack:
            aload 3 /* typeParameters */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.TypeParameter
            invokevirtual org.eclipse.jdt.internal.core.TypeParameter.close:()V
         7: .line 49
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 6
        end local 5 // int length
        end local 4 // int i
         9: .line 52
            return
        end local 3 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        end local 2 // org.eclipse.jdt.internal.core.SourceMethodElementInfo elementInfo
        end local 1 // java.lang.Object info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            0   10     1            info  Ljava/lang/Object;
            2   10     2     elementInfo  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
            3   10     3  typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            4    9     4               i  I
            5    9     5          length  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      info  

  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.SourceMethod this
        start local 1 // java.lang.Object o
         0: .line 55
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.core.SourceMethod
            ifne 1
            iconst_0
            ireturn
         1: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* o */
            invokespecial org.eclipse.jdt.internal.core.NamedMember.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.core.SourceMethod
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            0    3     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public org.eclipse.jdt.core.IMemberValuePair getDefaultValue();
    descriptor: ()Lorg/eclipse/jdt/core/IMemberValuePair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 60
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* sourceMethodInfo */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo sourceMethodInfo
         1: .line 61
            aload 1 /* sourceMethodInfo */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.isAnnotationMethod:()Z
            ifeq 3
         2: .line 62
            aload 1 /* sourceMethodInfo */
            checkcast org.eclipse.jdt.internal.core.SourceAnnotationMethodInfo
            getfield org.eclipse.jdt.internal.core.SourceAnnotationMethodInfo.defaultValue:Lorg/eclipse/jdt/core/IMemberValuePair;
            areturn
         3: .line 64
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethodElementInfo
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo sourceMethodInfo
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    4     1  sourceMethodInfo  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
    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.SourceMethod this
         0: .line 71
            bipush 9
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;

  public java.lang.String[] getExceptionTypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 78
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
         1: .line 79
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.getExceptionTypeNames:()[[C
            astore 2 /* exs */
        start local 2 // char[][] exs
         2: .line 80
            aload 2 /* exs */
            invokestatic org.eclipse.jdt.internal.core.CompilationUnitStructureRequestor.convertTypeNamesToSigs:([[C)[Ljava/lang/String;
            areturn
        end local 2 // char[][] exs
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    3     1  info  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
            2    3     2   exs  [[C
    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.SourceMethod this
        start local 1 // java.lang.StringBuffer buff
         0: .line 87
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.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 88
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getHandleMementoDelimiter:()C
            istore 2 /* delimiter */
        start local 2 // char delimiter
         2: .line 89
            aload 1 /* buff */
            iload 2 /* delimiter */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 90
            aload 0 /* this */
            aload 1 /* buff */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.escapeMementoName:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
         4: .line 91
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 92
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buff */
            iload 2 /* delimiter */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 93
            aload 0 /* this */
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.escapeMementoName:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
         8: .line 91
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 95
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.occurrenceCount:I
            iconst_1
            if_icmple 13
        11: .line 96
            aload 1 /* buff */
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 97
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.occurrenceCount:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        13: .line 99
      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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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.SourceMethod this
         0: .line 105
            bipush 126
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;

  public java.lang.String getKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 111
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getKey:(Lorg/eclipse/jdt/core/IMethod;Z)Ljava/lang/String;
         1: areturn
         2: .line 112
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         3: .line 114
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException

  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.SourceMethod this
         0: .line 122
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            arraylength
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;

  public java.lang.String[] getParameterNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 129
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
         1: .line 130
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.getArgumentNames:()[[C
            astore 2 /* names */
        start local 2 // char[][] names
         2: .line 131
            aload 2 /* names */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
            areturn
        end local 2 // char[][] names
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    3     1   info  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
            2    3     2  names  [[C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  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.SourceMethod this
         0: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;

  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.SourceMethod this
        start local 1 // java.lang.String typeParameterName
         0: .line 143
            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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 148
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
         1: .line 149
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.SourceMethodElementInfo.typeParameters:[Lorg/eclipse/jdt/core/ITypeParameter;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    2     1  info  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
    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=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 153
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            getfield org.eclipse.jdt.internal.core.SourceMethodElementInfo.arguments:[Lorg/eclipse/jdt/core/ILocalVariable;
            astore 1 /* arguments */
        start local 1 // org.eclipse.jdt.core.ILocalVariable[] arguments
         1: .line 154
            aload 1 /* arguments */
            ifnonnull 3
         2: .line 155
            getstatic org.eclipse.jdt.internal.core.LocalVariable.NO_LOCAL_VARIABLES:[Lorg/eclipse/jdt/core/ILocalVariable;
            areturn
         3: .line 156
      StackMap locals: org.eclipse.jdt.core.ILocalVariable[]
      StackMap stack:
            aload 1 /* arguments */
            areturn
        end local 1 // org.eclipse.jdt.core.ILocalVariable[] arguments
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    4     1  arguments  [Lorg/eclipse/jdt/core/ILocalVariable;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getTypeParameterSignatures();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 165
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getTypeParameters:()[Lorg/eclipse/jdt/core/ITypeParameter;
            astore 1 /* typeParameters */
        start local 1 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         1: .line 166
            aload 1 /* typeParameters */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         2: .line 167
            iload 2 /* length */
            anewarray java.lang.String
            astore 3 /* typeParameterSignatures */
        start local 3 // java.lang.String[] typeParameterSignatures
         3: .line 168
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 20
         5: .line 169
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethod org.eclipse.jdt.core.ITypeParameter[] int java.lang.String[] int
      StackMap stack:
            aload 1 /* typeParameters */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.TypeParameter
            astore 5 /* typeParameter */
        start local 5 // org.eclipse.jdt.internal.core.TypeParameter typeParameter
         6: .line 170
            aload 5 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.TypeParameter.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.TypeParameterElementInfo
            astore 6 /* info */
        start local 6 // org.eclipse.jdt.internal.core.TypeParameterElementInfo info
         7: .line 171
            aload 6 /* info */
            getfield org.eclipse.jdt.internal.core.TypeParameterElementInfo.bounds:[[C
            astore 7 /* bounds */
        start local 7 // char[][] bounds
         8: .line 172
            aload 7 /* bounds */
            ifnonnull 11
         9: .line 173
            aload 3 /* typeParameterSignatures */
            iload 4 /* i */
            aload 5 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.TypeParameter.getElementName:()Ljava/lang/String;
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.createTypeParameterSignature:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aastore
        10: .line 174
            goto 19
        11: .line 175
      StackMap locals: org.eclipse.jdt.internal.core.TypeParameter org.eclipse.jdt.internal.core.TypeParameterElementInfo char[][]
      StackMap stack:
            aload 7 /* bounds */
            arraylength
            istore 8 /* boundsLength */
        start local 8 // int boundsLength
        12: .line 176
            iload 8 /* boundsLength */
            anewarray char[]
            astore 9 /* boundSignatures */
        start local 9 // char[][] boundSignatures
        13: .line 177
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        14: goto 17
        15: .line 178
      StackMap locals: int char[][] int
      StackMap stack:
            aload 9 /* boundSignatures */
            iload 10 /* j */
            aload 7 /* bounds */
            iload 10 /* j */
            aaload
            iconst_0
            invokestatic org.eclipse.jdt.core.Signature.createCharArrayTypeSignature:([CZ)[C
            aastore
        16: .line 177
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 10 /* j */
            iload 8 /* boundsLength */
            if_icmplt 15
        end local 10 // int j
        18: .line 180
            aload 3 /* typeParameterSignatures */
            iload 4 /* i */
            new java.lang.String
            dup
            aload 5 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.TypeParameter.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aload 9 /* boundSignatures */
            invokestatic org.eclipse.jdt.core.Signature.createTypeParameterSignature:([C[[C)[C
            invokespecial java.lang.String.<init>:([C)V
            aastore
        end local 9 // char[][] boundSignatures
        end local 8 // int boundsLength
        end local 7 // char[][] bounds
        end local 6 // org.eclipse.jdt.internal.core.TypeParameterElementInfo info
        end local 5 // org.eclipse.jdt.internal.core.TypeParameter typeParameter
        19: .line 168
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethod org.eclipse.jdt.core.ITypeParameter[] int java.lang.String[] int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 4 // int i
        21: .line 183
            aload 3 /* typeParameterSignatures */
            areturn
        end local 3 // java.lang.String[] typeParameterSignatures
        end local 2 // int length
        end local 1 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   22     0                     this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1   22     1           typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            2   22     2                   length  I
            3   22     3  typeParameterSignatures  [Ljava/lang/String;
            4   21     4                        i  I
            6   19     5            typeParameter  Lorg/eclipse/jdt/internal/core/TypeParameter;
            7   19     6                     info  Lorg/eclipse/jdt/internal/core/TypeParameterElementInfo;
            8   19     7                   bounds  [[C
           12   19     8             boundsLength  I
           13   19     9          boundSignatures  [[C
           14   18    10                        j  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IJavaElement getPrimaryElement(boolean);
    descriptor: (Z)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
        start local 1 // boolean checkOwner
         0: .line 188
            iload 1 /* checkOwner */
            ifeq 3
         1: .line 189
            aload 0 /* this */
            iconst_5
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.CompilationUnit
            astore 2 /* cu */
        start local 2 // org.eclipse.jdt.internal.core.CompilationUnit cu
         2: .line 190
            aload 2 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.isPrimary:()Z
            ifeq 3
            aload 0 /* this */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.CompilationUnit cu
         3: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getPrimaryElement:(Z)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* primaryParent */
        start local 2 // org.eclipse.jdt.core.IJavaElement primaryParent
         4: .line 193
            aload 2 /* primaryParent */
            checkcast org.eclipse.jdt.core.IType
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaElement primaryParent
        end local 1 // boolean checkOwner
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            0    5     1     checkOwner  Z
            2    3     2             cu  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            4    5     2  primaryParent  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
            Name  Flags
      checkOwner  

  public java.lang.String[] getRawParameterNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 197
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getParameterNames:()[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String getReturnType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 204
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
         1: .line 205
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.getReturnTypeName:()[C
            iconst_0
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    2     1  info  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  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.SourceMethod this
         0: .line 212
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
         1: .line 213
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.getReturnTypeName:()[C
            iconst_0
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.createMethodSignature:([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1    2     1  info  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
    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.SourceMethod this
         0: .line 220
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.NamedMember.hashCode:()I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 221
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: goto 6
         4: .line 222
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* hash */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.hashCode:()I
            invokestatic org.eclipse.jdt.internal.core.util.Util.combineHashCodes:(II)I
            istore 1 /* hash */
         5: .line 221
            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 224
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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.SourceMethod this
         0: .line 231
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.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 233
            iconst_0
            ireturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
         3: .line 236
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.isConstructor:()Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.core.SourceMethodElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            3    4     1  info  Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
    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.SourceMethod this
         0: .line 243
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.isMainMethod:(Lorg/eclipse/jdt/core/IMethod;)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;
    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.SourceMethod this
         0: .line 250
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;

  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.SourceMethod this
         0: .line 255
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/SourceMethod;

  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.SourceMethod this
        start local 1 // org.eclipse.jdt.core.IMethod method
         0: .line 264
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getParameterTypes:()[Ljava/lang/String;
         1: .line 265
            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 266
            aconst_null
         3: .line 263
            invokestatic org.eclipse.jdt.internal.core.SourceMethod.areSimilarMethods:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Z
         4: .line 262
            ireturn
        end local 1 // org.eclipse.jdt.core.IMethod method
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SourceMethod this
         0: .line 274
            new java.lang.StringBuffer
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.NamedMember.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 275
            aload 1 /* buffer */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 277
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            ifnull 11
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            arraylength
            dup
            istore 2 /* length */
        start local 2 // int length
         3: ifle 11
         4: .line 278
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 10
         6: .line 279
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parameterTypes:[Ljava/lang/String;
            iload 3 /* 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
         7: .line 280
            iload 3 /* i */
            iload 2 /* length */
            iconst_1
            isub
            if_icmpge 9
         8: .line 281
            aload 1 /* buffer */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 278
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 6
        end local 3 // int i
        end local 2 // int length
        11: .line 285
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 286
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            1   13     1  buffer  Ljava/lang/StringBuffer;
            3   11     2  length  I
            5   11     3       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.SourceMethod this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
         0: .line 290
            new org.eclipse.jdt.internal.core.ResolvedSourceMethod
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.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.ResolvedSourceMethod.<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 291
            aload 2 /* resolvedHandle */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.occurrenceCount:I
            putfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
         2: .line 292
            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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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.SourceMethod 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 299
            aload 2 /* buffer */
            aload 0 /* this */
            iload 1 /* tab */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.tabString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 300
            aload 3 /* info */
            ifnonnull 5
         2: .line 301
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.toStringName:(Ljava/lang/StringBuffer;)V
         3: .line 302
            aload 2 /* buffer */
            ldc " (not open)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 303
            goto 16
      StackMap locals:
      StackMap stack:
         5: aload 3 /* info */
            getstatic org.eclipse.jdt.internal.core.SourceMethod.NO_INFO:Ljava/lang/Object;
            if_acmpne 8
         6: .line 304
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.toStringName:(Ljava/lang/StringBuffer;)V
         7: .line 305
            goto 16
         8: .line 306
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            checkcast org.eclipse.jdt.internal.core.SourceMethodElementInfo
            astore 5 /* methodInfo */
        start local 5 // org.eclipse.jdt.internal.core.SourceMethodElementInfo methodInfo
         9: .line 307
            aload 5 /* methodInfo */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.getModifiers:()I
            istore 6 /* flags */
        start local 6 // int flags
        10: .line 308
            iload 6 /* flags */
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifeq 12
        11: .line 309
            aload 2 /* buffer */
            ldc "static "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 311
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethodElementInfo int
      StackMap stack:
            aload 5 /* methodInfo */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.isConstructor:()Z
            ifne 15
        13: .line 312
            aload 2 /* buffer */
            aload 5 /* methodInfo */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodElementInfo.getReturnTypeName:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        14: .line 313
            aload 2 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            iload 6 /* flags */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.toStringName:(Ljava/lang/StringBuffer;I)V
        end local 6 // int flags
        end local 5 // org.eclipse.jdt.internal.core.SourceMethodElementInfo methodInfo
        16: .line 317
      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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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/core/SourceMethodElementInfo;
           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.SourceMethod this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 320
            aload 0 /* this */
            aload 1 /* buffer */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.toStringName:(Ljava/lang/StringBuffer;I)V
         1: .line 321
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.SourceMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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.SourceMethod this
        start local 1 // java.lang.StringBuffer buffer
        start local 2 // int flags
         0: .line 323
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 324
            aload 1 /* buffer */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 325
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethod.getParameterTypes:()[Ljava/lang/String;
            astore 3 /* parameters */
        start local 3 // java.lang.String[] parameters
         3: .line 327
            aload 3 /* parameters */
            ifnull 24
            aload 3 /* parameters */
            arraylength
            dup
            istore 4 /* length */
        start local 4 // int length
         4: ifle 24
         5: .line 328
            iload 2 /* flags */
            invokestatic org.eclipse.jdt.core.Flags.isVarargs:(I)Z
            istore 5 /* isVarargs */
        start local 5 // boolean isVarargs
         6: .line 329
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 23
         8: .line 331
      StackMap locals: org.eclipse.jdt.internal.core.SourceMethod 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 332
            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 333
            aload 1 /* buffer */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 334
            goto 22
      StackMap locals:
      StackMap stack:
        12: iload 5 /* isVarargs */
            ifeq 17
        13: .line 336
            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 337
            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 338
            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 339
            goto 22
        17: .line 340
      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 342
            goto 22
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        19: pop
        20: .line 344
            aload 1 /* buffer */
            ldc "*** invalid signature: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 345
            aload 1 /* buffer */
            aload 3 /* parameters */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        22: .line 329
      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 349
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        25: .line 350
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.occurrenceCount:I
            iconst_1
            if_icmple 28
        26: .line 351
            aload 1 /* buffer */
            ldc "#"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        27: .line 352
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SourceMethod.occurrenceCount:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        28: .line 354
      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.SourceMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lorg/eclipse/jdt/internal/core/SourceMethod;
            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   
}
SourceFile: "SourceMethod.java"