public class sun.text.normalizer.CharTrie extends sun.text.normalizer.Trie
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.text.normalizer.CharTrie
  super_class: sun.text.normalizer.Trie
{
  private char m_initialValue_;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private char[] m_data_;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.io.InputStream, sun.text.normalizer.Trie$DataManipulate);
    descriptor: (Ljava/io/InputStream;Lsun/text/normalizer/Trie$DataManipulate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // java.io.InputStream inputStream
        start local 2 // sun.text.normalizer.Trie$DataManipulate dataManipulate
         0: .line 66
            aload 0 /* this */
            aload 1 /* inputStream */
            aload 2 /* dataManipulate */
            invokespecial sun.text.normalizer.Trie.<init>:(Ljava/io/InputStream;Lsun/text/normalizer/Trie$DataManipulate;)V
         1: .line 68
            aload 0 /* this */
            invokevirtual sun.text.normalizer.CharTrie.isCharTrie:()Z
            ifne 5
         2: .line 69
            new java.lang.IllegalArgumentException
            dup
         3: .line 70
            ldc "Data given does not belong to a char trie."
         4: .line 69
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 72
      StackMap locals: sun.text.normalizer.CharTrie java.io.InputStream sun.text.normalizer.Trie$DataManipulate
      StackMap stack:
            return
        end local 2 // sun.text.normalizer.Trie$DataManipulate dataManipulate
        end local 1 // java.io.InputStream inputStream
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lsun/text/normalizer/CharTrie;
            0    6     1     inputStream  Ljava/io/InputStream;
            0    6     2  dataManipulate  Lsun/text/normalizer/Trie$DataManipulate;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      inputStream     
      dataManipulate  

  public final char getCodePointValue(int);
    descriptor: (I)C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // int ch
         0: .line 88
            iload 1 /* ch */
            iflt 5
            iload 1 /* ch */
            ldc 55296
            if_icmpge 5
         1: .line 90
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_index_:[C
            iload 1 /* ch */
            iconst_5
            ishr
            caload
            iconst_2
            ishl
         2: .line 91
            iload 1 /* ch */
            bipush 31
            iand
         3: .line 90
            iadd
            istore 2 /* offset */
        start local 2 // int offset
         4: .line 92
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 2 /* offset */
            caload
            ireturn
        end local 2 // int offset
         5: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual sun.text.normalizer.CharTrie.getCodePointOffset:(I)I
            istore 2 /* offset */
        start local 2 // int offset
         6: .line 100
            iload 2 /* offset */
            iflt 7
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 2 /* offset */
            caload
            goto 8
      StackMap locals: int
      StackMap stack:
         7: aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_initialValue_:C
      StackMap locals:
      StackMap stack: int
         8: ireturn
        end local 2 // int offset
        end local 1 // int ch
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/text/normalizer/CharTrie;
            0    9     1      ch  I
            4    5     2  offset  I
            6    9     2  offset  I
    MethodParameters:
      Name  Flags
      ch    

  public final char getLeadValue(char);
    descriptor: (C)C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // char ch
         0: .line 114
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual sun.text.normalizer.CharTrie.getLeadOffset:(C)I
            caload
            ireturn
        end local 1 // char ch
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/text/normalizer/CharTrie;
            0    1     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  protected final void unserialize(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // java.io.InputStream inputStream
         0: .line 128
            new java.io.DataInputStream
            dup
            aload 1 /* inputStream */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 2 /* input */
        start local 2 // java.io.DataInputStream input
         1: .line 129
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataOffset_:I
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataLength_:I
            iadd
            istore 3 /* indexDataLength */
        start local 3 // int indexDataLength
         2: .line 130
            aload 0 /* this */
            iload 3 /* indexDataLength */
            newarray 5
            putfield sun.text.normalizer.CharTrie.m_index_:[C
         3: .line 131
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 132
      StackMap locals: java.io.DataInputStream int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_index_:[C
            iload 4 /* i */
            aload 2 /* input */
            invokevirtual java.io.DataInputStream.readChar:()C
            castore
         6: .line 131
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* indexDataLength */
            if_icmplt 5
        end local 4 // int i
         8: .line 134
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_index_:[C
            putfield sun.text.normalizer.CharTrie.m_data_:[C
         9: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataOffset_:I
            caload
            putfield sun.text.normalizer.CharTrie.m_initialValue_:C
        10: .line 136
            return
        end local 3 // int indexDataLength
        end local 2 // java.io.DataInputStream input
        end local 1 // java.io.InputStream inputStream
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lsun/text/normalizer/CharTrie;
            0   11     1      inputStream  Ljava/io/InputStream;
            1   11     2            input  Ljava/io/DataInputStream;
            2   11     3  indexDataLength  I
            4    8     4                i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputStream  

  protected final int getSurrogateOffset(char, char);
    descriptor: (CC)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // char lead
        start local 2 // char trail
         0: .line 147
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            ifnonnull 4
         1: .line 148
            new java.lang.NullPointerException
            dup
         2: .line 149
            ldc "The field DataManipulate in this Trie is null"
         3: .line 148
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            aload 0 /* this */
            iload 1 /* lead */
            invokevirtual sun.text.normalizer.CharTrie.getLeadValue:(C)C
            invokeinterface sun.text.normalizer.Trie$DataManipulate.getFoldingOffset:(I)I
            istore 3 /* offset */
        start local 3 // int offset
         5: .line 156
            iload 3 /* offset */
            ifle 7
         6: .line 157
            aload 0 /* this */
            iload 3 /* offset */
            iload 2 /* trail */
            sipush 1023
            iand
            i2c
            invokevirtual sun.text.normalizer.CharTrie.getRawOffset:(IC)I
            ireturn
         7: .line 162
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // int offset
        end local 2 // char trail
        end local 1 // char lead
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/text/normalizer/CharTrie;
            0    8     1    lead  C
            0    8     2   trail  C
            5    8     3  offset  I
    MethodParameters:
       Name  Flags
      lead   
      trail  
}
SourceFile: "CharTrie.java"
InnerClasses:
  public abstract DataManipulate = sun.text.normalizer.Trie$DataManipulate of sun.text.normalizer.Trie