public class android.text.TextDirectionHeuristics
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.TextDirectionHeuristics
  super_class: java.lang.Object
{
  public static final android.text.TextDirectionHeuristic LTR;
    descriptor: Landroid/text/TextDirectionHeuristic;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final android.text.TextDirectionHeuristic RTL;
    descriptor: Landroid/text/TextDirectionHeuristic;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final android.text.TextDirectionHeuristic FIRSTSTRONG_LTR;
    descriptor: Landroid/text/TextDirectionHeuristic;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final android.text.TextDirectionHeuristic FIRSTSTRONG_RTL;
    descriptor: Landroid/text/TextDirectionHeuristic;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final android.text.TextDirectionHeuristic ANYRTL_LTR;
    descriptor: Landroid/text/TextDirectionHeuristic;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final android.text.TextDirectionHeuristic LOCALE;
    descriptor: Landroid/text/TextDirectionHeuristic;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final int STATE_TRUE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int STATE_FALSE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int STATE_UNKNOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 41
            new android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal
            dup
            aconst_null
            iconst_0
            invokespecial android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal.<init>:(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Z)V
         1: .line 40
            putstatic android.text.TextDirectionHeuristics.LTR:Landroid/text/TextDirectionHeuristic;
         2: .line 47
            new android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal
            dup
            aconst_null
            iconst_1
            invokespecial android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal.<init>:(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Z)V
         3: .line 46
            putstatic android.text.TextDirectionHeuristics.RTL:Landroid/text/TextDirectionHeuristic;
         4: .line 55
            new android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal
            dup
            getstatic android.text.TextDirectionHeuristics$FirstStrong.INSTANCE:Landroid/text/TextDirectionHeuristics$FirstStrong;
            iconst_0
            invokespecial android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal.<init>:(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Z)V
         5: .line 54
            putstatic android.text.TextDirectionHeuristics.FIRSTSTRONG_LTR:Landroid/text/TextDirectionHeuristic;
         6: .line 63
            new android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal
            dup
            getstatic android.text.TextDirectionHeuristics$FirstStrong.INSTANCE:Landroid/text/TextDirectionHeuristics$FirstStrong;
            iconst_1
            invokespecial android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal.<init>:(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Z)V
         7: .line 62
            putstatic android.text.TextDirectionHeuristics.FIRSTSTRONG_RTL:Landroid/text/TextDirectionHeuristic;
         8: .line 70
            new android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal
            dup
            getstatic android.text.TextDirectionHeuristics$AnyStrong.INSTANCE_RTL:Landroid/text/TextDirectionHeuristics$AnyStrong;
            iconst_0
            invokespecial android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal.<init>:(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Z)V
         9: .line 69
            putstatic android.text.TextDirectionHeuristics.ANYRTL_LTR:Landroid/text/TextDirectionHeuristic;
        10: .line 75
            getstatic android.text.TextDirectionHeuristics$TextDirectionHeuristicLocale.INSTANCE:Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;
            putstatic android.text.TextDirectionHeuristics.LOCALE:Landroid/text/TextDirectionHeuristic;
        11: .line 82
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.TextDirectionHeuristics this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.text.TextDirectionHeuristics this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/TextDirectionHeuristics;

  private static int isRtlCodePoint(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int codePoint
         0: .line 88
            iload 0 /* codePoint */
            invokestatic java.lang.Character.getDirectionality:(I)B
            tableswitch { // -1 - 2
                   -1: 3
                    0: 1
                    1: 2
                    2: 2
              default: 19
          }
         1: .line 90
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 93
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 98
      StackMap locals:
      StackMap stack:
            sipush 1424
            iload 0 /* codePoint */
            if_icmpgt 4
            iload 0 /* codePoint */
            sipush 2303
            if_icmple 9
         4: .line 99
      StackMap locals:
      StackMap stack:
            ldc 64285
            iload 0 /* codePoint */
            if_icmpgt 5
            iload 0 /* codePoint */
            ldc 64975
            if_icmple 9
         5: .line 100
      StackMap locals:
      StackMap stack:
            ldc 65008
            iload 0 /* codePoint */
            if_icmpgt 6
            iload 0 /* codePoint */
            ldc 65023
            if_icmple 9
         6: .line 101
      StackMap locals:
      StackMap stack:
            ldc 65136
            iload 0 /* codePoint */
            if_icmpgt 7
            iload 0 /* codePoint */
            ldc 65279
            if_icmple 9
         7: .line 102
      StackMap locals:
      StackMap stack:
            ldc 67584
            iload 0 /* codePoint */
            if_icmpgt 8
            iload 0 /* codePoint */
            ldc 69631
            if_icmple 9
         8: .line 103
      StackMap locals:
      StackMap stack:
            ldc 124928
            iload 0 /* codePoint */
            if_icmpgt 10
            iload 0 /* codePoint */
            ldc 126975
            if_icmpgt 10
         9: .line 105
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        10: .line 110
      StackMap locals:
      StackMap stack:
            sipush 8293
            iload 0 /* codePoint */
            if_icmpgt 11
            iload 0 /* codePoint */
            sipush 8297
            if_icmple 17
        11: .line 111
      StackMap locals:
      StackMap stack:
            ldc 65520
            iload 0 /* codePoint */
            if_icmpgt 12
            iload 0 /* codePoint */
            ldc 65528
            if_icmple 17
        12: .line 112
      StackMap locals:
      StackMap stack:
            ldc 917504
            iload 0 /* codePoint */
            if_icmpgt 13
            iload 0 /* codePoint */
            ldc 921599
            if_icmple 17
        13: .line 114
      StackMap locals:
      StackMap stack:
            ldc 64976
            iload 0 /* codePoint */
            if_icmpgt 14
            iload 0 /* codePoint */
            ldc 65007
            if_icmple 17
        14: .line 115
      StackMap locals:
      StackMap stack:
            iload 0 /* codePoint */
            ldc 65534
            iand
            ldc 65534
            if_icmpeq 17
        15: .line 117
            sipush 8352
            iload 0 /* codePoint */
            if_icmpgt 16
            iload 0 /* codePoint */
            sipush 8399
            if_icmple 17
        16: .line 119
      StackMap locals:
      StackMap stack:
            ldc 55296
            iload 0 /* codePoint */
            if_icmpgt 18
            iload 0 /* codePoint */
            ldc 57343
            if_icmpgt 18
        17: .line 120
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        18: .line 123
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        19: .line 126
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 0 // int codePoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0  codePoint  I
    MethodParameters:
           Name  Flags
      codePoint  
}
SourceFile: "TextDirectionHeuristics.java"
NestMembers:
  android.text.TextDirectionHeuristics$AnyStrong  android.text.TextDirectionHeuristics$FirstStrong  android.text.TextDirectionHeuristics$TextDirectionAlgorithm  android.text.TextDirectionHeuristics$TextDirectionHeuristicImpl  android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal  android.text.TextDirectionHeuristics$TextDirectionHeuristicLocale
InnerClasses:
  private AnyStrong = android.text.TextDirectionHeuristics$AnyStrong of android.text.TextDirectionHeuristics
  private FirstStrong = android.text.TextDirectionHeuristics$FirstStrong of android.text.TextDirectionHeuristics
  private abstract TextDirectionAlgorithm = android.text.TextDirectionHeuristics$TextDirectionAlgorithm of android.text.TextDirectionHeuristics
  private abstract TextDirectionHeuristicImpl = android.text.TextDirectionHeuristics$TextDirectionHeuristicImpl of android.text.TextDirectionHeuristics
  private TextDirectionHeuristicInternal = android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal of android.text.TextDirectionHeuristics
  private TextDirectionHeuristicLocale = android.text.TextDirectionHeuristics$TextDirectionHeuristicLocale of android.text.TextDirectionHeuristics