final class com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly implements com.sun.crypto.provider.ChaCha20Cipher$ChaChaEngine
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly
super_class: java.lang.Object
{
final com.sun.crypto.provider.ChaCha20Cipher this$0;
descriptor: Lcom/sun/crypto/provider/ChaCha20Cipher;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.sun.crypto.provider.ChaCha20Cipher);
descriptor: (Lcom/sun/crypto/provider/ChaCha20Cipher;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly.this$0:Lcom/sun/crypto/provider/ChaCha20Cipher;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/ChaCha20Cipher$EngineStreamOnly;
MethodParameters:
Name Flags
this$0 final
public int getOutputSize(int, boolean);
descriptor: (IZ)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/ChaCha20Cipher$EngineStreamOnly;
0 1 1 inLength I
0 1 2 isFinal Z
MethodParameters:
Name Flags
inLength
isFinal
public int doUpdate(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly.this$0:Lcom/sun/crypto/provider/ChaCha20Cipher;
getfield com.sun.crypto.provider.ChaCha20Cipher.initialized:Z
ifeq 13
1: aload 4
ifnull 4
2: iload 5
iload 3
aload 4
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
3: goto 9
4: StackMap locals:
StackMap stack:
new javax.crypto.ShortBufferException
dup
5: ldc "Output buffer too small"
6: invokespecial javax.crypto.ShortBufferException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
pop
8: new javax.crypto.ShortBufferException
dup
ldc "Output buffer too small"
invokespecial javax.crypto.ShortBufferException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
ifnull 12
10: iload 2
iload 3
aload 1
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
11: aload 0
getfield com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly.this$0:Lcom/sun/crypto/provider/ChaCha20Cipher;
aload 1
iload 2
iload 3
aload 4
iload 5
invokevirtual com.sun.crypto.provider.ChaCha20Cipher.chaCha20Transform:([BII[BI)V
12: StackMap locals:
StackMap stack:
iload 3
ireturn
13: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
14: ldc "Must use either a different key or iv."
15: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/crypto/provider/ChaCha20Cipher$EngineStreamOnly;
0 16 1 in [B
0 16 2 inOff I
0 16 3 inLen I
0 16 4 out [B
0 16 5 outOff I
Exception table:
from to target type
1 7 7 Class java.lang.IndexOutOfBoundsException
Exceptions:
throws javax.crypto.ShortBufferException, java.security.KeyException
MethodParameters:
Name Flags
in
inOff
inLen
out
outOff
public int doFinal(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 3
aload 4
iload 5
invokevirtual com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly.doUpdate:([BII[BI)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/ChaCha20Cipher$EngineStreamOnly;
0 1 1 in [B
0 1 2 inOff I
0 1 3 inLen I
0 1 4 out [B
0 1 5 outOff I
Exceptions:
throws javax.crypto.ShortBufferException, java.security.KeyException
MethodParameters:
Name Flags
in
inOff
inLen
out
outOff
}
SourceFile: "ChaCha20Cipher.java"
NestHost: com.sun.crypto.provider.ChaCha20Cipher
InnerClasses:
abstract ChaChaEngine = com.sun.crypto.provider.ChaCha20Cipher$ChaChaEngine of com.sun.crypto.provider.ChaCha20Cipher
private final EngineStreamOnly = com.sun.crypto.provider.ChaCha20Cipher$EngineStreamOnly of com.sun.crypto.provider.ChaCha20Cipher