class sun.security.util.DerInputBuffer extends java.io.ByteArrayInputStream implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.util.DerInputBuffer
super_class: java.io.ByteArrayInputStream
{
boolean allowBER;
descriptor: Z
flags: (0x0000)
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial sun.security.util.DerInputBuffer.<init>:([BZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/util/DerInputBuffer;
0 2 1 buf [B
MethodParameters:
Name Flags
buf
void <init>(byte[], boolean);
descriptor: ([BZ)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
1: aload 0
iconst_1
putfield sun.security.util.DerInputBuffer.allowBER:Z
2: aload 0
iload 2
putfield sun.security.util.DerInputBuffer.allowBER:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/util/DerInputBuffer;
0 4 1 buf [B
0 4 2 allowBER Z
MethodParameters:
Name Flags
buf
allowBER
void <init>(byte[], int, int, boolean);
descriptor: ([BIIZ)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
1: aload 0
iconst_1
putfield sun.security.util.DerInputBuffer.allowBER:Z
2: aload 0
iload 4
putfield sun.security.util.DerInputBuffer.allowBER:Z
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/util/DerInputBuffer;
0 4 1 buf [B
0 4 2 offset I
0 4 3 len I
0 4 4 allowBER Z
MethodParameters:
Name Flags
buf
offset
len
allowBER
sun.security.util.DerInputBuffer dup();
descriptor: ()Lsun/security/util/DerInputBuffer;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.clone:()Ljava/lang/Object;
checkcast sun.security.util.DerInputBuffer
astore 1
start local 1 1: aload 1
ldc 2147483647
invokevirtual sun.security.util.DerInputBuffer.mark:(I)V
2: aload 1
3: areturn
end local 1 4: StackMap locals:
StackMap stack: java.lang.CloneNotSupportedException
astore 1
start local 1 5: new java.lang.IllegalArgumentException
dup
aload 1
invokevirtual java.lang.CloneNotSupportedException.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/util/DerInputBuffer;
1 4 1 retval Lsun/security/util/DerInputBuffer;
5 6 1 e Ljava/lang/CloneNotSupportedException;
Exception table:
from to target type
0 3 4 Class java.lang.CloneNotSupportedException
byte[] toByteArray();
descriptor: ()[B
flags: (0x0000)
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
istore 1
start local 1 1: iload 1
ifgt 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
iload 1
newarray 8
astore 2
start local 2 4: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
aload 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/util/DerInputBuffer;
1 6 1 len I
4 6 2 retval [B
int peek();
descriptor: ()I
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.util.DerInputBuffer.pos:I
aload 0
getfield sun.security.util.DerInputBuffer.count:I
if_icmplt 2
1: new java.io.IOException
dup
ldc "out of data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/util/DerInputBuffer;
Exceptions:
throws java.io.IOException
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof sun.security.util.DerInputBuffer
ifeq 2
1: aload 0
aload 1
checkcast sun.security.util.DerInputBuffer
invokevirtual sun.security.util.DerInputBuffer.equals:(Lsun/security/util/DerInputBuffer;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/util/DerInputBuffer;
0 3 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
boolean equals(sun.security.util.DerInputBuffer);
descriptor: (Lsun/security/util/DerInputBuffer;)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
istore 2
start local 2 3: aload 1
invokevirtual sun.security.util.DerInputBuffer.available:()I
iload 2
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 6: goto 10
7: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
iload 3
iadd
baload
aload 1
getfield sun.security.util.DerInputBuffer.buf:[B
aload 1
getfield sun.security.util.DerInputBuffer.pos:I
iload 3
iadd
baload
if_icmpeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 2
if_icmplt 7
end local 3 11: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/util/DerInputBuffer;
0 12 1 other Lsun/security/util/DerInputBuffer;
3 12 2 max I
6 11 3 i I
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
istore 2
start local 2 2: aload 0
getfield sun.security.util.DerInputBuffer.pos:I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: sun.security.util.DerInputBuffer int int int int
StackMap stack:
iload 1
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
iload 3
iload 4
iadd
baload
iload 4
imul
iadd
istore 1
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/util/DerInputBuffer;
1 9 1 retval I
2 9 2 len I
3 9 3 p I
4 8 4 i I
void truncate(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
if_icmple 2
1: new java.io.IOException
dup
ldc "insufficient data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
iload 1
iadd
putfield sun.security.util.DerInputBuffer.count:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/util/DerInputBuffer;
0 4 1 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
java.math.BigInteger getBigInteger(int, boolean);
descriptor: (IZ)Ljava/math/BigInteger;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
if_icmple 2
1: new java.io.IOException
dup
ldc "short read of integer"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifne 4
3: new java.io.IOException
dup
ldc "Invalid encoding: zero length Int value"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
newarray 8
astore 3
start local 3 5: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
aload 3
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
iload 1
i2l
invokevirtual sun.security.util.DerInputBuffer.skip:(J)J
pop2
7: aload 0
getfield sun.security.util.DerInputBuffer.allowBER:Z
ifne 9
iload 1
iconst_2
if_icmplt 9
aload 3
iconst_0
baload
ifne 9
aload 3
iconst_1
baload
iflt 9
8: new java.io.IOException
dup
ldc "Invalid encoding: redundant leading 0s"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: byte[]
StackMap stack:
iload 2
ifeq 11
10: new java.math.BigInteger
dup
iconst_1
aload 3
invokespecial java.math.BigInteger.<init>:(I[B)V
areturn
11: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 3
invokespecial java.math.BigInteger.<init>:([B)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/util/DerInputBuffer;
0 12 1 len I
0 12 2 makePositive Z
5 12 3 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
makePositive
public int getInteger(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokevirtual sun.security.util.DerInputBuffer.getBigInteger:(IZ)Ljava/math/BigInteger;
astore 2
start local 2 1: aload 2
ldc -2147483648
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifge 3
2: new java.io.IOException
dup
ldc "Integer below minimum valid value"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.math.BigInteger
StackMap stack:
aload 2
ldc 2147483647
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 5
4: new java.io.IOException
dup
ldc "Integer exceeds maximum valid value"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.math.BigInteger.intValue:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/util/DerInputBuffer;
0 6 1 len I
1 6 2 result Ljava/math/BigInteger;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
public byte[] getBitString(int);
descriptor: (I)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
if_icmple 2
1: new java.io.IOException
dup
ldc "short read of bit string"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifne 4
3: new java.io.IOException
dup
ldc "Invalid encoding: zero length bit string"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
istore 2
start local 2 5: iload 2
iflt 6
iload 2
bipush 7
if_icmple 7
6: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
ldc "Invalid number of padding bits"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 1
iconst_1
isub
newarray 8
astore 3
start local 3 8: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
iconst_1
iadd
aload 3
iconst_0
iload 1
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: iload 2
ifeq 11
10: aload 3
iload 1
iconst_2
isub
dup2
baload
sipush 255
iload 2
ishl
iand
i2b
bastore
11: StackMap locals: byte[]
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.security.util.DerInputBuffer.skip:(J)J
pop2
12: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/util/DerInputBuffer;
0 13 1 len I
5 13 2 numOfPadBits I
8 13 3 retval [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
byte[] getBitString();
descriptor: ()[B
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
invokevirtual sun.security.util.DerInputBuffer.getBitString:(I)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/util/DerInputBuffer;
Exceptions:
throws java.io.IOException
sun.security.util.BitArray getUnalignedBitString();
descriptor: ()Lsun/security/util/BitArray;
flags: (0x0000)
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield sun.security.util.DerInputBuffer.pos:I
aload 0
getfield sun.security.util.DerInputBuffer.count:I
if_icmplt 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
istore 1
start local 1 3: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
sipush 255
iand
istore 2
start local 2 4: iload 2
bipush 7
if_icmple 6
5: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid value for unused bits: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int int
StackMap stack:
iload 1
iconst_1
isub
newarray 8
astore 3
start local 3 7: aload 3
arraylength
ifne 8
iconst_0
goto 9
StackMap locals: byte[]
StackMap stack:
8: aload 3
arraylength
bipush 8
imul
iload 2
isub
StackMap locals:
StackMap stack: int
9: istore 4
start local 4 10: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
iconst_1
iadd
aload 3
iconst_0
iload 1
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: new sun.security.util.BitArray
dup
iload 4
aload 3
invokespecial sun.security.util.BitArray.<init>:(I[B)V
astore 5
start local 5 12: aload 0
aload 0
getfield sun.security.util.DerInputBuffer.count:I
putfield sun.security.util.DerInputBuffer.pos:I
13: aload 5
areturn
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 14 0 this Lsun/security/util/DerInputBuffer;
3 14 1 len I
4 14 2 unusedBits I
7 14 3 bits [B
10 14 4 length I
12 14 5 bitArray Lsun/security/util/BitArray;
Exceptions:
throws java.io.IOException
public java.util.Date getUTCTime(int);
descriptor: (I)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
if_icmple 2
1: new java.io.IOException
dup
ldc "short read of DER UTC Time"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
bipush 11
if_icmplt 3
iload 1
bipush 17
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "DER UTC Time length error"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_0
invokevirtual sun.security.util.DerInputBuffer.getTime:(IZ)Ljava/util/Date;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/util/DerInputBuffer;
0 5 1 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
public java.util.Date getGeneralizedTime(int);
descriptor: (I)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual sun.security.util.DerInputBuffer.available:()I
if_icmple 2
1: new java.io.IOException
dup
ldc "short read of DER Generalized Time"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
bipush 13
if_icmpge 4
3: new java.io.IOException
dup
ldc "DER Generalized Time length error"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_1
invokevirtual sun.security.util.DerInputBuffer.getTime:(IZ)Ljava/util/Date;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/util/DerInputBuffer;
0 5 1 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
private java.util.Date getTime(int, boolean);
descriptor: (IZ)Ljava/util/Date;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 10
start local 10 1: iload 2
ifeq 9
2: ldc "Generalized"
astore 10
3: sipush 1000
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 3
start local 3 4: iload 3
bipush 100
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
iadd
istore 3
5: iload 3
bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
iadd
istore 3
6: iload 3
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 3
7: iinc 1 -2
8: goto 15
end local 3 9: StackMap locals: sun.security.util.DerInputBuffer int int top top top top top top top java.lang.String
StackMap stack:
ldc "UTC"
astore 10
10: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 3
start local 3 11: iload 3
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 3
12: iload 3
bipush 50
if_icmpge 14
13: iinc 3 2000
goto 15
14: StackMap locals: sun.security.util.DerInputBuffer int int int top top top top top top java.lang.String
StackMap stack:
iinc 3 1900
15: StackMap locals:
StackMap stack:
bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 4
start local 4 16: iload 4
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 4
17: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 5
start local 5 18: iload 5
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 5
19: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 6
start local 6 20: iload 6
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 6
21: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 7
start local 7 22: iload 7
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 7
23: iinc 1 -10
24: iconst_0
istore 9
start local 9 25: iload 1
iconst_2
if_icmple 52
26: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 8
start local 8 27: iload 8
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 8
28: iinc 1 -2
29: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
bipush 46
if_icmpeq 30
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
bipush 44
if_icmpne 53
30: StackMap locals: sun.security.util.DerInputBuffer int int int int int int int int int java.lang.String
StackMap stack:
iinc 1 -1
31: aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
32: iconst_0
istore 11
start local 11 33: goto 43
34: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
istore 12
start local 12 35: iinc 11 1
36: aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
37: iload 11
tableswitch { // 1 - 3
1: 38
2: 40
3: 42
default: 43
}
38: StackMap locals: int
StackMap stack:
iload 9
bipush 100
iload 12
imul
iadd
istore 9
39: goto 43
40: StackMap locals:
StackMap stack:
iload 9
bipush 10
iload 12
imul
iadd
istore 9
41: goto 43
42: StackMap locals:
StackMap stack:
iload 9
iload 12
iadd
istore 9
end local 12 43: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
bipush 90
if_icmpeq 46
44: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
bipush 43
if_icmpeq 46
45: aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
getfield sun.security.util.DerInputBuffer.pos:I
baload
bipush 45
if_icmpne 34
46: StackMap locals:
StackMap stack:
iload 11
ifne 50
47: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: ldc " time, empty fractional part"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
iload 1
iload 11
isub
istore 1
end local 11 51: goto 53
end local 8 52: StackMap locals: sun.security.util.DerInputBuffer int int int int int int int top int java.lang.String
StackMap stack:
iconst_0
istore 8
start local 8 53: StackMap locals: sun.security.util.DerInputBuffer int int int int int int int int int java.lang.String
StackMap stack:
iload 4
ifeq 56
iload 5
ifeq 56
54: iload 4
bipush 12
if_icmpgt 56
iload 5
bipush 31
if_icmpgt 56
55: iload 6
bipush 24
if_icmpge 56
iload 7
bipush 60
if_icmpge 56
iload 8
bipush 60
if_icmplt 57
56: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " time, invalid format"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
57: StackMap locals:
StackMap stack:
invokestatic sun.util.calendar.CalendarSystem.getGregorianCalendar:()Lsun/util/calendar/Gregorian;
astore 11
start local 11 58: aload 11
aconst_null
invokevirtual sun.util.calendar.CalendarSystem.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
astore 12
start local 12 59: aload 12
iload 3
iload 4
iload 5
invokevirtual sun.util.calendar.CalendarDate.setDate:(III)Lsun/util/calendar/CalendarDate;
pop
60: aload 12
iload 6
iload 7
iload 8
iload 9
invokevirtual sun.util.calendar.CalendarDate.setTimeOfDay:(IIII)Lsun/util/calendar/CalendarDate;
pop
61: aload 11
aload 12
invokevirtual sun.util.calendar.CalendarSystem.getTime:(Lsun/util/calendar/CalendarDate;)J
lstore 13
start local 13 62: iload 1
iconst_1
if_icmpeq 64
iload 1
iconst_5
if_icmpeq 64
63: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " time, invalid offset"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals: sun.util.calendar.CalendarSystem sun.util.calendar.CalendarDate long
StackMap stack:
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
lookupswitch { // 3
43: 65
45: 73
90: 81
default: 82
}
65: StackMap locals:
StackMap stack:
bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 15
start local 15 66: iload 15
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 15
67: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 16
start local 16 68: iload 16
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 16
69: iload 15
bipush 24
if_icmpge 70
iload 16
bipush 60
if_icmplt 71
70: StackMap locals: int int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " time, +hhmm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
71: StackMap locals:
StackMap stack:
lload 13
iload 15
bipush 60
imul
iload 16
iadd
bipush 60
imul
sipush 1000
imul
i2l
lsub
lstore 13
72: goto 83
end local 16 end local 15 73: StackMap locals:
StackMap stack:
bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 15
start local 15 74: iload 15
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 15
75: bipush 10
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
imul
istore 16
start local 16 76: iload 16
aload 0
getfield sun.security.util.DerInputBuffer.buf:[B
aload 0
dup
getfield sun.security.util.DerInputBuffer.pos:I
dup_x1
iconst_1
iadd
putfield sun.security.util.DerInputBuffer.pos:I
baload
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 16
77: iload 15
bipush 24
if_icmpge 78
iload 16
bipush 60
if_icmplt 79
78: StackMap locals: int int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " time, -hhmm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
79: StackMap locals:
StackMap stack:
lload 13
iload 15
bipush 60
imul
iload 16
iadd
bipush 60
imul
sipush 1000
imul
i2l
ladd
lstore 13
80: goto 83
end local 16 end local 15 81: StackMap locals:
StackMap stack:
goto 83
82: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " time, garbage offset"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
83: StackMap locals:
StackMap stack:
new java.util.Date
dup
lload 13
invokespecial java.util.Date.<init>:(J)V
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 84 0 this Lsun/security/util/DerInputBuffer;
0 84 1 len I
0 84 2 generalized Z
4 9 3 year I
11 84 3 year I
16 84 4 month I
18 84 5 day I
20 84 6 hour I
22 84 7 minute I
27 52 8 second I
53 84 8 second I
25 84 9 millis I
1 84 10 type Ljava/lang/String;
33 51 11 precision I
35 43 12 thisDigit I
58 84 11 gcal Lsun/util/calendar/CalendarSystem;
59 84 12 date Lsun/util/calendar/CalendarDate;
62 84 13 time J
66 73 15 hr I
74 81 15 hr I
68 73 16 min I
76 81 16 min I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
generalized
}
SourceFile: "DerInputBuffer.java"