final class com.sun.jndi.ldap.Obj
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.Obj
super_class: java.lang.Object
{
static com.sun.jndi.ldap.VersionHelper helper;
descriptor: Lcom/sun/jndi/ldap/VersionHelper;
flags: (0x0008) ACC_STATIC
static final java.lang.String[] JAVA_ATTRIBUTES;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int OBJECT_CLASS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int SERIALIZED_DATA;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int CLASSNAME;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int FACTORY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int CODEBASE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int REF_ADDR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int TYPENAME;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int REMOTE_LOC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final java.lang.String[] JAVA_OBJECT_CLASSES;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String[] JAVA_OBJECT_CLASSES_LOWER;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int STRUCTURAL;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int BASE_OBJECT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int REF_OBJECT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int SER_OBJECT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int MAR_OBJECT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic com.sun.jndi.ldap.VersionHelper.getVersionHelper:()Lcom/sun/jndi/ldap/VersionHelper;
putstatic com.sun.jndi.ldap.Obj.helper:Lcom/sun/jndi/ldap/VersionHelper;
1: bipush 8
anewarray java.lang.String
dup
iconst_0
2: ldc "objectClass"
aastore
dup
iconst_1
3: ldc "javaSerializedData"
aastore
dup
iconst_2
4: ldc "javaClassName"
aastore
dup
iconst_3
5: ldc "javaFactory"
aastore
dup
iconst_4
6: ldc "javaCodeBase"
aastore
dup
iconst_5
7: ldc "javaReferenceAddress"
aastore
dup
bipush 6
8: ldc "javaClassNames"
aastore
dup
bipush 7
9: ldc "javaRemoteLocation"
aastore
10: putstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
11: iconst_5
anewarray java.lang.String
dup
iconst_0
12: ldc "javaContainer"
aastore
dup
iconst_1
13: ldc "javaObject"
aastore
dup
iconst_2
14: ldc "javaNamingReference"
aastore
dup
iconst_3
15: ldc "javaSerializedObject"
aastore
dup
iconst_4
16: ldc "javaMarshalledObject"
aastore
17: putstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
18: iconst_5
anewarray java.lang.String
dup
iconst_0
19: ldc "javacontainer"
aastore
dup
iconst_1
20: ldc "javaobject"
aastore
dup
iconst_2
21: ldc "javanamingreference"
aastore
dup
iconst_3
22: ldc "javaserializedobject"
aastore
dup
iconst_4
23: ldc "javamarshalledobject"
aastore
24: putstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES_LOWER:[Ljava/lang/String;
25: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/Obj;
private static javax.naming.directory.Attributes encodeObject(char, java.lang.Object, javax.naming.directory.Attributes, javax.naming.directory.Attribute, boolean);
descriptor: (CLjava/lang/Object;Ljavax/naming/directory/Attributes;Ljavax/naming/directory/Attribute;Z)Ljavax/naming/directory/Attributes;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface javax.naming.directory.Attribute.size:()I
ifeq 3
1: aload 3
invokeinterface javax.naming.directory.Attribute.size:()I
iconst_1
if_icmpne 2
aload 3
ldc "top"
invokeinterface javax.naming.directory.Attribute.contains:(Ljava/lang/Object;)Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: iload 5
ifeq 7
6: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_0
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: int
StackMap stack:
aload 1
instanceof javax.naming.Referenceable
ifeq 17
8: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_1
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
9: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
10: iload 4
ifne 12
11: aload 2
invokeinterface javax.naming.directory.Attributes.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attributes
astore 2
12: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
13: iload 0
14: aload 1
checkcast javax.naming.Referenceable
invokeinterface javax.naming.Referenceable.getReference:()Ljavax/naming/Reference;
15: aload 2
aload 1
16: invokestatic com.sun.jndi.ldap.Obj.encodeReference:(CLjavax/naming/Reference;Ljavax/naming/directory/Attributes;Ljava/lang/Object;)Ljavax/naming/directory/Attributes;
areturn
17: StackMap locals:
StackMap stack:
aload 1
instanceof javax.naming.Reference
ifeq 24
18: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_1
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
19: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
20: iload 4
ifne 22
21: aload 2
invokeinterface javax.naming.directory.Attributes.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attributes
astore 2
22: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
23: iload 0
aload 1
checkcast javax.naming.Reference
aload 2
aconst_null
invokestatic com.sun.jndi.ldap.Obj.encodeReference:(CLjavax/naming/Reference;Ljavax/naming/directory/Attributes;Ljava/lang/Object;)Ljavax/naming/directory/Attributes;
areturn
24: StackMap locals:
StackMap stack:
aload 1
instanceof java.io.Serializable
ifeq 45
25: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_1
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
26: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_4
aaload
invokeinterface javax.naming.directory.Attribute.contains:(Ljava/lang/Object;)Z
ifne 29
27: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES_LOWER:[Ljava/lang/String;
iconst_4
aaload
invokeinterface javax.naming.directory.Attribute.contains:(Ljava/lang/Object;)Z
ifne 29
28: aload 3
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_3
aaload
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals:
StackMap stack:
iload 4
ifne 31
30: aload 2
invokeinterface javax.naming.directory.Attributes.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attributes
astore 2
31: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
32: aload 2
new javax.naming.directory.BasicAttribute
dup
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_1
aaload
33: aload 1
invokestatic com.sun.jndi.ldap.Obj.serializeObject:(Ljava/lang/Object;)[B
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
34: invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
35: aload 2
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
ifnonnull 39
36: aload 2
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
37: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
38: invokeinterface javax.naming.directory.Attributes.put:(Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/directory/Attribute;
pop
39: StackMap locals:
StackMap stack:
aload 2
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
bipush 6
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
ifnonnull 49
40: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic com.sun.jndi.ldap.LdapCtxFactory.createTypeNameAttr:(Ljava/lang/Class;)Ljavax/naming/directory/Attribute;
41: astore 6
start local 6 42: aload 6
ifnull 49
43: aload 2
aload 6
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 6 44: goto 49
StackMap locals:
StackMap stack:
45: aload 1
instanceof javax.naming.directory.DirContext
ifne 49
46: new java.lang.IllegalArgumentException
dup
47: ldc "can only bind Referenceable, Serializable, DirContext"
48: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
aload 2
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 50 0 separator C
0 50 1 obj Ljava/lang/Object;
0 50 2 attrs Ljavax/naming/directory/Attributes;
0 50 3 objectClass Ljavax/naming/directory/Attribute;
0 50 4 cloned Z
5 50 5 structural Z
42 44 6 tAttr Ljavax/naming/directory/Attribute;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
separator
obj
attrs
objectClass
cloned
private static java.lang.String[] getCodebases(javax.naming.directory.Attribute);
descriptor: (Ljavax/naming/directory/Attribute;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 0
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
3: astore 1
start local 1 4: new java.util.Vector
dup
bipush 10
invokespecial java.util.Vector.<init>:(I)V
astore 2
start local 2 5: goto 7
6: StackMap locals: java.util.StringTokenizer java.util.Vector
StackMap stack:
aload 2
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 6
8: aload 2
invokevirtual java.util.Vector.size:()I
anewarray java.lang.String
astore 3
start local 3 9: iconst_0
istore 4
start local 4 10: goto 13
11: StackMap locals: java.lang.String[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.String
aastore
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 3
arraylength
if_icmplt 11
end local 4 14: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 codebaseAttr Ljavax/naming/directory/Attribute;
4 15 1 parser Ljava/util/StringTokenizer;
5 15 2 vec Ljava/util/Vector;
9 15 3 answer [Ljava/lang/String;
10 14 4 i I
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
codebaseAttr
static java.lang.Object decodeObject(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_4
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
invokestatic com.sun.jndi.ldap.Obj.getCodebases:(Ljavax/naming/directory/Attribute;)[Ljava/lang/String;
astore 2
start local 2 1: aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_1
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
dup
astore 1
start local 1 2: ifnull 6
3: getstatic com.sun.jndi.ldap.Obj.helper:Lcom/sun/jndi/ldap/VersionHelper;
aload 2
invokevirtual com.sun.jndi.ldap.VersionHelper.getURLClassLoader:([Ljava/lang/String;)Ljava/lang/ClassLoader;
astore 3
start local 3 4: aload 1
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast byte[]
aload 3
invokestatic com.sun.jndi.ldap.Obj.deserializeObject:([BLjava/lang/ClassLoader;)Ljava/lang/Object;
5: areturn
end local 3 6: StackMap locals: javax.naming.directory.Attribute java.lang.String[]
StackMap stack:
aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
bipush 7
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
dup
astore 1
ifnull 11
7: aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast java.lang.String
8: aload 1
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
9: invokestatic com.sun.jndi.ldap.Obj.decodeRmiObject:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Object;
10: areturn
11: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_0
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 1
12: aload 1
ifnull 17
13: aload 1
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attribute.contains:(Ljava/lang/Object;)Z
ifne 15
14: aload 1
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES_LOWER:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attribute.contains:(Ljava/lang/Object;)Z
ifeq 17
15: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic com.sun.jndi.ldap.Obj.decodeReference:(Ljavax/naming/directory/Attributes;[Ljava/lang/String;)Ljavax/naming/Reference;
16: areturn
17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 18: StackMap locals: javax.naming.directory.Attributes top java.lang.String[]
StackMap stack: java.io.IOException
astore 3
start local 3 19: new javax.naming.NamingException
dup
invokespecial javax.naming.NamingException.<init>:()V
astore 4
start local 4 20: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
21: aload 4
athrow
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 attrs Ljavax/naming/directory/Attributes;
2 18 1 attr Ljavax/naming/directory/Attribute;
1 22 2 codebases [Ljava/lang/String;
4 6 3 cl Ljava/lang/ClassLoader;
19 22 3 e Ljava/io/IOException;
20 22 4 ne Ljavax/naming/NamingException;
Exception table:
from to target type
1 5 18 Class java.io.IOException
6 10 18 Class java.io.IOException
11 16 18 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attrs
private static javax.naming.directory.Attributes encodeReference(char, javax.naming.Reference, javax.naming.directory.Attributes, java.lang.Object);
descriptor: (CLjavax/naming/Reference;Ljavax/naming/directory/Attributes;Ljava/lang/Object;)Ljavax/naming/directory/Attributes;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.naming.Reference.getClassName:()Ljava/lang/String;
dup
astore 4
start local 4 3: ifnull 5
4: aload 2
new javax.naming.directory.BasicAttribute
dup
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
aload 4
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual javax.naming.Reference.getFactoryClassName:()Ljava/lang/String;
dup
astore 4
ifnull 7
6: aload 2
new javax.naming.directory.BasicAttribute
dup
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_3
aaload
aload 4
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.naming.Reference.getFactoryClassLocation:()Ljava/lang/String;
dup
astore 4
ifnull 9
8: aload 2
new javax.naming.directory.BasicAttribute
dup
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_4
aaload
aload 4
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
9: StackMap locals:
StackMap stack:
aload 3
ifnull 14
aload 2
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
bipush 6
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
ifnull 14
10: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic com.sun.jndi.ldap.LdapCtxFactory.createTypeNameAttr:(Ljava/lang/Class;)Ljavax/naming/directory/Attribute;
11: astore 5
start local 5 12: aload 5
ifnull 14
13: aload 2
aload 5
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 5 14: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.naming.Reference.size:()I
istore 5
start local 5 15: iload 5
ifle 37
16: new javax.naming.directory.BasicAttribute
dup
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;)V
astore 6
start local 6 17: aconst_null
astore 8
start local 8 18: iconst_0
istore 9
start local 9 19: goto 35
20: StackMap locals: int javax.naming.Reference javax.naming.directory.Attributes java.lang.Object java.lang.String int javax.naming.directory.Attribute top sun.misc.BASE64Encoder int
StackMap stack:
aload 1
iload 9
invokevirtual javax.naming.Reference.get:(I)Ljavax/naming/RefAddr;
astore 7
start local 7 21: aload 7
instanceof javax.naming.StringRefAddr
ifeq 27
22: aload 6
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
23: iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 7
invokevirtual javax.naming.RefAddr.getType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 7
invokevirtual javax.naming.RefAddr.getContent:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
26: goto 34
27: StackMap locals: int javax.naming.Reference javax.naming.directory.Attributes java.lang.Object java.lang.String int javax.naming.directory.Attribute javax.naming.RefAddr sun.misc.BASE64Encoder int
StackMap stack:
aload 8
ifnonnull 29
28: new sun.misc.BASE64Encoder
dup
invokespecial sun.misc.BASE64Encoder.<init>:()V
astore 8
29: StackMap locals:
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
30: iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 7
invokevirtual javax.naming.RefAddr.getType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
32: aload 8
aload 7
invokestatic com.sun.jndi.ldap.Obj.serializeObject:(Ljava/lang/Object;)[B
invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
34: StackMap locals:
StackMap stack:
iinc 9 1
end local 7 StackMap locals: int javax.naming.Reference javax.naming.directory.Attributes java.lang.Object java.lang.String int javax.naming.directory.Attribute top sun.misc.BASE64Encoder int
StackMap stack:
35: iload 9
iload 5
if_icmplt 20
end local 9 36: aload 2
aload 6
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 8 end local 6 37: StackMap locals: int javax.naming.Reference javax.naming.directory.Attributes java.lang.Object java.lang.String int
StackMap stack:
aload 2
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 38 0 separator C
0 38 1 ref Ljavax/naming/Reference;
0 38 2 attrs Ljavax/naming/directory/Attributes;
0 38 3 orig Ljava/lang/Object;
3 38 4 s Ljava/lang/String;
12 14 5 tAttr Ljavax/naming/directory/Attribute;
15 38 5 count I
17 37 6 refAttr Ljavax/naming/directory/Attribute;
21 35 7 refAddr Ljavax/naming/RefAddr;
18 37 8 encoder Lsun/misc/BASE64Encoder;
19 36 9 i I
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
separator
ref
attrs
orig
private static java.lang.Object decodeRmiObject(java.lang.String, java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new javax.naming.Reference
dup
aload 0
new javax.naming.StringRefAddr
dup
ldc "URL"
aload 1
invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljavax/naming/RefAddr;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
0 1 1 rmiName Ljava/lang/String;
0 1 2 codebases [Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
className
rmiName
codebases
private static javax.naming.Reference decodeReference(javax.naming.directory.Attributes, java.lang.String[]);
descriptor: (Ljavax/naming/directory/Attributes;[Ljava/lang/String;)Ljavax/naming/Reference;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=18, args_size=2
start local 0 start local 1 0: aconst_null
astore 4
start local 4 1: aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
dup
astore 2
start local 2 2: ifnull 5
3: aload 2
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: goto 8
end local 3 5: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute top java.lang.String
StackMap stack:
new javax.naming.directory.InvalidAttributesException
dup
new java.lang.StringBuilder
dup
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc " attribute is required"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial javax.naming.directory.InvalidAttributesException.<init>:(Ljava/lang/String;)V
athrow
start local 3 8: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String
StackMap stack:
aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_3
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
dup
astore 2
ifnull 10
9: aload 2
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
10: StackMap locals:
StackMap stack:
new javax.naming.Reference
dup
aload 3
aload 4
11: aload 1
ifnull 12
aload 1
iconst_0
aaload
goto 13
StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String
StackMap stack: new 10 new 10 java.lang.String java.lang.String
12: aconst_null
13: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String
StackMap stack: new 10 new 10 java.lang.String java.lang.String java.lang.String
invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 14: aload 0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
dup
astore 2
ifnull 89
15: aconst_null
astore 13
start local 13 16: getstatic com.sun.jndi.ldap.Obj.helper:Lcom/sun/jndi/ldap/VersionHelper;
aload 1
invokevirtual com.sun.jndi.ldap.VersionHelper.getURLClassLoader:([Ljava/lang/String;)Ljava/lang/ClassLoader;
astore 14
start local 14 17: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 15
start local 15 18: aload 15
aload 2
invokeinterface javax.naming.directory.Attribute.size:()I
invokevirtual java.util.Vector.setSize:(I)V
19: aload 2
invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
astore 16
start local 16 20: goto 83
21: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference top top top top top top top sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
aload 16
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 22: aload 6
invokevirtual java.lang.String.length:()I
ifne 28
23: new javax.naming.directory.InvalidAttributeValueException
dup
24: new java.lang.StringBuilder
dup
ldc "malformed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "empty attribute value"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference java.lang.String top top top top top top sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 9
start local 9 29: iconst_1
istore 10
start local 10 30: aload 6
iload 9
iload 10
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 11
start local 11 31: ifge 37
32: new javax.naming.directory.InvalidAttributeValueException
dup
33: new java.lang.StringBuilder
dup
ldc "malformed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: ldc "separator '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference java.lang.String top top int int int top sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
aload 6
iload 10
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
dup
astore 7
start local 7 38: ifnonnull 44
39: new javax.naming.directory.InvalidAttributeValueException
dup
40: new java.lang.StringBuilder
dup
ldc "malformed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: ldc "empty RefAddr position"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference java.lang.String java.lang.String top int int int top sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
aload 7
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 12
start local 12 45: goto 52
end local 12 StackMap locals:
StackMap stack: java.lang.NumberFormatException
46: pop
47: new javax.naming.directory.InvalidAttributeValueException
dup
48: new java.lang.StringBuilder
dup
ldc "malformed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: ldc "RefAddr position not an integer"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
athrow
start local 12 52: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference java.lang.String java.lang.String top int int int int sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
iload 11
iconst_1
iadd
istore 10
53: aload 6
iload 9
iload 10
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 11
ifge 59
54: new javax.naming.directory.InvalidAttributeValueException
dup
55: new java.lang.StringBuilder
dup
ldc "malformed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
56: ldc "RefAddr type not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
57: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
58: invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
athrow
59: StackMap locals:
StackMap stack:
aload 6
iload 10
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
dup
astore 8
start local 8 60: ifnonnull 66
61: new javax.naming.directory.InvalidAttributeValueException
dup
62: new java.lang.StringBuilder
dup
ldc "malformed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: ldc "empty RefAddr type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
64: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
65: invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
athrow
66: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference java.lang.String java.lang.String java.lang.String int int int int sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
iload 11
iconst_1
iadd
istore 10
67: iload 10
aload 6
invokevirtual java.lang.String.length:()I
if_icmpne 70
68: aload 15
new javax.naming.StringRefAddr
dup
aload 8
aconst_null
invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
iload 12
invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
69: goto 83
StackMap locals:
StackMap stack:
70: aload 6
iload 10
invokevirtual java.lang.String.charAt:(I)C
iload 9
if_icmpne 80
71: iinc 10 1
72: aload 13
ifnonnull 74
73: new sun.misc.BASE64Decoder
dup
invokespecial sun.misc.BASE64Decoder.<init>:()V
astore 13
74: StackMap locals:
StackMap stack:
aload 13
aload 6
iload 10
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
75: aload 14
76: invokestatic com.sun.jndi.ldap.Obj.deserializeObject:([BLjava/lang/ClassLoader;)Ljava/lang/Object;
77: checkcast javax.naming.RefAddr
astore 17
start local 17 78: aload 15
aload 17
iload 12
invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
end local 17 79: goto 83
80: StackMap locals:
StackMap stack:
aload 15
new javax.naming.StringRefAddr
dup
aload 8
81: aload 6
iload 10
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
iload 12
82: invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 83: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference top top top top top top top sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector javax.naming.NamingEnumeration
StackMap stack:
aload 16
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 21
end local 16 84: iconst_0
istore 16
start local 16 85: goto 88
86: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference top top top top top top top sun.misc.BASE64Decoder java.lang.ClassLoader java.util.Vector int
StackMap stack:
aload 5
aload 15
iload 16
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.naming.RefAddr
invokevirtual javax.naming.Reference.add:(Ljavax/naming/RefAddr;)V
87: iinc 16 1
StackMap locals:
StackMap stack:
88: iload 16
aload 15
invokevirtual java.util.Vector.size:()I
if_icmplt 86
end local 16 end local 15 end local 14 end local 13 89: StackMap locals: javax.naming.directory.Attributes java.lang.String[] javax.naming.directory.Attribute java.lang.String java.lang.String javax.naming.Reference
StackMap stack:
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 90 0 attrs Ljavax/naming/directory/Attributes;
0 90 1 codebases [Ljava/lang/String;
2 90 2 attr Ljavax/naming/directory/Attribute;
4 5 3 className Ljava/lang/String;
8 90 3 className Ljava/lang/String;
1 90 4 factory Ljava/lang/String;
14 90 5 ref Ljavax/naming/Reference;
22 83 6 val Ljava/lang/String;
38 83 7 posnStr Ljava/lang/String;
60 83 8 type Ljava/lang/String;
29 83 9 separator C
30 83 10 start I
31 83 11 sep I
45 46 12 posn I
52 83 12 posn I
16 89 13 decoder Lsun/misc/BASE64Decoder;
17 89 14 cl Ljava/lang/ClassLoader;
18 89 15 refAddrList Ljava/util/Vector;
20 84 16 vals Ljavax/naming/NamingEnumeration;
78 79 17 ra Ljavax/naming/RefAddr;
85 89 16 i I
Exception table:
from to target type
44 45 46 Class java.lang.NumberFormatException
Exceptions:
throws javax.naming.NamingException, java.io.IOException
MethodParameters:
Name Flags
attrs
codebases
private static byte[] serializeObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: new java.io.ObjectOutputStream
dup
aload 1
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 2: aload 2
aload 0
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
3: aload 2
invokevirtual java.io.ObjectOutputStream.close:()V
4: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
5: areturn
end local 2 end local 1 6: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 7: new javax.naming.NamingException
dup
invokespecial javax.naming.NamingException.<init>:()V
astore 2
start local 2 8: aload 2
aload 1
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
9: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 obj Ljava/lang/Object;
1 6 1 bytes Ljava/io/ByteArrayOutputStream;
2 6 2 serial Ljava/io/ObjectOutputStream;
7 10 1 e Ljava/io/IOException;
8 10 2 ne Ljavax/naming/NamingException;
Exception table:
from to target type
0 5 6 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
obj
private static java.lang.Object deserializeObject(byte[], java.lang.ClassLoader);
descriptor: ([BLjava/lang/ClassLoader;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: new java.io.ByteArrayInputStream
dup
aload 0
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 2
start local 2 1: aload 1
ifnonnull 3
2: new java.io.ObjectInputStream
dup
aload 2
invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
goto 4
3: StackMap locals: java.io.ByteArrayInputStream
StackMap stack:
new com.sun.jndi.ldap.Obj$LoaderInputStream
dup
aload 2
aload 1
invokespecial com.sun.jndi.ldap.Obj$LoaderInputStream.<init>:(Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
4: StackMap locals:
StackMap stack: java.io.ObjectInputStream
astore 3
start local 3 5: aload 3
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
astore 7
6: aload 3
invokevirtual java.io.ObjectInputStream.close:()V
7: aload 7
areturn
8: StackMap locals: byte[] java.lang.ClassLoader java.io.ByteArrayInputStream java.io.ObjectInputStream
StackMap stack: java.lang.ClassNotFoundException
astore 4
start local 4 9: new javax.naming.NamingException
dup
invokespecial javax.naming.NamingException.<init>:()V
astore 5
start local 5 10: aload 5
aload 4
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
11: aload 5
athrow
end local 5 end local 4 12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
13: aload 3
invokevirtual java.io.ObjectInputStream.close:()V
14: aload 6
athrow
end local 3 end local 2 15: StackMap locals: byte[] java.lang.ClassLoader
StackMap stack: java.io.IOException
astore 2
start local 2 16: new javax.naming.NamingException
dup
invokespecial javax.naming.NamingException.<init>:()V
astore 3
start local 3 17: aload 3
aload 2
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
18: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 obj [B
0 19 1 cl Ljava/lang/ClassLoader;
1 15 2 bytes Ljava/io/ByteArrayInputStream;
5 15 3 deserial Ljava/io/ObjectInputStream;
9 12 4 e Ljava/lang/ClassNotFoundException;
10 12 5 ne Ljavax/naming/NamingException;
16 19 2 e Ljava/io/IOException;
17 19 3 ne Ljavax/naming/NamingException;
Exception table:
from to target type
5 6 8 Class java.lang.ClassNotFoundException
5 6 12 any
8 12 12 any
0 7 15 Class java.io.IOException
8 15 15 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
obj
cl
static javax.naming.directory.Attributes determineBindAttrs(char, java.lang.Object, javax.naming.directory.Attributes, boolean, javax.naming.Name, javax.naming.Context, java.util.Hashtable);
descriptor: (CLjava/lang/Object;Ljavax/naming/directory/Attributes;ZLjavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljavax/naming/directory/Attributes;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
aload 4
aload 5
aload 6
aload 2
invokestatic javax.naming.spi.DirectoryManager.getStateToBind:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;Ljavax/naming/directory/Attributes;)Ljavax/naming/spi/DirStateFactory$Result;
1: astore 7
start local 7 2: aload 7
invokevirtual javax.naming.spi.DirStateFactory$Result.getObject:()Ljava/lang/Object;
astore 1
3: aload 7
invokevirtual javax.naming.spi.DirStateFactory$Result.getAttributes:()Ljavax/naming/directory/Attributes;
astore 2
4: aload 1
ifnonnull 6
5: aload 2
areturn
6: StackMap locals: javax.naming.spi.DirStateFactory$Result
StackMap stack:
aload 2
ifnonnull 9
aload 1
instanceof javax.naming.directory.DirContext
ifeq 9
7: iconst_1
istore 3
8: aload 1
checkcast javax.naming.directory.DirContext
ldc ""
invokeinterface javax.naming.directory.DirContext.getAttributes:(Ljava/lang/String;)Ljavax/naming/directory/Attributes;
astore 2
9: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 10: aload 2
ifnull 11
aload 2
invokeinterface javax.naming.directory.Attributes.size:()I
ifne 15
11: StackMap locals: int
StackMap stack:
new javax.naming.directory.BasicAttributes
dup
iconst_1
invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
astore 2
12: iconst_1
istore 3
13: new javax.naming.directory.BasicAttribute
dup
ldc "objectClass"
ldc "top"
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 9
start local 9 14: goto 23
end local 9 15: StackMap locals:
StackMap stack:
aload 2
ldc "objectClass"
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 9
start local 9 16: aload 9
ifnonnull 18
aload 2
invokeinterface javax.naming.directory.Attributes.isCaseIgnored:()Z
ifne 18
17: aload 2
ldc "objectclass"
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 9
18: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
aload 9
ifnonnull 21
19: new javax.naming.directory.BasicAttribute
dup
ldc "objectClass"
ldc "top"
invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 9
20: goto 23
StackMap locals:
StackMap stack:
21: iload 8
ifne 22
iload 3
ifne 23
22: StackMap locals:
StackMap stack:
aload 9
invokeinterface javax.naming.directory.Attribute.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
astore 9
23: StackMap locals:
StackMap stack:
iload 0
aload 1
aload 2
aload 9
iload 3
invokestatic com.sun.jndi.ldap.Obj.encodeObject:(CLjava/lang/Object;Ljavax/naming/directory/Attributes;Ljavax/naming/directory/Attribute;Z)Ljavax/naming/directory/Attributes;
astore 2
24: aload 2
areturn
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 25 0 separator C
0 25 1 obj Ljava/lang/Object;
0 25 2 attrs Ljavax/naming/directory/Attributes;
0 25 3 cloned Z
0 25 4 name Ljavax/naming/Name;
0 25 5 ctx Ljavax/naming/Context;
0 25 6 env Ljava/util/Hashtable;
2 25 7 res Ljavax/naming/spi/DirStateFactory$Result;
10 25 8 ocNeedsCloning Z
14 15 9 objectClass Ljavax/naming/directory/Attribute;
16 25 9 objectClass Ljavax/naming/directory/Attribute;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
separator
obj
attrs
cloned
name
ctx
env
}
SourceFile: "Obj.java"
NestMembers:
com.sun.jndi.ldap.Obj$LoaderInputStream
InnerClasses:
private final LoaderInputStream = com.sun.jndi.ldap.Obj$LoaderInputStream of com.sun.jndi.ldap.Obj
public Result = javax.naming.spi.DirStateFactory$Result of javax.naming.spi.DirStateFactory