public class org.eclipse.jdt.internal.core.util.KeyToSignature extends org.eclipse.jdt.internal.core.util.BindingKeyParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.util.KeyToSignature
  super_class: org.eclipse.jdt.internal.core.util.BindingKeyParser
{
  public static final int SIGNATURE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int TYPE_ARGUMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int DECLARING_TYPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int THROWN_EXCEPTIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public java.lang.StringBuffer signature;
    descriptor: Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC

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

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

  private java.util.ArrayList arguments;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList typeArguments;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList typeParameters;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList thrownExceptions;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  public void <init>(org.eclipse.jdt.internal.core.util.BindingKeyParser);
    descriptor: (Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // org.eclipse.jdt.internal.core.util.BindingKeyParser parser
         0: .line 49
            aload 0 /* this */
            aload 1 /* parser */
            invokespecial org.eclipse.jdt.internal.core.util.BindingKeyParser.<init>:(Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;)V
         1: .line 37
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         2: .line 39
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
         3: .line 40
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
         4: .line 41
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         5: .line 42
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
         6: .line 43
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
         7: .line 44
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
         8: .line 46
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeSigStart:I
         9: .line 50
            aload 1 /* parser */
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            astore 2 /* keyToSignature */
        start local 2 // org.eclipse.jdt.internal.core.util.KeyToSignature keyToSignature
        10: .line 51
            aload 0 /* this */
            aload 2 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.kind:I
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.kind:I
        11: .line 52
            aload 0 /* this */
            aload 2 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
        12: .line 53
            return
        end local 2 // org.eclipse.jdt.internal.core.util.KeyToSignature keyToSignature
        end local 1 // org.eclipse.jdt.internal.core.util.BindingKeyParser parser
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   13     1          parser  Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;
           10   13     2  keyToSignature  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
    MethodParameters:
        Name  Flags
      parser  

  public void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // java.lang.String key
        start local 2 // int kind
         0: .line 56
            aload 0 /* this */
            aload 1 /* key */
            invokespecial org.eclipse.jdt.internal.core.util.BindingKeyParser.<init>:(Ljava/lang/String;)V
         1: .line 37
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         2: .line 39
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
         3: .line 40
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
         4: .line 41
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         5: .line 42
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
         6: .line 43
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
         7: .line 44
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
         8: .line 46
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeSigStart:I
         9: .line 57
            aload 0 /* this */
            iload 2 /* kind */
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.kind:I
        10: .line 58
            return
        end local 2 // int kind
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   11     1   key  Ljava/lang/String;
            0   11     2  kind  I
    MethodParameters:
      Name  Flags
      key   
      kind  

  public void <init>(java.lang.String, int, boolean);
    descriptor: (Ljava/lang/String;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // java.lang.String key
        start local 2 // int kind
        start local 3 // boolean asBinarySignature
         0: .line 61
            aload 0 /* this */
            aload 1 /* key */
            invokespecial org.eclipse.jdt.internal.core.util.BindingKeyParser.<init>:(Ljava/lang/String;)V
         1: .line 37
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         2: .line 39
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
         3: .line 40
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
         4: .line 41
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         5: .line 42
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
         6: .line 43
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
         7: .line 44
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
         8: .line 46
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeSigStart:I
         9: .line 62
            aload 0 /* this */
            iload 2 /* kind */
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.kind:I
        10: .line 63
            aload 0 /* this */
            iload 3 /* asBinarySignature */
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
        11: .line 64
            return
        end local 3 // boolean asBinarySignature
        end local 2 // int kind
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   12     1                key  Ljava/lang/String;
            0   12     2               kind  I
            0   12     3  asBinarySignature  Z
    MethodParameters:
                   Name  Flags
      key                
      kind               
      asBinarySignature  

  public void consumeArrayDimension(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] brakets
         0: .line 68
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* brakets */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         1: .line 69
            return
        end local 1 // char[] brakets
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    2     1  brakets  [C
    MethodParameters:
         Name  Flags
      brakets  

  public void consumeBaseType(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] baseTypeSig
         0: .line 73
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeSigStart:I
         1: .line 74
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* baseTypeSig */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         2: .line 75
            return
        end local 1 // char[] baseTypeSig
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    3     1  baseTypeSig  [C
    MethodParameters:
             Name  Flags
      baseTypeSig  

  public void consumeCapture(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // int position
         0: .line 79
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 33
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 80
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         2: .line 81
            return
        end local 1 // int position
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    3     1  position  I
    MethodParameters:
          Name  Flags
      position  

  public void consumeCapture18ID(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // int id
        start local 2 // int position
         0: .line 86
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            ldc "!*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 87
            return
        end local 2 // int position
        end local 1 // int id
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    2     1        id  I
            0    2     2  position  I
    MethodParameters:
          Name  Flags
      id        
      position  

  public void consumeLocalType(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] uniqueKey
         0: .line 91
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         1: .line 93
            aload 1 /* uniqueKey */
            iconst_0
            aload 1 /* uniqueKey */
            arraylength
            iconst_1
            isub
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            astore 1 /* uniqueKey */
         2: .line 94
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
            ifne 4
         3: .line 95
            aload 1 /* uniqueKey */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
         4: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* uniqueKey */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         5: .line 97
            return
        end local 1 // char[] uniqueKey
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    6     1  uniqueKey  [C
    MethodParameters:
           Name  Flags
      uniqueKey  

  public void consumeMethod(char[], char[]);
    descriptor: ([C[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] selector
        start local 2 // char[] methodSignature
         0: .line 101
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
         1: .line 102
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         2: .line 103
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
            ifne 4
         3: .line 104
            aload 2 /* methodSignature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
         4: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.kind:I
            tableswitch { // 0 - 3
                    0: 5
                    1: 16
                    2: 16
                    3: 8
              default: 16
          }
         5: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         6: .line 108
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 2 /* methodSignature */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         7: .line 109
            goto 16
         8: .line 111
      StackMap locals:
      StackMap stack:
            bipush 94
            aload 2 /* methodSignature */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            ifle 16
         9: .line 112
            aload 2 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getThrownExceptionTypes:([C)[[C
            astore 3 /* types */
        start local 3 // char[][] types
        10: .line 113
            aload 3 /* types */
            arraylength
            istore 4 /* length */
        start local 4 // int length
        11: .line 114
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 15
        13: .line 115
      StackMap locals: char[][] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
            new java.lang.String
            dup
            aload 3 /* types */
            iload 5 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 114
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 13
        end local 5 // int i
        end local 4 // int length
        end local 3 // char[][] types
        16: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] methodSignature
        end local 1 // char[] selector
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   17     1         selector  [C
            0   17     2  methodSignature  [C
           10   16     3            types  [[C
           11   16     4           length  I
           12   16     5                i  I
    MethodParameters:
                 Name  Flags
      selector         
      methodSignature  

  public void consumeMemberType(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] simpleTypeName
         0: .line 124
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 36
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 125
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* simpleTypeName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         2: .line 126
            return
        end local 1 // char[] simpleTypeName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    3     1  simpleTypeName  [C
    MethodParameters:
                Name  Flags
      simpleTypeName  

  public void consumePackage(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] pkgName
         0: .line 130
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* pkgName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         1: .line 131
            return
        end local 1 // char[] pkgName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    2     1  pkgName  [C
    MethodParameters:
         Name  Flags
      pkgName  

  public void consumeParameterizedGenericMethod();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         1: .line 136
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* typeParametersSize */
        start local 1 // int typeParametersSize
         2: .line 137
            iload 1 /* typeParametersSize */
            ifle 37
         3: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            istore 2 /* sigLength */
        start local 2 // int sigLength
         4: .line 139
            iload 2 /* sigLength */
            newarray 5
            astore 3 /* methodSignature */
        start local 3 // char[] methodSignature
         5: .line 140
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            iconst_0
            iload 2 /* sigLength */
            aload 3 /* methodSignature */
            iconst_0
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
         6: .line 141
            aload 3 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeParameters:([C)[[C
            astore 4 /* typeParameterSigs */
        start local 4 // char[][] typeParameterSigs
         7: .line 142
            aload 4 /* typeParameterSigs */
            arraylength
            iload 1 /* typeParametersSize */
            if_icmpeq 9
         8: .line 143
            return
         9: .line 144
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature int int char[] char[][]
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
        10: .line 147
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 14
        12: .line 148
      StackMap locals: int
      StackMap stack:
            aload 4 /* typeParameterSigs */
            iload 5 /* i */
            bipush 84
            aload 4 /* typeParameterSigs */
            iload 5 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getTypeVariable:([C)[C
            bipush 59
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:(C[CC)[C
            aastore
        13: .line 147
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 1 /* typeParametersSize */
            if_icmplt 12
        end local 5 // int i
        15: .line 149
            bipush 40
            aload 3 /* methodSignature */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 5 /* paramStart */
        start local 5 // int paramStart
        16: .line 150
            aload 3 /* methodSignature */
            iconst_0
            iload 5 /* paramStart */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            astore 6 /* typeParametersString */
        start local 6 // char[] typeParametersString
        17: .line 151
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 6 /* typeParametersString */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        18: .line 154
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 155
            aload 3 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            astore 7 /* parameters */
        start local 7 // char[][] parameters
        20: .line 156
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        21: aload 7 /* parameters */
            arraylength
            istore 9 /* parametersLength */
        start local 9 // int parametersLength
        22: goto 25
        23: .line 157
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature int int char[] char[][] int char[] char[][] int int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* parameters */
            iload 8 /* i */
            aaload
            aload 4 /* typeParameterSigs */
            iload 1 /* typeParametersSize */
            invokevirtual org.eclipse.jdt.internal.core.util.KeyToSignature.substitute:([C[[CI)V
        24: .line 156
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            iload 9 /* parametersLength */
            if_icmplt 23
        end local 9 // int parametersLength
        end local 8 // int i
        26: .line 158
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 161
            aload 3 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getReturnType:([C)[C
            astore 8 /* returnType */
        start local 8 // char[] returnType
        28: .line 162
            aload 0 /* this */
            aload 8 /* returnType */
            aload 4 /* typeParameterSigs */
            iload 1 /* typeParametersSize */
            invokevirtual org.eclipse.jdt.internal.core.util.KeyToSignature.substitute:([C[[CI)V
        29: .line 165
            aload 3 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getThrownExceptionTypes:([C)[[C
            astore 9 /* exceptions */
        start local 9 // char[][] exceptions
        30: .line 166
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        31: aload 9 /* exceptions */
            arraylength
            istore 11 /* exceptionsLength */
        start local 11 // int exceptionsLength
        32: goto 36
        33: .line 167
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature int int char[] char[][] int char[] char[][] char[] char[][] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 94
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        34: .line 168
            aload 0 /* this */
            aload 9 /* exceptions */
            iload 10 /* i */
            aaload
            aload 4 /* typeParameterSigs */
            iload 1 /* typeParametersSize */
            invokevirtual org.eclipse.jdt.internal.core.util.KeyToSignature.substitute:([C[[CI)V
        35: .line 166
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 10 /* i */
            iload 11 /* exceptionsLength */
            if_icmplt 33
        end local 11 // int exceptionsLength
        end local 10 // int i
        end local 9 // char[][] exceptions
        end local 8 // char[] returnType
        end local 7 // char[][] parameters
        end local 6 // char[] typeParametersString
        end local 5 // int paramStart
        end local 4 // char[][] typeParameterSigs
        end local 3 // char[] methodSignature
        end local 2 // int sigLength
        37: .line 172
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature int
      StackMap stack:
            return
        end local 1 // int typeParametersSize
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   38     0                  this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            2   38     1    typeParametersSize  I
            4   37     2             sigLength  I
            5   37     3       methodSignature  [C
            7   37     4     typeParameterSigs  [[C
           11   15     5                     i  I
           16   37     5            paramStart  I
           17   37     6  typeParametersString  [C
           20   37     7            parameters  [[C
           21   26     8                     i  I
           22   26     9      parametersLength  I
           28   37     8            returnType  [C
           30   37     9            exceptions  [[C
           31   37    10                     i  I
           32   37    11      exceptionsLength  I

  private void substitute(char[], char[][], int);
    descriptor: ([C[[CI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] parameter
        start local 2 // char[][] typeParameterSigs
        start local 3 // int typeParametersLength
         0: .line 180
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 7
         2: .line 181
      StackMap locals: int
      StackMap stack:
            aload 1 /* parameter */
            aload 2 /* typeParameterSigs */
            iload 4 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         3: .line 182
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 5 /* typeArgument */
        start local 5 // java.lang.String typeArgument
         4: .line 183
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 5 /* typeArgument */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 184
            return
        end local 5 // java.lang.String typeArgument
         6: .line 180
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* typeParametersLength */
            if_icmplt 2
        end local 4 // int i
         8: .line 187
            bipush 60
            aload 1 /* parameter */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 4 /* genericStart */
        start local 4 // int genericStart
         9: .line 188
            iload 4 /* genericStart */
            iconst_m1
            if_icmple 22
        10: .line 189
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* parameter */
            iconst_0
            iload 4 /* genericStart */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        11: .line 190
            aload 1 /* parameter */
            invokestatic org.eclipse.jdt.core.Signature.getTypeArguments:([C)[[C
            astore 5 /* parameters */
        start local 5 // char[][] parameters
        12: .line 191
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 192
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        14: aload 5 /* parameters */
            arraylength
            istore 7 /* paramsLength */
        start local 7 // int paramsLength
        15: goto 18
        16: .line 193
      StackMap locals: char[][] int int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* parameters */
            iload 6 /* j */
            aaload
            aload 2 /* typeParameterSigs */
            iload 3 /* typeParametersLength */
            invokevirtual org.eclipse.jdt.internal.core.util.KeyToSignature.substitute:([C[[CI)V
        17: .line 192
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* j */
            iload 7 /* paramsLength */
            if_icmplt 16
        end local 7 // int paramsLength
        end local 6 // int j
        19: .line 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 195
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 59
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // char[][] parameters
        21: .line 196
            goto 35
        22: .line 198
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* index */
        start local 5 // int index
        23: .line 199
            aload 1 /* parameter */
            arraylength
            istore 6 /* length */
        start local 6 // int length
        24: .line 200
            goto 31
        25: .line 201
      StackMap locals: int int
      StackMap stack:
            aload 1 /* parameter */
            iload 5 /* index */
            caload
            istore 7 /* current */
        start local 7 // char current
        26: .line 202
            iload 7 /* current */
            lookupswitch { // 4
                   33: 27
                   43: 27
                   45: 27
                   91: 27
              default: 30
          }
        27: .line 207
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            iload 7 /* current */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        28: .line 208
            iinc 5 /* index */ 1
        29: .line 209
            goto 31
        30: .line 211
      StackMap locals:
      StackMap stack:
            goto 32
        end local 7 // char current
        31: .line 200
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iload 6 /* length */
            if_icmplt 25
        32: .line 214
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            ifle 34
        33: .line 215
            aload 0 /* this */
            aload 1 /* parameter */
            iload 5 /* index */
            iload 6 /* length */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            aload 2 /* typeParameterSigs */
            iload 3 /* typeParametersLength */
            invokevirtual org.eclipse.jdt.internal.core.util.KeyToSignature.substitute:([C[[CI)V
            goto 35
        34: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* parameter */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        end local 6 // int length
        end local 5 // int index
        35: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int genericStart
        end local 3 // int typeParametersLength
        end local 2 // char[][] typeParameterSigs
        end local 1 // char[] parameter
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   36     0                  this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   36     1             parameter  [C
            0   36     2     typeParameterSigs  [[C
            0   36     3  typeParametersLength  I
            1    8     4                     i  I
            4    6     5          typeArgument  Ljava/lang/String;
            9   36     4          genericStart  I
           12   21     5            parameters  [[C
           14   19     6                     j  I
           15   19     7          paramsLength  I
           23   35     5                 index  I
           24   35     6                length  I
           26   31     7               current  C
    MethodParameters:
                      Name  Flags
      parameter             
      typeParameterSigs     
      typeParametersLength  

  public void consumeParameterizedType(char[], boolean);
    descriptor: ([CZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] simpleTypeName
        start local 2 // boolean isRaw
         0: .line 223
            aload 1 /* simpleTypeName */
            ifnull 5
         1: .line 225
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
            ifeq 2
            bipush 36
            goto 3
      StackMap locals:
      StackMap stack: java.lang.StringBuffer
         2: bipush 46
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature char[] int
      StackMap stack: java.lang.StringBuffer int
         3: invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 226
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* simpleTypeName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         5: .line 228
      StackMap locals:
      StackMap stack:
            iload 2 /* isRaw */
            ifne 16
         6: .line 229
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 230
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* length */
        start local 3 // int length
         8: .line 231
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 232
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        11: .line 231
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 10
        end local 4 // int i
        13: .line 234
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 235
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
        15: .line 236
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
        end local 3 // int length
        16: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isRaw
        end local 1 // char[] simpleTypeName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   17     1  simpleTypeName  [C
            0   17     2           isRaw  Z
            8   16     3          length  I
            9   13     4               i  I
    MethodParameters:
                Name  Flags
      simpleTypeName  
      isRaw           

  public void consumeParser(org.eclipse.jdt.internal.core.util.BindingKeyParser);
    descriptor: (Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // org.eclipse.jdt.internal.core.util.BindingKeyParser parser
         0: .line 242
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            aload 1 /* parser */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 243
            return
        end local 1 // org.eclipse.jdt.internal.core.util.BindingKeyParser parser
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    2     1  parser  Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;
    MethodParameters:
        Name  Flags
      parser  

  public void consumeField(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] fieldName
         0: .line 247
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.kind:I
            ifne 2
         1: .line 248
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         2: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 1 // char[] fieldName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    3     1  fieldName  [C
    MethodParameters:
           Name  Flags
      fieldName  

  public void consumeException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 254
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 255
            iload 1 /* size */
            ifle 9
         2: .line 256
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 257
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 256
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 1 /* size */
            if_icmplt 4
        end local 2 // int i
         7: .line 259
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
         8: .line 260
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         9: .line 262
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int size
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            1   10     1  size  I
            3    7     2     i  I

  public void consumeFullyQualifiedName(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] fullyQualifiedName
         0: .line 266
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeSigStart:I
         1: .line 267
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 76
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 268
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
            ifne 4
         3: .line 269
            aload 1 /* fullyQualifiedName */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 1 /* fullyQualifiedName */
         4: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* fullyQualifiedName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         5: .line 271
            return
        end local 1 // char[] fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    6     1  fullyQualifiedName  [C
    MethodParameters:
                    Name  Flags
      fullyQualifiedName  

  public void consumeSecondaryType(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] simpleTypeName
         0: .line 275
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 126
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 276
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.asBinarySignature:Z
            ifeq 2
            ldc "/"
            goto 3
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature char[]
      StackMap stack: org.eclipse.jdt.internal.core.util.KeyToSignature java.lang.StringBuffer
         2: ldc "."
      StackMap locals: org.eclipse.jdt.internal.core.util.KeyToSignature char[]
      StackMap stack: org.eclipse.jdt.internal.core.util.KeyToSignature java.lang.StringBuffer java.lang.String
         3: invokevirtual java.lang.StringBuffer.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
         4: .line 277
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
            ifne 11
         5: .line 278
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
         6: .line 279
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: .line 281
            goto 10
         8: .line 282
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
         9: .line 283
            iinc 2 /* i */ 1
        10: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            iload 2 /* i */
            invokevirtual java.lang.StringBuffer.charAt:(I)C
            bipush 91
            if_icmpeq 8
        end local 2 // int i
        11: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeEnd:I
        12: .line 287
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 1 /* simpleTypeName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        13: .line 288
            return
        end local 1 // char[] simpleTypeName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   14     1  simpleTypeName  [C
            7   11     2               i  I
    MethodParameters:
                Name  Flags
      simpleTypeName  

  public void consumeType();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 293
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
            iconst_m1
            if_icmpeq 2
         1: .line 294
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.mainTypeEnd:I
            ldc ""
            invokevirtual java.lang.StringBuffer.replace:(IILjava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* length */
        start local 1 // int length
         3: .line 298
            iload 1 /* length */
            ifle 17
         4: .line 299
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* typeParametersSig */
        start local 2 // java.lang.StringBuffer typeParametersSig
         5: .line 300
            aload 2 /* typeParametersSig */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 301
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 13
         8: .line 303
      StackMap locals: int java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast char[]
         9: .line 304
            iconst_1
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.compiler.codegen.ConstantPool.ObjectSignature:[C
            aastore
        10: .line 302
            invokestatic org.eclipse.jdt.core.Signature.createTypeParameterSignature:([C[[C)[C
            astore 4 /* typeParameterSig */
        start local 4 // char[] typeParameterSig
        11: .line 305
            aload 2 /* typeParametersSig */
            aload 4 /* typeParameterSig */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        end local 4 // char[] typeParameterSig
        12: .line 301
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 8
        end local 3 // int i
        14: .line 308
            aload 2 /* typeParametersSig */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 309
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeSigStart:I
            aload 2 /* typeParametersSig */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 310
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
        end local 2 // java.lang.StringBuffer typeParametersSig
        17: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 59
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 313
            return
        end local 1 // int length
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            3   19     1             length  I
            5   17     2  typeParametersSig  Ljava/lang/StringBuffer;
            7   14     3                  i  I
           11   12     4   typeParameterSig  [C

  public void consumeTypeParameter(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] typeParameterName
         0: .line 317
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeParameters:Ljava/util/ArrayList;
            aload 1 /* typeParameterName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 318
            return
        end local 1 // char[] typeParameterName
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    2     1  typeParameterName  [C
    MethodParameters:
                   Name  Flags
      typeParameterName  

  public void consumeTypeVariable(char[], char[]);
    descriptor: ([C[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // char[] position
        start local 2 // char[] typeVariableName
         0: .line 322
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         1: .line 323
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 84
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 324
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 2 /* typeVariableName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         3: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 59
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 326
            return
        end local 2 // char[] typeVariableName
        end local 1 // char[] position
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0    5     1          position  [C
            0    5     2  typeVariableName  [C
    MethodParameters:
                  Name  Flags
      position          
      typeVariableName  

  public void consumeTypeWithCapture();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 330
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            astore 1 /* keyToSignature */
        start local 1 // org.eclipse.jdt.internal.core.util.KeyToSignature keyToSignature
         1: .line 331
            aload 0 /* this */
            aload 1 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         2: .line 332
            aload 0 /* this */
            aload 1 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
         3: .line 333
            aload 0 /* this */
            aload 1 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
         4: .line 334
            aload 0 /* this */
            aload 1 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
         5: .line 335
            return
        end local 1 // org.eclipse.jdt.internal.core.util.KeyToSignature keyToSignature
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            1    6     1  keyToSignature  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;

  public void consumeWildCard(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
        start local 1 // int wildCardKind
         0: .line 340
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
         1: .line 341
            iload 1 /* wildCardKind */
            tableswitch { // 0 - 2
                    0: 2
                    1: 4
                    2: 7
              default: 10
          }
         2: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 42
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 344
            goto 11
         4: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 43
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 347
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         6: .line 348
            goto 11
         7: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            bipush 45
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 351
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.arguments:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         9: .line 352
            goto 11
        10: .line 355
      StackMap locals:
      StackMap stack:
            return
        11: .line 357
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int wildCardKind
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            0   12     1  wildCardKind  I
    MethodParameters:
              Name  Flags
      wildCardKind  

  public java.lang.String[] getThrownExceptions();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 360
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 361
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 362
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 363
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.thrownExceptions:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
         5: .line 362
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         7: .line 365
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int length
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            1    8     1  length  I
            2    8     2  result  [Ljava/lang/String;
            3    7     3       i  I

  public java.lang.String[] getTypeArguments();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 369
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 370
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 371
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 372
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.typeArguments:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.util.KeyToSignature
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aastore
         5: .line 371
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         7: .line 374
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int length
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
            1    8     1  length  I
            2    8     2  result  [Ljava/lang/String;
            3    7     3       i  I

  public org.eclipse.jdt.internal.core.util.BindingKeyParser newParser();
    descriptor: ()Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 379
            new org.eclipse.jdt.internal.core.util.KeyToSignature
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.util.KeyToSignature.<init>:(Lorg/eclipse/jdt/internal/core/util/BindingKeyParser;)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
         0: .line 384
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.util.KeyToSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
}
SourceFile: "KeyToSignature.java"