public class android.text.BidiFormatter$DirectionalityEstimator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.BidiFormatter$DirectionalityEstimator
  super_class: java.lang.Object
{
  private static final int DIR_TYPE_CACHE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1792

  private static final byte[] DIR_TYPE_CACHE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.CharSequence text;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isHtml;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int length;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private char lastChar;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 597
            sipush 1792
            newarray 8
            putstatic android.text.BidiFormatter$DirectionalityEstimator.DIR_TYPE_CACHE:[B
         1: .line 598
            iconst_0
            istore 0 /* i */
        start local 0 // int i
         2: goto 5
         3: .line 601
      StackMap locals: int
      StackMap stack:
            getstatic android.text.BidiFormatter$DirectionalityEstimator.DIR_TYPE_CACHE:[B
            iload 0 /* i */
            iload 0 /* i */
            invokestatic java.lang.Character.getDirectionality:(I)B
            bastore
         4: .line 598
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 0 /* i */
            sipush 1792
            if_icmplt 3
        end local 0 // int i
         6: .line 603
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    6     0     i  I

  public static byte getDirectionality(int);
    descriptor: (I)B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int codePoint
         0: .line 610
            iload 0 /* codePoint */
            invokestatic android.text.Emoji.isNewEmoji:(I)Z
            ifeq 2
         1: .line 612
            bipush 13
            ireturn
         2: .line 614
      StackMap locals:
      StackMap stack:
            iload 0 /* codePoint */
            invokestatic java.lang.Character.getDirectionality:(I)B
            ireturn
        end local 0 // int codePoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  codePoint  I
    MethodParameters:
           Name  Flags
      codePoint  

  void <init>(java.lang.CharSequence, boolean);
    descriptor: (Ljava/lang/CharSequence;Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
        start local 1 // java.lang.CharSequence text
        start local 2 // boolean isHtml
         0: .line 656
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 657
            aload 0 /* this */
            aload 1 /* text */
            putfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
         2: .line 658
            aload 0 /* this */
            iload 2 /* isHtml */
            putfield android.text.BidiFormatter$DirectionalityEstimator.isHtml:Z
         3: .line 659
            aload 0 /* this */
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            putfield android.text.BidiFormatter$DirectionalityEstimator.length:I
         4: .line 660
            return
        end local 2 // boolean isHtml
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            0    5     1    text  Ljava/lang/CharSequence;
            0    5     2  isHtml  Z
    MethodParameters:
        Name  Flags
      text    
      isHtml  

  int getEntryDir();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 674
            aload 0 /* this */
            iconst_0
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         1: .line 675
            iconst_0
            istore 1 /* embeddingLevel */
        start local 1 // int embeddingLevel
         2: .line 676
            iconst_0
            istore 2 /* embeddingLevelDir */
        start local 2 // int embeddingLevelDir
         3: .line 677
            iconst_0
            istore 3 /* firstNonEmptyEmbeddingLevel */
        start local 3 // int firstNonEmptyEmbeddingLevel
         4: .line 678
            goto 25
         5: .line 679
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.dirTypeForward:()B
            tableswitch { // 0 - 18
                    0: 16
                    1: 20
                    2: 20
                    3: 24
                    4: 24
                    5: 24
                    6: 24
                    7: 24
                    8: 24
                    9: 15
                   10: 24
                   11: 24
                   12: 24
                   13: 24
                   14: 6
                   15: 6
                   16: 9
                   17: 9
                   18: 12
              default: 24
          }
         6: .line 682
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ 1
         7: .line 683
            iconst_m1
            istore 2 /* embeddingLevelDir */
         8: .line 684
            goto 25
         9: .line 687
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ 1
        10: .line 688
            iconst_1
            istore 2 /* embeddingLevelDir */
        11: .line 689
            goto 25
        12: .line 691
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ -1
        13: .line 695
            iconst_0
            istore 2 /* embeddingLevelDir */
        14: .line 696
            goto 25
        15: .line 698
      StackMap locals:
      StackMap stack:
            goto 25
        16: .line 700
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            ifne 18
        17: .line 701
            iconst_m1
            ireturn
        18: .line 703
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            istore 3 /* firstNonEmptyEmbeddingLevel */
        19: .line 704
            goto 25
        20: .line 707
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            ifne 22
        21: .line 708
            iconst_1
            ireturn
        22: .line 710
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            istore 3 /* firstNonEmptyEmbeddingLevel */
        23: .line 711
            goto 25
        24: .line 713
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            istore 3 /* firstNonEmptyEmbeddingLevel */
        25: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.length:I
            if_icmpge 26
            iload 3 /* firstNonEmptyEmbeddingLevel */
            ifeq 5
        26: .line 720
      StackMap locals:
      StackMap stack:
            iload 3 /* firstNonEmptyEmbeddingLevel */
            ifne 28
        27: .line 723
            iconst_0
            ireturn
        28: .line 727
      StackMap locals:
      StackMap stack:
            iload 2 /* embeddingLevelDir */
            ifeq 40
        29: .line 729
            iload 2 /* embeddingLevelDir */
            ireturn
        30: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.dirTypeBackward:()B
            tableswitch { // 14 - 18
                   14: 31
                   15: 31
                   16: 35
                   17: 35
                   18: 39
              default: 40
          }
        31: .line 738
      StackMap locals:
      StackMap stack:
            iload 3 /* firstNonEmptyEmbeddingLevel */
            iload 1 /* embeddingLevel */
            if_icmpne 33
        32: .line 739
            iconst_m1
            ireturn
        33: .line 741
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ -1
        34: .line 742
            goto 40
        35: .line 745
      StackMap locals:
      StackMap stack:
            iload 3 /* firstNonEmptyEmbeddingLevel */
            iload 1 /* embeddingLevel */
            if_icmpne 37
        36: .line 746
            iconst_1
            ireturn
        37: .line 748
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ -1
        38: .line 749
            goto 40
        39: .line 751
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ 1
        40: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            ifgt 30
        41: .line 756
            iconst_0
            ireturn
        end local 3 // int firstNonEmptyEmbeddingLevel
        end local 2 // int embeddingLevelDir
        end local 1 // int embeddingLevel
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   42     0                         this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            2   42     1               embeddingLevel  I
            3   42     2            embeddingLevelDir  I
            4   42     3  firstNonEmptyEmbeddingLevel  I

  int getExitDir();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 772
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.length:I
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         1: .line 773
            iconst_0
            istore 1 /* embeddingLevel */
        start local 1 // int embeddingLevel
         2: .line 774
            iconst_0
            istore 2 /* lastNonEmptyEmbeddingLevel */
        start local 2 // int lastNonEmptyEmbeddingLevel
         3: .line 775
            goto 28
         4: .line 776
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.dirTypeBackward:()B
            tableswitch { // 0 - 18
                    0: 5
                    1: 14
                    2: 14
                    3: 26
                    4: 26
                    5: 26
                    6: 26
                    7: 26
                    8: 26
                    9: 25
                   10: 26
                   11: 26
                   12: 26
                   13: 26
                   14: 10
                   15: 10
                   16: 19
                   17: 19
                   18: 23
              default: 26
          }
         5: .line 778
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            ifne 7
         6: .line 779
            iconst_m1
            ireturn
         7: .line 781
      StackMap locals:
      StackMap stack:
            iload 2 /* lastNonEmptyEmbeddingLevel */
            ifne 28
         8: .line 782
            iload 1 /* embeddingLevel */
            istore 2 /* lastNonEmptyEmbeddingLevel */
         9: .line 784
            goto 28
        10: .line 787
      StackMap locals:
      StackMap stack:
            iload 2 /* lastNonEmptyEmbeddingLevel */
            iload 1 /* embeddingLevel */
            if_icmpne 12
        11: .line 788
            iconst_m1
            ireturn
        12: .line 790
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ -1
        13: .line 791
            goto 28
        14: .line 794
      StackMap locals:
      StackMap stack:
            iload 1 /* embeddingLevel */
            ifne 16
        15: .line 795
            iconst_1
            ireturn
        16: .line 797
      StackMap locals:
      StackMap stack:
            iload 2 /* lastNonEmptyEmbeddingLevel */
            ifne 28
        17: .line 798
            iload 1 /* embeddingLevel */
            istore 2 /* lastNonEmptyEmbeddingLevel */
        18: .line 800
            goto 28
        19: .line 803
      StackMap locals:
      StackMap stack:
            iload 2 /* lastNonEmptyEmbeddingLevel */
            iload 1 /* embeddingLevel */
            if_icmpne 21
        20: .line 804
            iconst_1
            ireturn
        21: .line 806
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ -1
        22: .line 807
            goto 28
        23: .line 809
      StackMap locals:
      StackMap stack:
            iinc 1 /* embeddingLevel */ 1
        24: .line 810
            goto 28
        25: .line 812
      StackMap locals:
      StackMap stack:
            goto 28
        26: .line 814
      StackMap locals:
      StackMap stack:
            iload 2 /* lastNonEmptyEmbeddingLevel */
            ifne 28
        27: .line 815
            iload 1 /* embeddingLevel */
            istore 2 /* lastNonEmptyEmbeddingLevel */
        28: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            ifgt 4
        29: .line 820
            iconst_0
            ireturn
        end local 2 // int lastNonEmptyEmbeddingLevel
        end local 1 // int embeddingLevel
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   30     0                        this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            2   30     1              embeddingLevel  I
            3   30     2  lastNonEmptyEmbeddingLevel  I

  private static byte getCachedDirectionality(char);
    descriptor: (C)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 831
            iload 0 /* c */
            sipush 1792
            if_icmpge 1
            getstatic android.text.BidiFormatter$DirectionalityEstimator.DIR_TYPE_CACHE:[B
            iload 0 /* c */
            baload
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* c */
            invokestatic android.text.BidiFormatter$DirectionalityEstimator.getDirectionality:(I)B
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     

  byte dirTypeForward();
    descriptor: ()B
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 844
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
         1: .line 845
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 5
         2: .line 846
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
            istore 1 /* codePoint */
        start local 1 // int codePoint
         3: .line 847
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iload 1 /* codePoint */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         4: .line 848
            iload 1 /* codePoint */
            invokestatic android.text.BidiFormatter$DirectionalityEstimator.getDirectionality:(I)B
            ireturn
        end local 1 // int codePoint
         5: .line 850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iconst_1
            iadd
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         6: .line 851
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            invokestatic android.text.BidiFormatter$DirectionalityEstimator.getCachedDirectionality:(C)B
            istore 1 /* dirType */
        start local 1 // byte dirType
         7: .line 852
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.isHtml:Z
            ifeq 13
         8: .line 854
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 60
            if_icmpne 11
         9: .line 855
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.skipTagForward:()B
            istore 1 /* dirType */
        10: .line 856
            goto 13
      StackMap locals: int
      StackMap stack:
        11: aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 38
            if_icmpne 13
        12: .line 857
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.skipEntityForward:()B
            istore 1 /* dirType */
        13: .line 860
      StackMap locals:
      StackMap stack:
            iload 1 /* dirType */
            ireturn
        end local 1 // byte dirType
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            3    5     1  codePoint  I
            7   14     1    dirType  B

  byte dirTypeBackward();
    descriptor: ()B
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 874
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
         1: .line 875
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 5
         2: .line 876
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokestatic java.lang.Character.codePointBefore:(Ljava/lang/CharSequence;I)I
            istore 1 /* codePoint */
        start local 1 // int codePoint
         3: .line 877
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iload 1 /* codePoint */
            invokestatic java.lang.Character.charCount:(I)I
            isub
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         4: .line 878
            iload 1 /* codePoint */
            invokestatic android.text.BidiFormatter$DirectionalityEstimator.getDirectionality:(I)B
            ireturn
        end local 1 // int codePoint
         5: .line 880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iconst_1
            isub
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         6: .line 881
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            invokestatic android.text.BidiFormatter$DirectionalityEstimator.getCachedDirectionality:(C)B
            istore 1 /* dirType */
        start local 1 // byte dirType
         7: .line 882
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.isHtml:Z
            ifeq 13
         8: .line 884
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 62
            if_icmpne 11
         9: .line 885
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.skipTagBackward:()B
            istore 1 /* dirType */
        10: .line 886
            goto 13
      StackMap locals: int
      StackMap stack:
        11: aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 59
            if_icmpne 13
        12: .line 887
            aload 0 /* this */
            invokevirtual android.text.BidiFormatter$DirectionalityEstimator.skipEntityBackward:()B
            istore 1 /* dirType */
        13: .line 890
      StackMap locals:
      StackMap stack:
            iload 1 /* dirType */
            ireturn
        end local 1 // byte dirType
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            3    5     1  codePoint  I
            7   14     1    dirType  B

  private byte skipTagForward();
    descriptor: ()B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 900
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            istore 1 /* initialCharIndex */
        start local 1 // int initialCharIndex
         1: .line 901
            goto 8
         2: .line 902
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            dup_x1
            iconst_1
            iadd
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
         3: .line 903
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 62
            if_icmpne 5
         4: .line 905
            bipush 12
            ireturn
         5: .line 907
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 34
            if_icmpeq 6
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 39
            if_icmpne 8
         6: .line 909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            istore 2 /* quote */
        start local 2 // char quote
         7: .line 910
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.length:I
            if_icmpge 8
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            dup_x1
            iconst_1
            iadd
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            dup_x1
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            iload 2 /* quote */
            if_icmpne 7
        end local 2 // char quote
         8: .line 901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.length:I
            if_icmplt 2
         9: .line 914
            aload 0 /* this */
            iload 1 /* initialCharIndex */
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
        10: .line 915
            aload 0 /* this */
            bipush 60
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
        11: .line 916
            bipush 13
            ireturn
        end local 1 // int initialCharIndex
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            1   12     1  initialCharIndex  I
            7    8     2             quote  C

  private byte skipTagBackward();
    descriptor: ()B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 929
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            istore 1 /* initialCharIndex */
        start local 1 // int initialCharIndex
         1: .line 930
            goto 10
         2: .line 931
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iconst_1
            isub
            dup_x1
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
         3: .line 932
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 60
            if_icmpne 5
         4: .line 934
            bipush 12
            ireturn
         5: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 62
            if_icmpne 7
         6: .line 937
            goto 11
         7: .line 939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 34
            if_icmpeq 8
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 39
            if_icmpne 10
         8: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            istore 2 /* quote */
        start local 2 // char quote
         9: .line 942
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            ifle 10
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iconst_1
            isub
            dup_x1
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            dup_x1
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            iload 2 /* quote */
            if_icmpne 9
        end local 2 // char quote
        10: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            ifgt 2
        11: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* initialCharIndex */
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
        12: .line 947
            aload 0 /* this */
            bipush 62
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
        13: .line 948
            bipush 13
            ireturn
        end local 1 // int initialCharIndex
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            1   14     1  initialCharIndex  I
            9   10     2             quote  C

  private byte skipEntityForward();
    descriptor: ()B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.length:I
            if_icmpge 1
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            dup_x1
            iconst_1
            iadd
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            dup_x1
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 59
            if_icmpne 0
         1: .line 958
      StackMap locals:
      StackMap stack:
            bipush 12
            ireturn
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/BidiFormatter$DirectionalityEstimator;

  private byte skipEntityBackward();
    descriptor: ()B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // android.text.BidiFormatter$DirectionalityEstimator this
         0: .line 972
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            istore 1 /* initialCharIndex */
        start local 1 // int initialCharIndex
         1: .line 973
            goto 7
         2: .line 974
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.text:Ljava/lang/CharSequence;
            aload 0 /* this */
            dup
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            iconst_1
            isub
            dup_x1
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
         3: .line 975
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 38
            if_icmpne 5
         4: .line 976
            bipush 12
            ireturn
         5: .line 978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
            bipush 59
            if_icmpne 7
         6: .line 979
            goto 8
         7: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
            ifgt 2
         8: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* initialCharIndex */
            putfield android.text.BidiFormatter$DirectionalityEstimator.charIndex:I
         9: .line 983
            aload 0 /* this */
            bipush 59
            putfield android.text.BidiFormatter$DirectionalityEstimator.lastChar:C
        10: .line 984
            bipush 13
            ireturn
        end local 1 // int initialCharIndex
        end local 0 // android.text.BidiFormatter$DirectionalityEstimator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Landroid/text/BidiFormatter$DirectionalityEstimator;
            1   11     1  initialCharIndex  I
}
SourceFile: "BidiFormatter.java"
NestHost: android.text.BidiFormatter
InnerClasses:
  public DirectionalityEstimator = android.text.BidiFormatter$DirectionalityEstimator of android.text.BidiFormatter
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()