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

  private sun.text.normalizer.CharTrie$FriendAgent m_friendAgent_;
    descriptor: Lsun/text/normalizer/CharTrie$FriendAgent;
    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=4, 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 70
            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 72
            aload 0 /* this */
            invokevirtual sun.text.normalizer.CharTrie.isCharTrie:()Z
            ifne 5
         2: .line 73
            new java.lang.IllegalArgumentException
            dup
         3: .line 74
            ldc "Data given does not belong to a char trie."
         4: .line 73
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 76
      StackMap locals: sun.text.normalizer.CharTrie java.io.InputStream sun.text.normalizer.Trie$DataManipulate
      StackMap stack:
            aload 0 /* this */
            new sun.text.normalizer.CharTrie$FriendAgent
            dup
            aload 0 /* this */
            invokespecial sun.text.normalizer.CharTrie$FriendAgent.<init>:(Lsun/text/normalizer/CharTrie;)V
            putfield sun.text.normalizer.CharTrie.m_friendAgent_:Lsun/text/normalizer/CharTrie$FriendAgent;
         6: .line 77
            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    7     0            this  Lsun/text/normalizer/CharTrie;
            0    7     1     inputStream  Ljava/io/InputStream;
            0    7     2  dataManipulate  Lsun/text/normalizer/Trie$DataManipulate;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      inputStream     
      dataManipulate  

  public void <init>(int, int, sun.text.normalizer.Trie$DataManipulate);
    descriptor: (IILsun/text/normalizer/Trie$DataManipulate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // int initialValue
        start local 2 // int leadUnitValue
        start local 3 // sun.text.normalizer.Trie$DataManipulate dataManipulate
         0: .line 94
            aload 0 /* this */
            sipush 2080
            newarray 5
            sipush 512
            aload 3 /* dataManipulate */
            invokespecial sun.text.normalizer.Trie.<init>:([CILsun/text/normalizer/Trie$DataManipulate;)V
         1: .line 102
            sipush 256
            dup
            istore 5 /* latin1Length */
        start local 5 // int latin1Length
         2: istore 4 /* dataLength */
        start local 4 // int dataLength
         3: .line 103
            iload 2 /* leadUnitValue */
            iload 1 /* initialValue */
            if_icmpeq 5
         4: .line 104
            iinc 4 /* dataLength */ 32
         5: .line 106
      StackMap locals: sun.text.normalizer.CharTrie int int sun.text.normalizer.Trie$DataManipulate int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* dataLength */
            newarray 5
            putfield sun.text.normalizer.CharTrie.m_data_:[C
         6: .line 107
            aload 0 /* this */
            iload 4 /* dataLength */
            putfield sun.text.normalizer.CharTrie.m_dataLength_:I
         7: .line 109
            aload 0 /* this */
            iload 1 /* initialValue */
            i2c
            putfield sun.text.normalizer.CharTrie.m_initialValue_:C
         8: .line 116
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 117
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 6 /* i */
            iload 1 /* initialValue */
            i2c
            castore
        11: .line 116
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 5 /* latin1Length */
            if_icmplt 10
        13: .line 120
            iload 2 /* leadUnitValue */
            iload 1 /* initialValue */
            if_icmpeq 26
        14: .line 122
            iload 5 /* latin1Length */
            iconst_2
            ishr
            i2c
            istore 8 /* block */
        start local 8 // char block
        15: .line 123
            sipush 1728
            istore 6 /* i */
        16: .line 124
            sipush 1760
            istore 7 /* limit */
        start local 7 // int limit
        17: .line 125
            goto 20
        18: .line 126
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_index_:[C
            iload 6 /* i */
            iload 8 /* block */
            castore
        19: .line 125
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 7 /* limit */
            if_icmplt 18
        21: .line 130
            iload 5 /* latin1Length */
            bipush 32
            iadd
            istore 7 /* limit */
        22: .line 131
            iload 5 /* latin1Length */
            istore 6 /* i */
            goto 25
        23: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 6 /* i */
            iload 2 /* leadUnitValue */
            i2c
            castore
        24: .line 131
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 6 /* i */
            iload 7 /* limit */
            if_icmplt 23
        end local 8 // char block
        end local 7 // int limit
        26: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.text.normalizer.CharTrie$FriendAgent
            dup
            aload 0 /* this */
            invokespecial sun.text.normalizer.CharTrie$FriendAgent.<init>:(Lsun/text/normalizer/CharTrie;)V
            putfield sun.text.normalizer.CharTrie.m_friendAgent_:Lsun/text/normalizer/CharTrie$FriendAgent;
        27: .line 137
            return
        end local 6 // int i
        end local 5 // int latin1Length
        end local 4 // int dataLength
        end local 3 // sun.text.normalizer.Trie$DataManipulate dataManipulate
        end local 2 // int leadUnitValue
        end local 1 // int initialValue
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   28     0            this  Lsun/text/normalizer/CharTrie;
            0   28     1    initialValue  I
            0   28     2   leadUnitValue  I
            0   28     3  dataManipulate  Lsun/text/normalizer/Trie$DataManipulate;
            3   28     4      dataLength  I
            2   28     5    latin1Length  I
            9   28     6               i  I
           17   26     7           limit  I
           15   26     8           block  C
    MethodParameters:
                Name  Flags
      initialValue    
      leadUnitValue   
      dataManipulate  

  public void putIndexData(sun.text.normalizer.UCharacterProperty);
    descriptor: (Lsun/text/normalizer/UCharacterProperty;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // sun.text.normalizer.UCharacterProperty friend
         0: .line 179
            aload 1 /* friend */
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_friendAgent_:Lsun/text/normalizer/CharTrie$FriendAgent;
            invokevirtual sun.text.normalizer.UCharacterProperty.setIndexData:(Lsun/text/normalizer/CharTrie$FriendAgent;)V
         1: .line 180
            return
        end local 1 // sun.text.normalizer.UCharacterProperty friend
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/text/normalizer/CharTrie;
            0    2     1  friend  Lsun/text/normalizer/UCharacterProperty;
    MethodParameters:
        Name  Flags
      friend  

  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 195
            iload 1 /* ch */
            iflt 5
            iload 1 /* ch */
            ldc 55296
            if_icmpge 5
         1: .line 197
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_index_:[C
            iload 1 /* ch */
            iconst_5
            ishr
            caload
            iconst_2
            ishl
         2: .line 198
            iload 1 /* ch */
            bipush 31
            iand
         3: .line 197
            iadd
            istore 2 /* offset */
        start local 2 // int offset
         4: .line 199
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 2 /* offset */
            caload
            ireturn
        end local 2 // int offset
         5: .line 203
      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 207
            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 222
            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    

  public final char getSurrogateValue(char, char);
    descriptor: (CC)C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, 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 233
            aload 0 /* this */
            iload 1 /* lead */
            iload 2 /* trail */
            invokevirtual sun.text.normalizer.CharTrie.getSurrogateOffset:(CC)I
            istore 3 /* offset */
        start local 3 // int offset
         1: .line 234
            iload 3 /* offset */
            ifle 3
         2: .line 235
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 3 /* offset */
            caload
            ireturn
         3: .line 237
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_initialValue_:C
            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    4     0    this  Lsun/text/normalizer/CharTrie;
            0    4     1    lead  C
            0    4     2   trail  C
            1    4     3  offset  I
    MethodParameters:
       Name  Flags
      lead   
      trail  

  public final char getTrailValue(int, char);
    descriptor: (IC)C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // int leadvalue
        start local 2 // char trail
         0: .line 252
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            ifnonnull 4
         1: .line 253
            new java.lang.NullPointerException
            dup
         2: .line 254
            ldc "The field DataManipulate in this Trie is null"
         3: .line 253
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            iload 1 /* leadvalue */
            invokeinterface sun.text.normalizer.Trie$DataManipulate.getFoldingOffset:(I)I
            istore 3 /* offset */
        start local 3 // int offset
         5: .line 257
            iload 3 /* offset */
            ifle 9
         6: .line 258
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            aload 0 /* this */
            iload 3 /* offset */
         7: .line 259
            iload 2 /* trail */
            sipush 1023
            iand
            i2c
         8: .line 258
            invokevirtual sun.text.normalizer.CharTrie.getRawOffset:(IC)I
            caload
            ireturn
         9: .line 261
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_initialValue_:C
            ireturn
        end local 3 // int offset
        end local 2 // char trail
        end local 1 // int leadvalue
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lsun/text/normalizer/CharTrie;
            0   10     1  leadvalue  I
            0   10     2      trail  C
            5   10     3     offset  I
    MethodParameters:
           Name  Flags
      leadvalue  
      trail      

  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 275
            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 276
            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 277
            aload 0 /* this */
            iload 3 /* indexDataLength */
            newarray 5
            putfield sun.text.normalizer.CharTrie.m_index_:[C
         3: .line 278
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 279
      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 278
            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 281
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_index_:[C
            putfield sun.text.normalizer.CharTrie.m_data_:[C
         9: .line 282
            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 283
            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 294
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            ifnonnull 4
         1: .line 295
            new java.lang.NullPointerException
            dup
         2: .line 296
            ldc "The field DataManipulate in this Trie is null"
         3: .line 295
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 300
      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 303
            iload 3 /* offset */
            ifle 7
         6: .line 304
            aload 0 /* this */
            iload 3 /* offset */
            iload 2 /* trail */
            sipush 1023
            iand
            i2c
            invokevirtual sun.text.normalizer.CharTrie.getRawOffset:(IC)I
            ireturn
         7: .line 309
      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  

  protected final int getValue(int);
    descriptor: (I)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.text.normalizer.CharTrie this
        start local 1 // int index
         0: .line 322
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_data_:[C
            iload 1 /* index */
            caload
            ireturn
        end local 1 // int index
        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  index  I
    MethodParameters:
       Name  Flags
      index  

  protected final int getInitialValue();
    descriptor: ()I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.text.normalizer.CharTrie this
         0: .line 332
            aload 0 /* this */
            getfield sun.text.normalizer.CharTrie.m_initialValue_:C
            ireturn
        end local 0 // sun.text.normalizer.CharTrie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/text/normalizer/CharTrie;
}
SourceFile: "CharTrie.java"
NestMembers:
  sun.text.normalizer.CharTrie$FriendAgent
InnerClasses:
  public FriendAgent = sun.text.normalizer.CharTrie$FriendAgent of sun.text.normalizer.CharTrie
  public abstract DataManipulate = sun.text.normalizer.Trie$DataManipulate of sun.text.normalizer.Trie