class com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel implements java.nio.channels.ReadableByteChannel
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel
super_class: java.lang.Object
{
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private java.nio.channels.ReadableByteChannel ciphertextChannel;
descriptor: Ljava/nio/channels/ReadableByteChannel;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer ciphertextSegment;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer plaintextSegment;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer ;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean endOfCiphertext;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean endOfPlaintext;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean definedState;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] aad;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int segmentNr;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final com.google.crypto.tink.subtle.StreamSegmentDecrypter decrypter;
descriptor: Lcom/google/crypto/tink/subtle/StreamSegmentDecrypter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int ciphertextSegmentSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int firstCiphertextSegmentSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.google.crypto.tink.subtle.NonceBasedStreamingAead, java.nio.channels.ReadableByteChannel, byte[]);
descriptor: (Lcom/google/crypto/tink/subtle/NonceBasedStreamingAead;Ljava/nio/channels/ReadableByteChannel;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual com.google.crypto.tink.subtle.NonceBasedStreamingAead.newStreamSegmentDecrypter:()Lcom/google/crypto/tink/subtle/StreamSegmentDecrypter;
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.decrypter:Lcom/google/crypto/tink/subtle/StreamSegmentDecrypter;
2: aload 0
aload 2
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextChannel:Ljava/nio/channels/ReadableByteChannel;
3: aload 0
aload 1
invokevirtual com.google.crypto.tink.subtle.NonceBasedStreamingAead.getHeaderLength:()I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
4: aload 0
aload 3
aload 3
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.aad:[B
5: aload 0
aload 1
invokevirtual com.google.crypto.tink.subtle.NonceBasedStreamingAead.getCiphertextSegmentSize:()I
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegmentSize:I
6: aload 0
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegmentSize:I
iconst_1
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
7: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
8: aload 0
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegmentSize:I
aload 1
invokevirtual com.google.crypto.tink.subtle.NonceBasedStreamingAead.getCiphertextOffset:()I
isub
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.firstCiphertextSegmentSize:I
9: aload 0
10: aload 1
invokevirtual com.google.crypto.tink.subtle.NonceBasedStreamingAead.getPlaintextSegmentSize:()I
bipush 16
iadd
11: invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
12: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
13: aload 0
iconst_0
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.headerRead:Z
14: aload 0
iconst_0
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
15: aload 0
iconst_0
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfPlaintext:Z
16: aload 0
iconst_0
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.segmentNr:I
17: aload 0
iconst_1
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.definedState:Z
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
0 19 1 streamAead Lcom/google/crypto/tink/subtle/NonceBasedStreamingAead;
0 19 2 ciphertextChannel Ljava/nio/channels/ReadableByteChannel;
0 19 3 associatedData [B
Exceptions:
throws java.security.GeneralSecurityException, java.io.IOException
MethodParameters:
Name Flags
streamAead
ciphertextChannel
associatedData
private void readSomeCiphertext(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextChannel:Ljava/nio/channels/ReadableByteChannel;
aload 1
invokeinterface java.nio.channels.ReadableByteChannel.read:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 1: iload 2
ifle 3
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
2: ifgt 0
3: StackMap locals: int
StackMap stack:
iload 2
iconst_m1
if_icmpne 5
4: aload 0
iconst_1
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
0 6 1 buffer Ljava/nio/ByteBuffer;
1 6 2 read I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
private boolean ();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
ifeq 2
1: new java.io.IOException
dup
ldc "Ciphertext is too short"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.readSomeCiphertext:(Ljava/nio/ByteBuffer;)V
3: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
6: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.decrypter:Lcom/google/crypto/tink/subtle/StreamSegmentDecrypter;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.aad:[B
invokeinterface com.google.crypto.tink.subtle.StreamSegmentDecrypter.init:(Ljava/nio/ByteBuffer;[B)V
7: aload 0
iconst_1
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.headerRead:Z
8: goto 12
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
9: astore 1
start local 1 10: aload 0
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.setUndefinedState:()V
11: new java.io.IOException
dup
aload 1
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
10 12 1 ex Ljava/security/GeneralSecurityException;
Exception table:
from to target type
6 8 9 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
private void setUndefinedState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.definedState:Z
1: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
private boolean tryLoadSegment();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
ifne 2
1: aload 0
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.readSomeCiphertext:(Ljava/nio/ByteBuffer;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 4
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
ifne 8
6: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 1
7: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
8: StackMap locals: int
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
9: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
10: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.decrypter:Lcom/google/crypto/tink/subtle/StreamSegmentDecrypter;
11: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.segmentNr:I
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
12: invokeinterface com.google.crypto.tink.subtle.StreamSegmentDecrypter.decryptSegment:(Ljava/nio/ByteBuffer;IZLjava/nio/ByteBuffer;)V
13: goto 21
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
14: astore 2
start local 2 15: aload 0
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.setUndefinedState:()V
16: new java.io.IOException
dup
new java.lang.StringBuilder
dup
aload 2
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: ldc "\nsegmentNr:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.segmentNr:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
18: ldc " endOfCiphertext:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: aload 2
20: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 21: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.segmentNr:I
iconst_1
iadd
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.segmentNr:I
22: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
23: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
24: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
ifne 28
25: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
26: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegmentSize:I
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
27: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
28: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
5 29 1 lastByte B
15 21 2 ex Ljava/security/GeneralSecurityException;
Exception table:
from to target type
10 13 14 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
public synchronized int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.definedState:Z
ifne 2
1: new java.io.IOException
dup
ldc "This StreamingAeadDecryptingChannel is in an undefined state"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.headerRead:Z
ifne 7
3: aload 0
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.tryReadHeader:()Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
6: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.firstCiphertextSegmentSize:I
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
7: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfPlaintext:Z
ifeq 9
8: iconst_m1
ireturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 10: goto 26
11: StackMap locals: int
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 17
12: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
ifeq 15
13: aload 0
iconst_1
putfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfPlaintext:Z
14: goto 27
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.tryLoadSegment:()Z
ifne 17
16: goto 27
17: StackMap locals:
StackMap stack:
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmpgt 21
18: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
pop
19: aload 1
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
20: goto 26
21: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 3
start local 3 22: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 4
start local 4 23: aload 4
aload 4
invokevirtual java.nio.ByteBuffer.position:()I
iload 3
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
24: aload 1
aload 4
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
25: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iload 3
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 4 end local 3 26: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifgt 11
27: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
isub
istore 3
start local 3 28: iload 3
ifne 30
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfPlaintext:Z
ifeq 30
29: iconst_m1
ireturn
30: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
0 31 1 dst Ljava/nio/ByteBuffer;
10 31 2 startPosition I
22 26 3 sliceSize I
23 26 4 slice Ljava/nio/ByteBuffer;
28 31 3 bytesRead I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextChannel:Ljava/nio/channels/ReadableByteChannel;
invokeinterface java.nio.channels.ReadableByteChannel.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
Exceptions:
throws java.io.IOException
public synchronized boolean isOpen();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextChannel:Ljava/nio/channels/ReadableByteChannel;
invokeinterface java.nio.channels.ReadableByteChannel.isOpen:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
public synchronized java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
1: astore 1
start local 1 2: aload 1
ldc "StreamingAeadDecryptingChannel"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "\nsegmentNr:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.segmentNr:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc "\nciphertextSegmentSize:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegmentSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
5: ldc "\nheaderRead:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.headerRead:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
6: ldc "\nendOfCiphertext:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfCiphertext:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
7: ldc "\nendOfPlaintext:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.endOfPlaintext:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
8: ldc "\ndefinedState:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.definedState:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
9: ldc "\nHeader"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " position:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
11: ldc " limit:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.header:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
12: ldc "\nciphertextSgement"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc " position:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
14: ldc " limit:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.ciphertextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
15: ldc "\nplaintextSegment"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: ldc " position:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
17: ldc " limit:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.crypto.tink.subtle.StreamingAeadDecryptingChannel.plaintextSegment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
18: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/google/crypto/tink/subtle/StreamingAeadDecryptingChannel;
2 19 1 res Ljava/lang/StringBuilder;
}
SourceFile: "StreamingAeadDecryptingChannel.java"