public class org.bouncycastle.asn1.ASN1ObjectIdentifier extends org.bouncycastle.asn1.ASN1Primitive
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.asn1.ASN1ObjectIdentifier
super_class: org.bouncycastle.asn1.ASN1Primitive
{
private final java.lang.String identifier;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private byte[] body;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private static final long LONG_LIMIT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 72057594037927808
private static final java.util.concurrent.ConcurrentMap<org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle, org.bouncycastle.asn1.ASN1ObjectIdentifier> pool;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
return
LocalVariableTable:
Start End Slot Name Signature
public static org.bouncycastle.asn1.ASN1ObjectIdentifier getInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.asn1.ASN1Encodable
ifeq 6
3: aload 0
checkcast org.bouncycastle.asn1.ASN1Encodable
invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
astore 1
start local 1 4: aload 1
instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
ifeq 6
5: aload 1
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
instanceof byte[]
ifeq 12
7: aload 0
checkcast byte[]
astore 1
start local 1 8: aload 1
invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
9: areturn
10: StackMap locals: java.lang.Object byte[]
StackMap stack: java.io.IOException
astore 2
start local 2 11: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "failed to construct object identifier from byte[]: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "illegal object in getInstance: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 obj Ljava/lang/Object;
4 6 1 primitive Lorg/bouncycastle/asn1/ASN1Primitive;
8 12 1 enc [B
11 12 2 e Ljava/io/IOException;
Exception table:
from to target type
8 9 10 Class java.io.IOException
MethodParameters:
Name Flags
obj
public static org.bouncycastle.asn1.ASN1ObjectIdentifier getInstance(org.bouncycastle.asn1.ASN1TaggedObject, boolean);
descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getObject:()Lorg/bouncycastle/asn1/ASN1Primitive;
astore 2
start local 2 1: iload 1
ifne 2
aload 2
instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
ifeq 3
2: StackMap locals: org.bouncycastle.asn1.ASN1Primitive
StackMap stack:
aload 2
invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
areturn
3: StackMap locals:
StackMap stack:
aload 2
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.fromOctetString:([B)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 obj Lorg/bouncycastle/asn1/ASN1TaggedObject;
0 4 1 explicit Z
1 4 2 o Lorg/bouncycastle/asn1/ASN1Primitive;
MethodParameters:
Name Flags
obj
explicit
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Primitive.<init>:()V
1: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 2: lconst_0
lstore 3
start local 3 3: aconst_null
astore 5
start local 5 4: iconst_1
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 43
7: StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier byte[] java.lang.StringBuffer long java.math.BigInteger int int
StackMap stack:
aload 1
iload 7
baload
sipush 255
iand
istore 8
start local 8 8: lload 3
ldc 72057594037927808
lcmp
ifgt 28
9: lload 3
iload 8
bipush 127
iand
i2l
ladd
lstore 3
10: iload 8
sipush 128
iand
ifne 26
11: iload 6
ifeq 22
12: lload 3
ldc 40
lcmp
ifge 15
13: aload 2
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: goto 21
15: StackMap locals: int
StackMap stack:
lload 3
ldc 80
lcmp
ifge 19
16: aload 2
bipush 49
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
17: lload 3
ldc 40
lsub
lstore 3
18: goto 21
19: StackMap locals:
StackMap stack:
aload 2
bipush 50
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
20: lload 3
ldc 80
lsub
lstore 3
21: StackMap locals:
StackMap stack:
iconst_0
istore 6
22: StackMap locals:
StackMap stack:
aload 2
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
23: aload 2
lload 3
invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
pop
24: lconst_0
lstore 3
25: goto 42
26: StackMap locals:
StackMap stack:
lload 3
bipush 7
lshl
lstore 3
27: goto 42
28: StackMap locals:
StackMap stack:
aload 5
ifnonnull 30
29: lload 3
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 5
30: StackMap locals:
StackMap stack:
aload 5
iload 8
bipush 127
iand
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.or:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 5
31: iload 8
sipush 128
iand
ifne 41
32: iload 6
ifeq 36
33: aload 2
bipush 50
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
34: aload 5
ldc 80
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 5
35: iconst_0
istore 6
36: StackMap locals:
StackMap stack:
aload 2
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
37: aload 2
aload 5
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
38: aconst_null
astore 5
39: lconst_0
lstore 3
40: goto 42
41: StackMap locals:
StackMap stack:
aload 5
bipush 7
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 5
end local 8 42: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
43: iload 7
aload 1
arraylength
if_icmpne 7
end local 7 44: aload 0
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
45: aload 0
aload 1
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
46: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 47 1 bytes [B
2 47 2 objId Ljava/lang/StringBuffer;
3 47 3 value J
4 47 5 bigValue Ljava/math/BigInteger;
5 47 6 first Z
6 44 7 i I
8 42 8 b I
MethodParameters:
Name Flags
bytes
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Primitive.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "'identifier' cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier java.lang.String
StackMap stack:
aload 1
invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.isValidIdentifier:(Ljava/lang/String;)Z
ifne 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "string "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not an OID"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 7 1 identifier Ljava/lang/String;
MethodParameters:
Name Flags
identifier
void <init>(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.lang.String);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Primitive.<init>:()V
1: aload 2
iconst_0
invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.isValidBranchID:(Ljava/lang/String;I)Z
ifne 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "string "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not a valid OID branch"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier org.bouncycastle.asn1.ASN1ObjectIdentifier java.lang.String
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 2 branchID Ljava/lang/String;
MethodParameters:
Name Flags
oid
branchID
public java.lang.String getId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
public org.bouncycastle.asn1.ASN1ObjectIdentifier branch(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.ASN1ObjectIdentifier
dup
aload 0
aload 1
invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 1 1 branchID Ljava/lang/String;
MethodParameters:
Name Flags
branchID
public boolean on(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
astore 3
start local 3 2: aload 2
invokevirtual java.lang.String.length:()I
aload 3
invokevirtual java.lang.String.length:()I
if_icmple 3
aload 2
aload 3
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpne 3
aload 2
aload 3
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: java.lang.String java.lang.String
StackMap stack:
3: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 4 1 stem Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
1 4 2 id Ljava/lang/String;
2 4 3 stemId Ljava/lang/String;
MethodParameters:
Name Flags
stem
private void writeField(java.io.ByteArrayOutputStream, long);
descriptor: (Ljava/io/ByteArrayOutputStream;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: bipush 9
newarray 8
astore 4
start local 4 1: bipush 8
istore 5
start local 5 2: aload 4
iload 5
lload 2
l2i
bipush 127
iand
i2b
bastore
3: goto 6
4: StackMap locals: byte[] int
StackMap stack:
lload 2
bipush 7
lshr
lstore 2
5: aload 4
iinc 5 -1
iload 5
lload 2
l2i
bipush 127
iand
sipush 128
ior
i2b
bastore
6: StackMap locals:
StackMap stack:
lload 2
ldc 128
lcmp
ifge 4
7: aload 1
aload 4
iload 5
bipush 9
iload 5
isub
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
8: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 9 1 out Ljava/io/ByteArrayOutputStream;
0 9 2 fieldValue J
1 9 4 result [B
2 9 5 pos I
MethodParameters:
Name Flags
out
fieldValue
private void writeField(java.io.ByteArrayOutputStream, java.math.BigInteger);
descriptor: (Ljava/io/ByteArrayOutputStream;Ljava/math/BigInteger;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.math.BigInteger.bitLength:()I
bipush 6
iadd
bipush 7
idiv
istore 3
start local 3 1: iload 3
ifne 4
2: aload 1
iconst_0
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
3: goto 14
4: StackMap locals: int
StackMap stack:
aload 2
astore 4
start local 4 5: iload 3
newarray 8
astore 5
start local 5 6: iload 3
iconst_1
isub
istore 6
start local 6 7: goto 11
8: StackMap locals: java.math.BigInteger byte[] int
StackMap stack:
aload 5
iload 6
aload 4
invokevirtual java.math.BigInteger.intValue:()I
bipush 127
iand
sipush 128
ior
i2b
bastore
9: aload 4
bipush 7
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 4
10: iinc 6 -1
StackMap locals:
StackMap stack:
11: iload 6
ifge 8
end local 6 12: aload 5
iload 3
iconst_1
isub
dup2
baload
bipush 127
iand
i2b
bastore
13: aload 1
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 15 1 out Ljava/io/ByteArrayOutputStream;
0 15 2 fieldValue Ljava/math/BigInteger;
1 15 3 byteCount I
5 14 4 tmpValue Ljava/math/BigInteger;
6 14 5 tmp [B
7 12 6 i I
MethodParameters:
Name Flags
out
fieldValue
private void doOutput(java.io.ByteArrayOutputStream);
descriptor: (Ljava/io/ByteArrayOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.OIDTokenizer
dup
aload 0
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
invokespecial org.bouncycastle.asn1.OIDTokenizer.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
bipush 40
imul
istore 3
start local 3 2: aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
invokevirtual java.lang.String.length:()I
bipush 18
if_icmpgt 6
4: aload 0
aload 1
iload 3
i2l
aload 4
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
ladd
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;J)V
5: goto 13
6: StackMap locals: org.bouncycastle.asn1.OIDTokenizer int java.lang.String
StackMap stack:
aload 0
aload 1
new java.math.BigInteger
dup
aload 4
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
iload 3
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;Ljava/math/BigInteger;)V
7: goto 13
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
astore 5
start local 5 9: aload 5
invokevirtual java.lang.String.length:()I
bipush 18
if_icmpgt 12
10: aload 0
aload 1
aload 5
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;J)V
11: goto 13
12: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
new java.math.BigInteger
dup
aload 5
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;Ljava/math/BigInteger;)V
end local 5 13: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.hasMoreTokens:()Z
ifne 8
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 15 1 aOut Ljava/io/ByteArrayOutputStream;
1 15 2 tok Lorg/bouncycastle/asn1/OIDTokenizer;
2 15 3 first I
3 15 4 secondToken Ljava/lang/String;
9 13 5 token Ljava/lang/String;
MethodParameters:
Name Flags
aOut
private synchronized byte[] getBody();
descriptor: ()[B
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
ifnonnull 4
1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 2: aload 0
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.doOutput:(Ljava/io/ByteArrayOutputStream;)V
3: aload 0
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
2 4 1 bOut Ljava/io/ByteArrayOutputStream;
boolean isConstructed();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
int encodedLength();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getBody:()[B
arraylength
istore 1
start local 1 1: iconst_1
iload 1
invokestatic org.bouncycastle.asn1.StreamUtil.calculateBodyLength:(I)I
iadd
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
1 2 1 length I
Exceptions:
throws java.io.IOException
void encode(org.bouncycastle.asn1.ASN1OutputStream);
descriptor: (Lorg/bouncycastle/asn1/ASN1OutputStream;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getBody:()[B
astore 2
start local 2 1: aload 1
bipush 6
invokevirtual org.bouncycastle.asn1.ASN1OutputStream.write:(I)V
2: aload 1
aload 2
arraylength
invokevirtual org.bouncycastle.asn1.ASN1OutputStream.writeLength:(I)V
3: aload 1
aload 2
invokevirtual org.bouncycastle.asn1.ASN1OutputStream.write:([B)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 1 out Lorg/bouncycastle/asn1/ASN1OutputStream;
1 5 2 enc [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
boolean asn1Equals(org.bouncycastle.asn1.ASN1Primitive);
descriptor: (Lorg/bouncycastle/asn1/ASN1Primitive;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
aload 1
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 1 o Lorg/bouncycastle/asn1/ASN1Primitive;
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
private static boolean isValidBranchID(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: goto 13
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: bipush 48
iload 4
if_icmpgt 7
iload 4
bipush 57
if_icmpgt 7
5: iconst_1
istore 2
6: goto 13
7: StackMap locals: int
StackMap stack:
iload 4
bipush 46
if_icmpne 12
8: iload 2
ifne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_0
istore 2
11: goto 13
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 13: StackMap locals:
StackMap stack:
iinc 3 -1
iload 3
iload 1
if_icmpge 3
14: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 branchID Ljava/lang/String;
0 15 1 start I
1 15 2 periodAllowed Z
2 15 3 pos I
4 13 4 ch C
MethodParameters:
Name Flags
branchID
start
private static boolean isValidIdentifier(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_3
if_icmplt 1
aload 0
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 1
start local 1 3: iload 1
bipush 48
if_icmplt 4
iload 1
bipush 50
if_icmple 5
4: StackMap locals: int
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.isValidBranchID:(Ljava/lang/String;I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 identifier Ljava/lang/String;
3 6 1 first C
MethodParameters:
Name Flags
identifier
public org.bouncycastle.asn1.ASN1ObjectIdentifier intern();
descriptor: ()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
dup
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getBody:()[B
invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle.<init>:([B)V
astore 1
start local 1 1: getstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
astore 2
start local 2 2: aload 2
ifnonnull 6
3: getstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
astore 2
4: aload 2
ifnonnull 6
5: aload 0
astore 2
6: StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle org.bouncycastle.asn1.ASN1ObjectIdentifier
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
1 7 1 hdl Lorg/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;
2 7 2 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
static org.bouncycastle.asn1.ASN1ObjectIdentifier fromOctetString(byte[]);
descriptor: ([B)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
dup
aload 0
invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle.<init>:([B)V
astore 1
start local 1 1: getstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new org.bouncycastle.asn1.ASN1ObjectIdentifier
dup
aload 0
invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:([B)V
areturn
4: StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle org.bouncycastle.asn1.ASN1ObjectIdentifier
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 enc [B
1 5 1 hdl Lorg/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;
2 5 2 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
enc
}
SourceFile: "ASN1ObjectIdentifier.java"
NestMembers:
org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
InnerClasses:
private OidHandle = org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle of org.bouncycastle.asn1.ASN1ObjectIdentifier