public class jdk.internal.icu.impl.CharTrie extends jdk.internal.icu.impl.Trie
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.icu.impl.CharTrie
  super_class: jdk.internal.icu.impl.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, jdk.internal.icu.impl.Trie$DataManipulate);
    descriptor: (Ljava/io/InputStream;Ljdk/internal/icu/impl/Trie$DataManipulate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.internal.icu.impl.CharTrie this
        start local 1 // java.io.InputStream inputStream
        start local 2 // jdk.internal.icu.impl.Trie$DataManipulate dataManipulate
         0: .line 68
            aload 0 /* this */
            aload 1 /* inputStream */
            aload 2 /* dataManipulate */
            invokespecial jdk.internal.icu.impl.Trie.<init>:(Ljava/io/InputStream;Ljdk/internal/icu/impl/Trie$DataManipulate;)V
         1: .line 70
            aload 0 /* this */
            invokevirtual jdk.internal.icu.impl.CharTrie.isCharTrie:()Z
            ifne 5
         2: .line 71
            new java.lang.IllegalArgumentException
            dup
         3: .line 72
            ldc "Data given does not belong to a char trie."
         4: .line 71
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 74
      StackMap locals: jdk.internal.icu.impl.CharTrie java.io.InputStream jdk.internal.icu.impl.Trie$DataManipulate
      StackMap stack:
            return
        end local 2 // jdk.internal.icu.impl.Trie$DataManipulate dataManipulate
        end local 1 // java.io.InputStream inputStream
        end local 0 // jdk.internal.icu.impl.CharTrie this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Ljdk/internal/icu/impl/CharTrie;
            0    6     1     inputStream  Ljava/io/InputStream;
            0    6     2  dataManipulate  Ljdk/internal/icu/impl/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 // jdk.internal.icu.impl.CharTrie this
        start local 1 // int ch
         0: .line 90
            iload 1 /* ch */
            iflt 5
            iload 1 /* ch */
            ldc 55296
            if_icmpge 5
         1: .line 92
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_index_:[C
            iload 1 /* ch */
            iconst_5
            ishr
            caload
            iconst_2
            ishl
         2: .line 93
            iload 1 /* ch */
            bipush 31
            iand
         3: .line 92
            iadd
            istore 2 /* offset */
        start local 2 // int offset
         4: .line 94
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_data_:[C
            iload 2 /* offset */
            caload
            ireturn
        end local 2 // int offset
         5: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual jdk.internal.icu.impl.CharTrie.getCodePointOffset:(I)I
            istore 2 /* offset */
        start local 2 // int offset
         6: .line 102
            iload 2 /* offset */
            iflt 7
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_data_:[C
            iload 2 /* offset */
            caload
            goto 8
      StackMap locals: int
      StackMap stack:
         7: aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_initialValue_:C
      StackMap locals:
      StackMap stack: int
         8: ireturn
        end local 2 // int offset
        end local 1 // int ch
        end local 0 // jdk.internal.icu.impl.CharTrie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljdk/internal/icu/impl/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 // jdk.internal.icu.impl.CharTrie this
        start local 1 // char ch
         0: .line 116
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_data_:[C
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual jdk.internal.icu.impl.CharTrie.getLeadOffset:(C)I
            caload
            ireturn
        end local 1 // char ch
        end local 0 // jdk.internal.icu.impl.CharTrie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/icu/impl/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 // jdk.internal.icu.impl.CharTrie this
        start local 1 // java.io.InputStream inputStream
         0: .line 130
            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 131
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_dataOffset_:I
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_dataLength_:I
            iadd
            istore 3 /* indexDataLength */
        start local 3 // int indexDataLength
         2: .line 132
            aload 0 /* this */
            iload 3 /* indexDataLength */
            newarray 5
            putfield jdk.internal.icu.impl.CharTrie.m_index_:[C
         3: .line 133
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 134
      StackMap locals: java.io.DataInputStream int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_index_:[C
            iload 4 /* i */
            aload 2 /* input */
            invokevirtual java.io.DataInputStream.readChar:()C
            castore
         6: .line 133
            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 136
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_index_:[C
            putfield jdk.internal.icu.impl.CharTrie.m_data_:[C
         9: .line 137
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_data_:[C
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_dataOffset_:I
            caload
            putfield jdk.internal.icu.impl.CharTrie.m_initialValue_:C
        10: .line 138
            return
        end local 3 // int indexDataLength
        end local 2 // java.io.DataInputStream input
        end local 1 // java.io.InputStream inputStream
        end local 0 // jdk.internal.icu.impl.CharTrie this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Ljdk/internal/icu/impl/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 // jdk.internal.icu.impl.CharTrie this
        start local 1 // char lead
        start local 2 // char trail
         0: .line 149
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_dataManipulate_:Ljdk/internal/icu/impl/Trie$DataManipulate;
            ifnonnull 4
         1: .line 150
            new java.lang.NullPointerException
            dup
         2: .line 151
            ldc "The field DataManipulate in this Trie is null"
         3: .line 150
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.CharTrie.m_dataManipulate_:Ljdk/internal/icu/impl/Trie$DataManipulate;
            aload 0 /* this */
            iload 1 /* lead */
            invokevirtual jdk.internal.icu.impl.CharTrie.getLeadValue:(C)C
            invokeinterface jdk.internal.icu.impl.Trie$DataManipulate.getFoldingOffset:(I)I
            istore 3 /* offset */
        start local 3 // int offset
         5: .line 158
            iload 3 /* offset */
            ifle 7
         6: .line 159
            aload 0 /* this */
            iload 3 /* offset */
            iload 2 /* trail */
            sipush 1023
            iand
            i2c
            invokevirtual jdk.internal.icu.impl.CharTrie.getRawOffset:(IC)I
            ireturn
         7: .line 164
      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 // jdk.internal.icu.impl.CharTrie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/internal/icu/impl/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 = jdk.internal.icu.impl.Trie$DataManipulate of jdk.internal.icu.impl.Trie