abstract class org.jcodings.specific.BaseUTF8Encoding extends org.jcodings.unicode.UnicodeEncoding
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.jcodings.specific.BaseUTF8Encoding
  super_class: org.jcodings.unicode.UnicodeEncoding
{
  static final boolean USE_INVALID_CODE_SCHEME;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

  protected void <init>(int[], int[][]);
    descriptor: ([I[[I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // int[] EncLen
        start local 2 // int[][] Trans
         0: .line 32
            aload 0 /* this */
            ldc "UTF-8"
            iconst_1
            iconst_4
            aload 1 /* EncLen */
            aload 2 /* Trans */
            invokespecial org.jcodings.unicode.UnicodeEncoding.<init>:(Ljava/lang/String;II[I[[I)V
         1: .line 33
            aload 0 /* this */
            iconst_1
            putfield org.jcodings.specific.BaseUTF8Encoding.isUTF8:Z
         2: .line 34
            return
        end local 2 // int[][] Trans
        end local 1 // int[] EncLen
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0    3     1  EncLen  [I
            0    3     2   Trans  [[I
    MethodParameters:
        Name  Flags
      EncLen  
      Trans   

  public java.lang.String getCharsetName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
         0: .line 38
            ldc "UTF-8"
            areturn
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcodings/specific/BaseUTF8Encoding;

  public boolean isNewLine(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 43
            iload 2 /* p */
            iload 3 /* end */
            if_icmpge 2
         1: .line 44
            aload 1 /* bytes */
            iload 2 /* p */
            baload
            bipush 10
            if_icmpne 2
            iconst_1
            ireturn
         2: .line 60
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0    3     1  bytes  [B
            0    3     2      p  I
            0    3     3    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  public int codeToMbcLength(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // int code
         0: .line 69
            iload 1 /* code */
            bipush -128
            iand
            ifne 2
         1: .line 70
            iconst_1
            ireturn
         2: .line 71
      StackMap locals:
      StackMap stack:
            iload 1 /* code */
            sipush -2048
            iand
            ifne 4
         3: .line 72
            iconst_2
            ireturn
         4: .line 73
      StackMap locals:
      StackMap stack:
            iload 1 /* code */
            ldc -65536
            iand
            ifne 6
         5: .line 74
            iconst_3
            ireturn
         6: .line 75
      StackMap locals:
      StackMap stack:
            iload 1 /* code */
            i2l
            ldc 4294967295
            land
            ldc 1114111
            lcmp
            ifgt 8
         7: .line 76
            iconst_4
            ireturn
         8: .line 77
      StackMap locals:
      StackMap stack:
            iload 1 /* code */
            bipush -2
            if_icmpne 10
         9: .line 78
            iconst_1
            ireturn
        10: .line 79
      StackMap locals:
      StackMap stack:
            iload 1 /* code */
            iconst_m1
            if_icmpne 12
        11: .line 80
            iconst_1
            ireturn
        12: .line 82
      StackMap locals:
      StackMap stack:
            sipush -401
            ireturn
        end local 1 // int code
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0   13     1  code  I
    MethodParameters:
      Name  Flags
      code  

  public int mbcToCode(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 88
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* p */
            iload 3 /* end */
            invokevirtual org.jcodings.specific.BaseUTF8Encoding.length:([BII)I
            istore 4 /* len */
        start local 4 // int len
         1: .line 90
            aload 1 /* bytes */
            iload 2 /* p */
            iinc 2 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
        start local 5 // int c
         2: .line 92
            iload 4 /* len */
            iconst_1
            if_icmple 10
         3: .line 93
            iinc 4 /* len */ -1
         4: .line 94
            iload 5 /* c */
            iconst_1
            bipush 6
            iload 4 /* len */
            isub
            ishl
            iconst_1
            isub
            iand
            istore 6 /* n */
        start local 6 // int n
         5: .line 95
            goto 8
         6: .line 96
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* p */
            iinc 2 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
         7: .line 97
            iload 6 /* n */
            bipush 6
            ishl
            iload 5 /* c */
            bipush 63
            iand
            ior
            istore 6 /* n */
         8: .line 95
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            iinc 4 /* len */ -1
            ifne 6
         9: .line 99
            iload 6 /* n */
            ireturn
        end local 6 // int n
        10: .line 102
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 253
            if_icmple 13
            iload 5 /* c */
            sipush 254
            if_icmpne 11
            bipush -2
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_m1
      StackMap locals:
      StackMap stack: int
        12: ireturn
        13: .line 104
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ireturn
        end local 5 // int c
        end local 4 // int len
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0   14     1  bytes  [B
            0   14     2      p  I
            0   14     3    end  I
            1   14     4    len  I
            2   14     5      c  I
            5   10     6      n  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  static byte trailS(int, int);
    descriptor: (II)B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int code
        start local 1 // int shift
         0: .line 109
            iload 0 /* code */
            iload 1 /* shift */
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            ireturn
        end local 1 // int shift
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   code  I
            0    1     1  shift  I
    MethodParameters:
       Name  Flags
      code   
      shift  

  static byte trail0(int);
    descriptor: (I)B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 113
            iload 0 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  code  I
    MethodParameters:
      Name  Flags
      code  

  public int codeToMbc(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // int code
        start local 2 // byte[] bytes
        start local 3 // int p
         0: .line 118
            iload 3 /* p */
            istore 4 /* p_ */
        start local 4 // int p_
         1: .line 119
            iload 1 /* code */
            bipush -128
            iand
            ifne 4
         2: .line 120
            aload 2 /* bytes */
            iload 4 /* p_ */
            iload 1 /* code */
            i2b
            bastore
         3: .line 121
            iconst_1
            ireturn
         4: .line 123
      StackMap locals: int
      StackMap stack:
            iload 1 /* code */
            sipush -2048
            iand
            ifne 7
         5: .line 124
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            bipush 6
            iushr
            bipush 31
            iand
            sipush 192
            ior
            i2b
            bastore
         6: .line 125
            goto 23
      StackMap locals:
      StackMap stack:
         7: iload 1 /* code */
            ldc -65536
            iand
            ifne 11
         8: .line 126
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            bipush 12
            iushr
            bipush 15
            iand
            sipush 224
            ior
            i2b
            bastore
         9: .line 127
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            bipush 6
            invokestatic org.jcodings.specific.BaseUTF8Encoding.trailS:(II)B
            bastore
        10: .line 128
            goto 23
      StackMap locals:
      StackMap stack:
        11: iload 1 /* code */
            i2l
            ldc 4294967295
            land
            ldc 1114111
            lcmp
            ifgt 16
        12: .line 129
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            bipush 18
            iushr
            bipush 7
            iand
            sipush 240
            ior
            i2b
            bastore
        13: .line 130
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            bipush 12
            invokestatic org.jcodings.specific.BaseUTF8Encoding.trailS:(II)B
            bastore
        14: .line 131
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            bipush 6
            invokestatic org.jcodings.specific.BaseUTF8Encoding.trailS:(II)B
            bastore
        15: .line 132
            goto 23
      StackMap locals:
      StackMap stack:
        16: iload 1 /* code */
            bipush -2
            if_icmpne 19
        17: .line 133
            aload 2 /* bytes */
            iload 4 /* p_ */
            bipush -2
            bastore
        18: .line 134
            iconst_1
            ireturn
        19: .line 135
      StackMap locals:
      StackMap stack:
            iload 1 /* code */
            iconst_m1
            if_icmpne 22
        20: .line 136
            aload 2 /* bytes */
            iload 4 /* p_ */
            iconst_m1
            bastore
        21: .line 137
            iconst_1
            ireturn
        22: .line 139
      StackMap locals:
      StackMap stack:
            sipush -401
            ireturn
        23: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            invokestatic org.jcodings.specific.BaseUTF8Encoding.trail0:(I)B
            bastore
        24: .line 142
            iload 4 /* p_ */
            iload 3 /* p */
            isub
            ireturn
        end local 4 // int p_
        end local 3 // int p
        end local 2 // byte[] bytes
        end local 1 // int code
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   25     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0   25     1   code  I
            0   25     2  bytes  [B
            0   25     3      p  I
            1   25     4     p_  I
    MethodParameters:
       Name  Flags
      code   
      bytes  
      p      

  public int mbcCaseFold(int, byte[], org.jcodings.IntHolder, int, byte[]);
    descriptor: (I[BLorg/jcodings/IntHolder;I[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // int flag
        start local 2 // byte[] bytes
        start local 3 // org.jcodings.IntHolder pp
        start local 4 // int end
        start local 5 // byte[] fold
         0: .line 149
            aload 3 /* pp */
            getfield org.jcodings.IntHolder.value:I
            istore 6 /* p */
        start local 6 // int p
         1: .line 150
            iconst_0
            istore 7 /* foldP */
        start local 7 // int foldP
         2: .line 152
            aload 2 /* bytes */
            iload 6 /* p */
            baload
            invokestatic org.jcodings.specific.BaseUTF8Encoding.isMbcAscii:(B)Z
            ifeq 6
         3: .line 165
            aload 5 /* fold */
            iload 7 /* foldP */
            getstatic org.jcodings.ascii.AsciiTables.ToLowerCaseTable:[B
            aload 2 /* bytes */
            iload 6 /* p */
            baload
            sipush 255
            iand
            baload
            bastore
         4: .line 166
            aload 3 /* pp */
            dup
            getfield org.jcodings.IntHolder.value:I
            iconst_1
            iadd
            putfield org.jcodings.IntHolder.value:I
         5: .line 167
            iconst_1
            ireturn
         6: .line 169
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* flag */
            aload 2 /* bytes */
            aload 3 /* pp */
            iload 4 /* end */
            aload 5 /* fold */
            invokespecial org.jcodings.unicode.UnicodeEncoding.mbcCaseFold:(I[BLorg/jcodings/IntHolder;I[B)I
            ireturn
        end local 7 // int foldP
        end local 6 // int p
        end local 5 // byte[] fold
        end local 4 // int end
        end local 3 // org.jcodings.IntHolder pp
        end local 2 // byte[] bytes
        end local 1 // int flag
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0    7     1   flag  I
            0    7     2  bytes  [B
            0    7     3     pp  Lorg/jcodings/IntHolder;
            0    7     4    end  I
            0    7     5   fold  [B
            1    7     6      p  I
            2    7     7  foldP  I
    MethodParameters:
       Name  Flags
      flag   
      bytes  
      pp     
      end    
      fold   

  public int[] ctypeCodeRange(int, org.jcodings.IntHolder);
    descriptor: (ILorg/jcodings/IntHolder;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // int ctype
        start local 2 // org.jcodings.IntHolder sbOut
         0: .line 177
            aload 2 /* sbOut */
            sipush 128
            putfield org.jcodings.IntHolder.value:I
         1: .line 178
            aload 0 /* this */
            iload 1 /* ctype */
            invokespecial org.jcodings.unicode.UnicodeEncoding.ctypeCodeRange:(I)[I
            areturn
        end local 2 // org.jcodings.IntHolder sbOut
        end local 1 // int ctype
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0    2     1  ctype  I
            0    2     2  sbOut  Lorg/jcodings/IntHolder;
    MethodParameters:
       Name  Flags
      ctype  
      sbOut  

  private static boolean utf8IsLead(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 182
            iload 0 /* c */
            sipush 192
            iand
            sipush 255
            iand
            sipush 128
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public int leftAdjustCharHead(byte[], int, int, int);
    descriptor: ([BIII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int s
        start local 4 // int end
         0: .line 189
            iload 3 /* s */
            iload 2 /* p */
            if_icmpgt 1
            iload 3 /* s */
            ireturn
         1: .line 190
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            istore 5 /* p_ */
        start local 5 // int p_
         2: .line 191
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iinc 5 /* p_ */ -1
      StackMap locals:
      StackMap stack:
         4: aload 1 /* bytes */
            iload 5 /* p_ */
            baload
            sipush 255
            iand
            invokestatic org.jcodings.specific.BaseUTF8Encoding.utf8IsLead:(I)Z
            ifne 5
            iload 5 /* p_ */
            iload 2 /* p */
            if_icmpgt 3
         5: .line 192
      StackMap locals:
      StackMap stack:
            iload 5 /* p_ */
            ireturn
        end local 5 // int p_
        end local 4 // int end
        end local 3 // int s
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0    6     1  bytes  [B
            0    6     2      p  I
            0    6     3      s  I
            0    6     4    end  I
            2    6     5     p_  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      s      
      end    

  public boolean isReverseMatchAllowed(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.jcodings.specific.BaseUTF8Encoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 199
            iconst_1
            ireturn
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.BaseUTF8Encoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jcodings/specific/BaseUTF8Encoding;
            0    1     1  bytes  [B
            0    1     2      p  I
            0    1     3    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    
}
SourceFile: "BaseUTF8Encoding.java"