public final class org.jcodings.specific.UTF16LEEncoding extends org.jcodings.unicode.UnicodeEncoding
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jcodings.specific.UTF16LEEncoding
  super_class: org.jcodings.unicode.UnicodeEncoding
{
  public static final org.jcodings.specific.UTF16LEEncoding INSTANCE;
    descriptor: Lorg/jcodings/specific/UTF16LEEncoding;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 168
            new org.jcodings.specific.UTF16LEEncoding
            dup
            invokespecial org.jcodings.specific.UTF16LEEncoding.<init>:()V
            putstatic org.jcodings.specific.UTF16LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16LEEncoding;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
         0: .line 30
            aload 0 /* this */
            ldc "UTF-16LE"
            iconst_2
            iconst_4
            getstatic org.jcodings.specific.UTF16BEEncoding.UTF16EncLen:[I
            invokespecial org.jcodings.unicode.UnicodeEncoding.<init>:(Ljava/lang/String;II[I)V
         1: .line 31
            return
        end local 0 // org.jcodings.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jcodings/specific/UTF16LEEncoding;

  public int length(byte);
    descriptor: (B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // byte c
         0: .line 35
            aload 0 /* this */
            getfield org.jcodings.specific.UTF16LEEncoding.EncLen:[I
            iload 1 /* c */
            sipush 255
            iand
            iconst_1
            iadd
            iaload
            ireturn
        end local 1 // byte c
        end local 0 // org.jcodings.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    1     1     c  B
    MethodParameters:
      Name  Flags
      c     

  public int length(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 40
            iload 3 /* end */
            iload 2 /* p */
            isub
            istore 4 /* length */
        start local 4 // int length
         1: .line 41
            iload 4 /* length */
            iconst_2
            if_icmpge 2
            aload 0 /* this */
            iconst_1
            invokevirtual org.jcodings.specific.UTF16LEEncoding.missing:(I)I
            ireturn
         2: .line 43
      StackMap locals: int
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 5 /* b */
        start local 5 // int b
         3: .line 44
            iload 5 /* b */
            invokestatic org.jcodings.specific.UTF16LEEncoding.isSurrogate:(I)Z
            ifne 4
            iconst_2
            ireturn
         4: .line 46
      StackMap locals: int
      StackMap stack:
            iload 5 /* b */
            invokestatic org.jcodings.specific.UTF16LEEncoding.isSurrogateFirst:(I)Z
            ifeq 7
         5: .line 47
            iload 4 /* length */
            iconst_4
            if_icmpge 6
            aload 0 /* this */
            iconst_4
            iload 4 /* length */
            isub
            invokevirtual org.jcodings.specific.UTF16LEEncoding.missing:(I)I
            ireturn
         6: .line 48
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            invokestatic org.jcodings.specific.UTF16LEEncoding.isSurrogateSecond:(I)Z
            ifeq 7
            iconst_4
            ireturn
         7: .line 50
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 5 // int b
        end local 4 // int length
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    8     1   bytes  [B
            0    8     2       p  I
            0    8     3     end  I
            1    8     4  length  I
            3    8     5       b  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  public boolean isNewLine(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 55
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* end */
            if_icmpge 2
         1: .line 56
            aload 1 /* bytes */
            iload 2 /* p */
            baload
            bipush 10
            if_icmpne 2
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_1
            iadd
            baload
            ifne 2
            iconst_1
            ireturn
         2: .line 65
      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.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    3     1  bytes  [B
            0    3     2      p  I
            0    3     3    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  public int mbcToCode(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 71
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            invokestatic org.jcodings.specific.UTF16LEEncoding.isSurrogateFirst:(I)Z
            ifeq 9
         1: .line 72
            aload 1 /* bytes */
            iload 2 /* p */
            baload
            sipush 255
            iand
            istore 5 /* c0 */
        start local 5 // int c0
         2: .line 73
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 6 /* c1 */
        start local 6 // int c1
         3: .line 74
            iload 6 /* c1 */
            bipush 8
            ishl
            iload 5 /* c0 */
            iadd
            sipush 1023
            iand
            bipush 10
            ishl
         4: .line 75
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            iadd
            sipush 1023
            iand
         5: .line 74
            iadd
         6: .line 75
            ldc 65536
         7: .line 74
            iadd
            istore 4 /* code */
        end local 6 // int c1
        end local 5 // int c0
        start local 4 // int code
         8: .line 76
            goto 10
        end local 4 // int code
         9: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            sipush 256
            imul
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_0
            iadd
            baload
            sipush 255
            iand
            iadd
            istore 4 /* code */
        start local 4 // int code
        10: .line 79
      StackMap locals: int
      StackMap stack:
            iload 4 /* code */
            ireturn
        end local 4 // int code
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0   11     1  bytes  [B
            0   11     2      p  I
            0   11     3    end  I
            8    9     4   code  I
           10   11     4   code  I
            2    8     5     c0  I
            3    8     6     c1  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  public int codeToMbcLength(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // int code
         0: .line 84
            iload 1 /* code */
            ldc 65535
            if_icmple 1
            iconst_4
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_2
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int code
        end local 0 // org.jcodings.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    3     1  code  I
    MethodParameters:
      Name  Flags
      code  

  public int codeToMbc(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // int code
        start local 2 // byte[] bytes
        start local 3 // int p
         0: .line 89
            iload 3 /* p */
            istore 4 /* p_ */
        start local 4 // int p_
         1: .line 90
            iload 1 /* code */
            ldc 65535
            if_icmple 9
         2: .line 91
            iload 1 /* code */
            bipush 10
            iushr
            ldc 55232
            iadd
            istore 5 /* high */
        start local 5 // int high
         3: .line 92
            iload 1 /* code */
            sipush 1023
            iand
            ldc 56320
            iadd
            istore 6 /* low */
        start local 6 // int low
         4: .line 93
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 5 /* high */
            sipush 255
            iand
            i2b
            bastore
         5: .line 94
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 5 /* high */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
         6: .line 95
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 6 /* low */
            sipush 255
            iand
            i2b
            bastore
         7: .line 96
            aload 2 /* bytes */
            iload 4 /* p_ */
            iload 6 /* low */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
         8: .line 97
            iconst_4
            ireturn
        end local 6 // int low
        end local 5 // int high
         9: .line 99
      StackMap locals: int
      StackMap stack:
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            sipush 255
            iand
            i2b
            bastore
        10: .line 100
            aload 2 /* bytes */
            iload 4 /* p_ */
            iinc 4 /* p_ */ 1
            iload 1 /* code */
            ldc 65280
            iand
            bipush 8
            iushr
            i2b
            bastore
        11: .line 101
            iconst_2
            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.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0   12     1   code  I
            0   12     2  bytes  [B
            0   12     3      p  I
            1   12     4     p_  I
            3    9     5   high  I
            4    9     6    low  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.UTF16LEEncoding 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 107
            aload 3 /* pp */
            getfield org.jcodings.IntHolder.value:I
            istore 6 /* p */
        start local 6 // int p
         1: .line 108
            iconst_0
            istore 7 /* foldP */
        start local 7 // int foldP
         2: .line 110
            aload 2 /* bytes */
            iload 6 /* p */
            baload
            sipush 255
            iand
            invokestatic org.jcodings.specific.UTF16LEEncoding.isAscii:(I)Z
            ifeq 7
            aload 2 /* bytes */
            iload 6 /* p */
            iconst_1
            iadd
            baload
            ifne 7
         3: .line 123
            aload 5 /* fold */
            iload 7 /* foldP */
            iinc 7 /* foldP */ 1
            getstatic org.jcodings.ascii.AsciiTables.ToLowerCaseTable:[B
            aload 2 /* bytes */
            iload 6 /* p */
            baload
            sipush 255
            iand
            baload
            bastore
         4: .line 124
            aload 5 /* fold */
            iload 7 /* foldP */
            iconst_0
            bastore
         5: .line 125
            aload 3 /* pp */
            dup
            getfield org.jcodings.IntHolder.value:I
            iconst_2
            iadd
            putfield org.jcodings.IntHolder.value:I
         6: .line 126
            iconst_2
            ireturn
         7: .line 128
      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.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    8     1   flag  I
            0    8     2  bytes  [B
            0    8     3     pp  Lorg/jcodings/IntHolder;
            0    8     4    end  I
            0    8     5   fold  [B
            1    8     6      p  I
            2    8     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.UTF16LEEncoding this
        start local 1 // int ctype
        start local 2 // org.jcodings.IntHolder sbOut
         0: .line 136
            aload 2 /* sbOut */
            iconst_0
            putfield org.jcodings.IntHolder.value:I
         1: .line 137
            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.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    2     1  ctype  I
            0    2     2  sbOut  Lorg/jcodings/IntHolder;
    MethodParameters:
       Name  Flags
      ctype  
      sbOut  

  public int leftAdjustCharHead(byte[], int, int, int);
    descriptor: ([BIII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jcodings.specific.UTF16LEEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int s
        start local 4 // int end
         0: .line 142
            iload 3 /* s */
            iload 2 /* p */
            if_icmpgt 1
            iload 3 /* s */
            ireturn
         1: .line 144
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            iload 2 /* p */
            isub
            iconst_2
            irem
            iconst_1
            if_icmpne 2
            iinc 3 /* s */ -1
         2: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            iload 3 /* s */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            invokestatic org.jcodings.specific.UTF16LEEncoding.isSurrogateSecond:(I)Z
            ifeq 3
            iload 3 /* s */
            iload 2 /* p */
            iconst_1
            iadd
            if_icmple 3
            iinc 3 /* s */ -2
         3: .line 148
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            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.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    4     1  bytes  [B
            0    4     2      p  I
            0    4     3      s  I
            0    4     4    end  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.UTF16LEEncoding this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 153
            iconst_0
            ireturn
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jcodings.specific.UTF16LEEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jcodings/specific/UTF16LEEncoding;
            0    1     1  bytes  [B
            0    1     2      p  I
            0    1     3    end  I
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  private static boolean isSurrogateFirst(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 157
            iload 0 /* c */
            sipush 252
            iand
            sipush 216
            if_icmpne 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     

  private static boolean isSurrogateSecond(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 161
            iload 0 /* c */
            sipush 252
            iand
            sipush 220
            if_icmpne 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     

  private static boolean isSurrogate(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 165
            iload 0 /* c */
            sipush 248
            iand
            sipush 216
            if_icmpne 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     
}
SourceFile: "UTF16LEEncoding.java"