public abstract class org.jcodings.unicode.FixedWidthUnicodeEncoding extends org.jcodings.unicode.UnicodeEncoding
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jcodings.unicode.FixedWidthUnicodeEncoding
  super_class: org.jcodings.unicode.UnicodeEncoding
{
  protected final int shift;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // java.lang.String name
        start local 2 // int width
         0: .line 29
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* width */
            iload 2 /* width */
            aconst_null
            invokespecial org.jcodings.unicode.UnicodeEncoding.<init>:(Ljava/lang/String;II[I)V
         1: .line 30
            aload 0 /* this */
            iload 2 /* width */
            invokestatic org.jcodings.unicode.FixedWidthUnicodeEncoding.log2:(I)I
            putfield org.jcodings.unicode.FixedWidthUnicodeEncoding.shift:I
         2: .line 31
            return
        end local 2 // int width
        end local 1 // java.lang.String name
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    3     1   name  Ljava/lang/String;
            0    3     2  width  I
    MethodParameters:
       Name  Flags
      name   
      width  

  public final int length(byte);
    descriptor: (B)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // byte c
         0: .line 35
            aload 0 /* this */
            getfield org.jcodings.unicode.FixedWidthUnicodeEncoding.minLength:I
            ireturn
        end local 1 // byte c
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    1     1     c  B
    MethodParameters:
      Name  Flags
      c     

  public int length(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int e
         0: .line 40
            iload 3 /* e */
            iload 2 /* p */
            if_icmpge 2
         1: .line 41
            invokestatic org.jcodings.util.Macros.CONSTRUCT_MBCLEN_INVALID:()I
            ireturn
         2: .line 42
      StackMap locals:
      StackMap stack:
            iload 3 /* e */
            iload 2 /* p */
            isub
            iconst_4
            if_icmpge 4
         3: .line 43
            iconst_4
            iload 3 /* e */
            isub
            iload 2 /* p */
            isub
            invokestatic org.jcodings.util.Macros.CONSTRUCT_MBCLEN_NEEDMORE:(I)I
            ireturn
         4: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* p */
            iload 3 /* e */
            invokevirtual org.jcodings.unicode.FixedWidthUnicodeEncoding.mbcToCode:([BII)I
            istore 4 /* c */
        start local 4 // int c
         5: .line 46
            iload 4 /* c */
            invokestatic org.jcodings.util.Macros.UNICODE_VALID_CODEPOINT_P:(I)Z
            ifne 7
         6: .line 47
            invokestatic org.jcodings.util.Macros.CONSTRUCT_MBCLEN_INVALID:()I
            ireturn
         7: .line 49
      StackMap locals: int
      StackMap stack:
            iconst_4
            invokestatic org.jcodings.util.Macros.CONSTRUCT_MBCLEN_CHARFOUND:(I)I
            ireturn
        end local 4 // int c
        end local 3 // int e
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    8     1  bytes  [B
            0    8     2      p  I
            0    8     3      e  I
            5    8     4      c  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      e      

  public final int strLength(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 55
            iload 3 /* end */
            iload 2 /* p */
            isub
            aload 0 /* this */
            getfield org.jcodings.unicode.FixedWidthUnicodeEncoding.shift:I
            iushr
            ireturn
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    1     1  bytes  [B
            0    1     2      p  I
            0    1     3    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  public final int strCodeAt(byte[], int, int, int);
    descriptor: ([BIII)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
        start local 4 // int index
         0: .line 60
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* p */
            iload 4 /* index */
            aload 0 /* this */
            getfield org.jcodings.unicode.FixedWidthUnicodeEncoding.shift:I
            ishl
            iadd
            iload 3 /* end */
            invokevirtual org.jcodings.unicode.FixedWidthUnicodeEncoding.mbcToCode:([BII)I
            ireturn
        end local 4 // int index
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    1     1  bytes  [B
            0    1     2      p  I
            0    1     3    end  I
            0    1     4  index  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    
      index  

  public final int codeToMbcLength(int);
    descriptor: (I)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // int code
         0: .line 65
            aload 0 /* this */
            getfield org.jcodings.unicode.FixedWidthUnicodeEncoding.minLength:I
            ireturn
        end local 1 // int code
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    1     1  code  I
    MethodParameters:
      Name  Flags
      code  

  public final int[] ctypeCodeRange(int, org.jcodings.IntHolder);
    descriptor: (ILorg/jcodings/IntHolder;)[I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // int ctype
        start local 2 // org.jcodings.IntHolder sbOut
         0: .line 72
            aload 2 /* sbOut */
            iconst_0
            putfield org.jcodings.IntHolder.value:I
         1: .line 73
            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.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    2     1  ctype  I
            0    2     2  sbOut  Lorg/jcodings/IntHolder;
    MethodParameters:
       Name  Flags
      ctype  
      sbOut  

  public final int leftAdjustCharHead(byte[], int, int, int);
    descriptor: ([BIII)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int s
        start local 4 // int end
         0: .line 78
            iload 3 /* s */
            iload 2 /* p */
            if_icmpgt 1
            iload 3 /* s */
            ireturn
         1: .line 79
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            iload 3 /* s */
            iload 2 /* p */
            isub
            aload 0 /* this */
            getfield org.jcodings.unicode.FixedWidthUnicodeEncoding.maxLength:I
            irem
            isub
            ireturn
        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.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    2     1  bytes  [B
            0    2     2      p  I
            0    2     3      s  I
            0    2     4    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      s      
      end    

  public final boolean isReverseMatchAllowed(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 84
            iconst_0
            ireturn
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.unicode.FixedWidthUnicodeEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jcodings/unicode/FixedWidthUnicodeEncoding;
            0    1     1  bytes  [B
            0    1     2      p  I
            0    1     3    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  private static int log2(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int n
         0: .line 88
            iconst_0
            istore 1 /* log */
        start local 1 // int log
         1: .line 89
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iinc 1 /* log */ 1
      StackMap locals:
      StackMap stack:
         3: iload 0 /* n */
            iconst_1
            iushr
            dup
            istore 0 /* n */
            ifne 2
         4: .line 90
            iload 1 /* log */
            ireturn
        end local 1 // int log
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     n  I
            1    5     1   log  I
    MethodParameters:
      Name  Flags
      n     

  public boolean isNewLine(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            iload 2
            iload 3
            invokespecial org.jcodings.unicode.UnicodeEncoding.isNewLine:([BII)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "FixedWidthUnicodeEncoding.java"