public abstract class com.sun.tools.javac.util.Name implements javax.lang.model.element.Name
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.javac.util.Name
  super_class: java.lang.Object
{
  public final com.sun.tools.javac.util.Name$Table table;
    descriptor: Lcom/sun/tools/javac/util/Name$Table;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  protected void <init>(com.sun.tools.javac.util.Name$Table);
    descriptor: (Lcom/sun/tools/javac/util/Name$Table;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // com.sun.tools.javac.util.Name$Table table
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* table */
            putfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
         2: .line 45
            return
        end local 1 // com.sun.tools.javac.util.Name$Table table
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/util/Name;
            0    3     1  table  Lcom/sun/tools/javac/util/Name$Table;
    MethodParameters:
       Name  Flags
      table  

  public boolean contentEquals(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // java.lang.CharSequence cs
         0: .line 52
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.CharSequence cs
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/util/Name;
            0    1     1    cs  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      cs    

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name this
         0: .line 59
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ireturn
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/util/Name;

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // int index
         0: .line 66
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            iload 1 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 1 // int index
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/util/Name;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // int start
        start local 2 // int end
         0: .line 73
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual java.lang.String.subSequence:(II)Ljava/lang/CharSequence;
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/util/Name;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  public com.sun.tools.javac.util.Name append(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // com.sun.tools.javac.util.Name n
         0: .line 79
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 80
            iload 2 /* len */
            aload 1 /* n */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            iadd
            newarray 8
            astore 3 /* bs */
        start local 3 // byte[] bs
         2: .line 81
            aload 0 /* this */
            aload 3 /* bs */
            iconst_0
            invokevirtual com.sun.tools.javac.util.Name.getBytes:([BI)V
         3: .line 82
            aload 1 /* n */
            aload 3 /* bs */
            iload 2 /* len */
            invokevirtual com.sun.tools.javac.util.Name.getBytes:([BI)V
         4: .line 83
            aload 0 /* this */
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            aload 3 /* bs */
            iconst_0
            aload 3 /* bs */
            arraylength
            invokevirtual com.sun.tools.javac.util.Name$Table.fromUtf:([BII)Lcom/sun/tools/javac/util/Name;
            areturn
        end local 3 // byte[] bs
        end local 2 // int len
        end local 1 // com.sun.tools.javac.util.Name n
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/util/Name;
            0    5     1     n  Lcom/sun/tools/javac/util/Name;
            1    5     2   len  I
            2    5     3    bs  [B
    MethodParameters:
      Name  Flags
      n     

  public com.sun.tools.javac.util.Name append(char, com.sun.tools.javac.util.Name);
    descriptor: (CLcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // char c
        start local 2 // com.sun.tools.javac.util.Name n
         0: .line 90
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            istore 3 /* len */
        start local 3 // int len
         1: .line 91
            iload 3 /* len */
            iconst_1
            iadd
            aload 2 /* n */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            iadd
            newarray 8
            astore 4 /* bs */
        start local 4 // byte[] bs
         2: .line 92
            aload 0 /* this */
            aload 4 /* bs */
            iconst_0
            invokevirtual com.sun.tools.javac.util.Name.getBytes:([BI)V
         3: .line 93
            aload 4 /* bs */
            iload 3 /* len */
            iload 1 /* c */
            i2b
            bastore
         4: .line 94
            aload 2 /* n */
            aload 4 /* bs */
            iload 3 /* len */
            iconst_1
            iadd
            invokevirtual com.sun.tools.javac.util.Name.getBytes:([BI)V
         5: .line 95
            aload 0 /* this */
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            aload 4 /* bs */
            iconst_0
            aload 4 /* bs */
            arraylength
            invokevirtual com.sun.tools.javac.util.Name$Table.fromUtf:([BII)Lcom/sun/tools/javac/util/Name;
            areturn
        end local 4 // byte[] bs
        end local 3 // int len
        end local 2 // com.sun.tools.javac.util.Name n
        end local 1 // char c
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/util/Name;
            0    6     1     c  C
            0    6     2     n  Lcom/sun/tools/javac/util/Name;
            1    6     3   len  I
            2    6     4    bs  [B
    MethodParameters:
      Name  Flags
      c     
      n     

  public int compareTo(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // com.sun.tools.javac.util.Name other
         0: .line 101
            aload 1 /* other */
            invokevirtual com.sun.tools.javac.util.Name.getIndex:()I
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getIndex:()I
            isub
            ireturn
        end local 1 // com.sun.tools.javac.util.Name other
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/util/Name;
            0    1     1  other  Lcom/sun/tools/javac/util/Name;
    MethodParameters:
       Name  Flags
      other  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name this
         0: .line 107
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/util/Name;

  public int lastIndexOf(byte);
    descriptor: (B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // byte b
         0: .line 113
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 114
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 115
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         3: .line 116
            goto 5
      StackMap locals: byte[] int int
      StackMap stack:
         4: iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iflt 6
            aload 2 /* bytes */
            iload 3 /* offset */
            iload 4 /* i */
            iadd
            baload
            iload 1 /* b */
            if_icmpne 4
         6: .line 117
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ireturn
        end local 4 // int i
        end local 3 // int offset
        end local 2 // byte[] bytes
        end local 1 // byte b
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/tools/javac/util/Name;
            0    7     1       b  B
            1    7     2   bytes  [B
            2    7     3  offset  I
            3    7     4       i  I
    MethodParameters:
      Name  Flags
      b     

  public boolean startsWith(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // com.sun.tools.javac.util.Name prefix
         0: .line 123
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            astore 2 /* thisBytes */
        start local 2 // byte[] thisBytes
         1: .line 124
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            istore 3 /* thisOffset */
        start local 3 // int thisOffset
         2: .line 125
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            istore 4 /* thisLength */
        start local 4 // int thisLength
         3: .line 126
            aload 1 /* prefix */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            astore 5 /* prefixBytes */
        start local 5 // byte[] prefixBytes
         4: .line 127
            aload 1 /* prefix */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            istore 6 /* prefixOffset */
        start local 6 // int prefixOffset
         5: .line 128
            aload 1 /* prefix */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            istore 7 /* prefixLength */
        start local 7 // int prefixLength
         6: .line 130
            iload 4 /* thisLength */
            iload 7 /* prefixLength */
            if_icmpge 8
         7: .line 131
            iconst_0
            ireturn
         8: .line 133
      StackMap locals: com.sun.tools.javac.util.Name com.sun.tools.javac.util.Name byte[] int int byte[] int int
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: .line 134
            goto 11
        10: .line 136
      StackMap locals: int
      StackMap stack:
            iinc 8 /* i */ 1
        11: .line 134
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 7 /* prefixLength */
            if_icmpge 13
        12: .line 135
            aload 2 /* thisBytes */
            iload 3 /* thisOffset */
            iload 8 /* i */
            iadd
            baload
            aload 5 /* prefixBytes */
            iload 6 /* prefixOffset */
            iload 8 /* i */
            iadd
            baload
            if_icmpeq 10
        13: .line 137
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 7 /* prefixLength */
            if_icmpne 14
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
        end local 8 // int i
        end local 7 // int prefixLength
        end local 6 // int prefixOffset
        end local 5 // byte[] prefixBytes
        end local 4 // int thisLength
        end local 3 // int thisOffset
        end local 2 // byte[] thisBytes
        end local 1 // com.sun.tools.javac.util.Name prefix
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lcom/sun/tools/javac/util/Name;
            0   15     1        prefix  Lcom/sun/tools/javac/util/Name;
            1   15     2     thisBytes  [B
            2   15     3    thisOffset  I
            3   15     4    thisLength  I
            4   15     5   prefixBytes  [B
            5   15     6  prefixOffset  I
            6   15     7  prefixLength  I
            9   15     8             i  I
    MethodParameters:
        Name  Flags
      prefix  

  public com.sun.tools.javac.util.Name subName(int, int);
    descriptor: (II)Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // int start
        start local 2 // int end
         0: .line 144
            iload 2 /* end */
            iload 1 /* start */
            if_icmpge 1
            iload 1 /* start */
            istore 2 /* end */
         1: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            iload 1 /* start */
            iadd
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokevirtual com.sun.tools.javac.util.Name$Table.fromUtf:([BII)Lcom/sun/tools/javac/util/Name;
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/util/Name;
            0    2     1  start  I
            0    2     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name this
         0: .line 152
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            invokestatic com.sun.tools.javac.util.Convert.utf2string:([BII)Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/util/Name;

  public byte[] toUtf();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Name this
         0: .line 158
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            newarray 8
            astore 1 /* bs */
        start local 1 // byte[] bs
         1: .line 159
            aload 0 /* this */
            aload 1 /* bs */
            iconst_0
            invokevirtual com.sun.tools.javac.util.Name.getBytes:([BI)V
         2: .line 160
            aload 1 /* bs */
            areturn
        end local 1 // byte[] bs
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/util/Name;
            1    3     1    bs  [B

  public abstract int getIndex();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getByteLength();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract byte getByteAt(int);
    descriptor: (I)B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      i     

  public void getBytes(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.util.Name this
        start local 1 // byte[] cs
        start local 2 // int start
         0: .line 179
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            aload 1 /* cs */
            iload 2 /* start */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 180
            return
        end local 2 // int start
        end local 1 // byte[] cs
        end local 0 // com.sun.tools.javac.util.Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/util/Name;
            0    2     1     cs  [B
            0    2     2  start  I
    MethodParameters:
       Name  Flags
      cs     
      start  

  public abstract byte[] getByteArray();
    descriptor: ()[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getByteOffset();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "Name.java"
NestMembers:
  com.sun.tools.javac.util.Name$Table
InnerClasses:
  public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name