class org.bouncycastle.est.ESTResponse$2 extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.est.ESTResponse$2
super_class: java.io.InputStream
{
final org.bouncycastle.est.ESTResponse this$0;
descriptor: Lorg/bouncycastle/est/ESTResponse;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.io.InputStream val$in;
descriptor: Ljava/io/InputStream;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.Long val$absoluteReadLimit;
descriptor: Ljava/lang/Long;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.bouncycastle.est.ESTResponse, java.io.InputStream, java.lang.Long);
descriptor: (Lorg/bouncycastle/est/ESTResponse;Ljava/io/InputStream;Ljava/lang/Long;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
aload 0
aload 2
putfield org.bouncycastle.est.ESTResponse$2.val$in:Ljava/io/InputStream;
aload 0
aload 3
putfield org.bouncycastle.est.ESTResponse$2.val$absoluteReadLimit:Ljava/lang/Long;
aload 0
invokespecial java.io.InputStream.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/est/ESTResponse$2;
MethodParameters:
Name Flags
this$0 final
val$in final
val$absoluteReadLimit final
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.est.ESTResponse$2.val$in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmple 5
2: aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
dup
getfield org.bouncycastle.est.ESTResponse.read:J
lconst_1
ladd
putfield org.bouncycastle.est.ESTResponse.read:J
3: aload 0
getfield org.bouncycastle.est.ESTResponse$2.val$absoluteReadLimit:Ljava/lang/Long;
ifnull 5
aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
getfield org.bouncycastle.est.ESTResponse.read:J
aload 0
getfield org.bouncycastle.est.ESTResponse$2.val$absoluteReadLimit:Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lcmp
iflt 5
4: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Absolute Read Limit exceeded: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.bouncycastle.est.ESTResponse$2.val$absoluteReadLimit:Ljava/lang/Long;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/est/ESTResponse$2;
1 6 1 i I
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
getfield org.bouncycastle.est.ESTResponse.contentLength:Ljava/lang/Long;
ifnull 2
aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
getfield org.bouncycastle.est.ESTResponse.contentLength:Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lconst_1
lsub
aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
getfield org.bouncycastle.est.ESTResponse.read:J
lcmp
ifle 2
1: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Stream closed before limit fully read, Read: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
getfield org.bouncycastle.est.ESTResponse.read:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " ContentLength: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.bouncycastle.est.ESTResponse$2.this$0:Lorg/bouncycastle/est/ESTResponse;
getfield org.bouncycastle.est.ESTResponse.contentLength:Ljava/lang/Long;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.est.ESTResponse$2.val$in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
ifle 4
3: new java.io.IOException
dup
ldc "Stream closed with extra content in pipe that exceeds content length."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.est.ESTResponse$2.val$in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/est/ESTResponse$2;
Exceptions:
throws java.io.IOException
}
SourceFile: "ESTResponse.java"
EnclosingMethod: org.bouncycastle.est.ESTResponse.wrapWithCounter:(Ljava/io/InputStream;Ljava/lang/Long;)Ljava/io/InputStream;
NestHost: org.bouncycastle.est.ESTResponse
InnerClasses:
org.bouncycastle.est.ESTResponse$2