public class com.sun.jndi.rmi.registry.RegistryContext implements javax.naming.Context, javax.naming.Referenceable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.jndi.rmi.registry.RegistryContext
super_class: java.lang.Object
{
private java.util.Hashtable<java.lang.String, java.lang.Object> environment;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
private java.rmi.registry.Registry registry;
descriptor: Ljava/rmi/registry/Registry;
flags: (0x0002) ACC_PRIVATE
private java.lang.String host;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int port;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final javax.naming.NameParser nameParser;
descriptor: Ljavax/naming/NameParser;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SOCKET_FACTORY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.rmi.factory.socket"
static final boolean trustURLCodebase;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
javax.naming.Reference reference;
descriptor: Ljavax/naming/Reference;
flags: (0x0000)
public static final java.lang.String SECURITY_MGR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.rmi.security.manager"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new com.sun.jndi.rmi.registry.AtomicNameParser
dup
invokespecial com.sun.jndi.rmi.registry.AtomicNameParser.<init>:()V
putstatic com.sun.jndi.rmi.registry.RegistryContext.nameParser:Ljavax/naming/NameParser;
1: new com.sun.jndi.rmi.registry.RegistryContext$1
dup
invokespecial com.sun.jndi.rmi.registry.RegistryContext$1.<init>:()V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 3: ldc "true"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putstatic com.sun.jndi.rmi.registry.RegistryContext.trustURLCodebase:Z
end local 0 4: return
LocalVariableTable:
Start End Slot Name Signature
3 4 0 trust Ljava/lang/String;
public void <init>(java.lang.String, int, java.util.Hashtable<?, ?>);
descriptor: (Ljava/lang/String;ILjava/util/Hashtable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
2: aload 0
aload 3
ifnonnull 4
3: new java.util.Hashtable
dup
iconst_5
invokespecial java.util.Hashtable.<init>:(I)V
goto 5
4: StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.lang.String int java.util.Hashtable
StackMap stack: com.sun.jndi.rmi.registry.RegistryContext
aload 3
5: StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.lang.String int java.util.Hashtable
StackMap stack: com.sun.jndi.rmi.registry.RegistryContext java.util.Hashtable
putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
6: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
ldc "java.naming.rmi.security.manager"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 8
7: invokestatic com.sun.jndi.rmi.registry.RegistryContext.installSecurityMgr:()V
8: StackMap locals:
StackMap stack:
aload 1
ifnull 10
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 10
9: aload 1
iconst_1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
ldc "com.sun.jndi.rmi.factory.socket"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.server.RMIClientSocketFactory
11: astore 4
start local 4 12: aload 0
aload 1
iload 2
aload 4
invokestatic com.sun.jndi.rmi.registry.RegistryContext.getRegistry:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
13: aload 0
aload 1
putfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
14: aload 0
iload 2
putfield com.sun.jndi.rmi.registry.RegistryContext.port:I
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 16 1 host Ljava/lang/String;
0 16 2 port I
0 16 3 env Ljava/util/Hashtable<**>;
12 16 4 socketFactory Ljava/rmi/server/RMIClientSocketFactory;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;ILjava/util/Hashtable<**>;)V
MethodParameters:
Name Flags
host
port
env
void <init>(com.sun.jndi.rmi.registry.RegistryContext);
descriptor: (Lcom/sun/jndi/rmi/registry/RegistryContext;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
2: aload 0
aload 1
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
3: aload 0
aload 1
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
4: aload 0
aload 1
getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
putfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
5: aload 0
aload 1
getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
putfield com.sun.jndi.rmi.registry.RegistryContext.port:I
6: aload 0
aload 1
getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 8 1 ctx Lcom/sun/jndi/rmi/registry/RegistryContext;
MethodParameters:
Name Flags
ctx
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
public java.lang.Object lookup(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 2
1: new com.sun.jndi.rmi.registry.RegistryContext
dup
aload 0
invokespecial com.sun.jndi.rmi.registry.RegistryContext.<init>:(Lcom/sun/jndi/rmi/registry/RegistryContext;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokeinterface java.rmi.registry.Registry.lookup:(Ljava/lang/String;)Ljava/rmi/Remote;
astore 2
start local 2 3: goto 8
end local 2 StackMap locals:
StackMap stack: java.rmi.NotBoundException
4: pop
5: new javax.naming.NameNotFoundException
dup
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokespecial javax.naming.NameNotFoundException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 3
start local 3 7: aload 3
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 3 start local 2 8: StackMap locals: java.rmi.Remote
StackMap stack:
aload 0
aload 2
aload 1
iconst_1
invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.decodeObject:(Ljava/rmi/Remote;Ljavax/naming/Name;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 9 1 name Ljavax/naming/Name;
3 4 2 obj Ljava/rmi/Remote;
8 9 2 obj Ljava/rmi/Remote;
7 8 3 e Ljava/rmi/RemoteException;
Exception table:
from to target type
2 3 4 Class java.rmi.NotBoundException
2 3 6 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public java.lang.Object lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public void bind(javax.naming.Name, java.lang.Object);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 4
1: new javax.naming.InvalidNameException
dup
2: ldc "RegistryContext: Cannot bind empty name"
3: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
aload 0
aload 2
aload 1
iconst_1
invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.encodeObject:(Ljava/lang/Object;Ljavax/naming/Name;)Ljava/rmi/Remote;
invokeinterface java.rmi.registry.Registry.bind:(Ljava/lang/String;Ljava/rmi/Remote;)V
5: goto 12
StackMap locals:
StackMap stack: java.rmi.AlreadyBoundException
6: astore 3
start local 3 7: new javax.naming.NameAlreadyBoundException
dup
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokespecial javax.naming.NameAlreadyBoundException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 8: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
9: aload 4
athrow
end local 4 end local 3 10: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 3
start local 3 11: aload 3
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 3 12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 13 1 name Ljavax/naming/Name;
0 13 2 obj Ljava/lang/Object;
7 10 3 e Ljava/rmi/AlreadyBoundException;
8 10 4 ne Ljavax/naming/NamingException;
11 12 3 e Ljava/rmi/RemoteException;
Exception table:
from to target type
4 5 6 Class java.rmi.AlreadyBoundException
4 5 10 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
public void bind(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.bind:(Ljavax/naming/Name;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 2 1 name Ljava/lang/String;
0 2 2 obj Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
public void rebind(javax.naming.Name, java.lang.Object);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 4
1: new javax.naming.InvalidNameException
dup
2: ldc "RegistryContext: Cannot rebind empty name"
3: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
aload 0
aload 2
aload 1
iconst_1
invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.encodeObject:(Ljava/lang/Object;Ljavax/naming/Name;)Ljava/rmi/Remote;
invokeinterface java.rmi.registry.Registry.rebind:(Ljava/lang/String;Ljava/rmi/Remote;)V
5: goto 8
StackMap locals:
StackMap stack: java.rmi.RemoteException
6: astore 3
start local 3 7: aload 3
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 9 1 name Ljavax/naming/Name;
0 9 2 obj Ljava/lang/Object;
7 8 3 e Ljava/rmi/RemoteException;
Exception table:
from to target type
4 5 6 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
public void rebind(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.rebind:(Ljavax/naming/Name;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 2 1 name Ljava/lang/String;
0 2 2 obj Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
public void unbind(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 4
1: new javax.naming.InvalidNameException
dup
2: ldc "RegistryContext: Cannot unbind empty name"
3: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokeinterface java.rmi.registry.Registry.unbind:(Ljava/lang/String;)V
5: goto 9
StackMap locals:
StackMap stack: java.rmi.NotBoundException
6: pop
goto 9
7: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 2
start local 2 8: aload 2
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 10 1 name Ljavax/naming/Name;
8 9 2 e Ljava/rmi/RemoteException;
Exception table:
from to target type
4 5 6 Class java.rmi.NotBoundException
4 5 7 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public void unbind(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.unbind:(Ljavax/naming/Name;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 2 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public void rename(javax.naming.Name, javax.naming.Name);
descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.bind:(Ljavax/naming/Name;Ljava/lang/Object;)V
1: aload 0
aload 1
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.unbind:(Ljavax/naming/Name;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 3 1 oldName Ljavax/naming/Name;
0 3 2 newName Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
oldName
newName
public void rename(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
new javax.naming.CompositeName
dup
aload 2
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.rename:(Ljavax/naming/Name;Ljavax/naming/Name;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 2 1 name Ljava/lang/String;
0 2 2 newName Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
newName
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifne 4
1: new javax.naming.InvalidNameException
dup
2: ldc "RegistryContext: can only list \"\""
3: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
invokeinterface java.rmi.registry.Registry.list:()[Ljava/lang/String;
astore 2
start local 2 5: new com.sun.jndi.rmi.registry.NameClassPairEnumeration
dup
aload 2
invokespecial com.sun.jndi.rmi.registry.NameClassPairEnumeration.<init>:([Ljava/lang/String;)V
6: areturn
end local 2 7: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 2
start local 2 8: aload 2
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 9 1 name Ljavax/naming/Name;
5 7 2 names [Ljava/lang/String;
8 9 2 e Ljava/rmi/RemoteException;
Exception table:
from to target type
4 6 7 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
Signature: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration<Ljavax/naming/NameClassPair;>;
MethodParameters:
Name Flags
name
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.list:(Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration<Ljavax/naming/NameClassPair;>;
MethodParameters:
Name Flags
name
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifne 4
1: new javax.naming.InvalidNameException
dup
2: ldc "RegistryContext: can only list \"\""
3: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
invokeinterface java.rmi.registry.Registry.list:()[Ljava/lang/String;
astore 2
start local 2 5: new com.sun.jndi.rmi.registry.BindingEnumeration
dup
aload 0
aload 2
invokespecial com.sun.jndi.rmi.registry.BindingEnumeration.<init>:(Lcom/sun/jndi/rmi/registry/RegistryContext;[Ljava/lang/String;)V
6: areturn
end local 2 7: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 2
start local 2 8: aload 2
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 9 1 name Ljavax/naming/Name;
5 7 2 names [Ljava/lang/String;
8 9 2 e Ljava/rmi/RemoteException;
Exception table:
from to target type
4 6 7 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
Signature: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration<Ljavax/naming/Binding;>;
MethodParameters:
Name Flags
name
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.listBindings:(Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration<Ljavax/naming/Binding;>;
MethodParameters:
Name Flags
name
public void destroySubcontext(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new javax.naming.OperationNotSupportedException
dup
invokespecial javax.naming.OperationNotSupportedException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public void destroySubcontext(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new javax.naming.OperationNotSupportedException
dup
invokespecial javax.naming.OperationNotSupportedException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public javax.naming.Context createSubcontext(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljavax/naming/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new javax.naming.OperationNotSupportedException
dup
invokespecial javax.naming.OperationNotSupportedException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public javax.naming.Context createSubcontext(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/naming/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new javax.naming.OperationNotSupportedException
dup
invokespecial javax.naming.OperationNotSupportedException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public java.lang.Object lookupLink(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public java.lang.Object lookupLink(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public javax.naming.NameParser getNameParser(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljavax/naming/NameParser;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.sun.jndi.rmi.registry.RegistryContext.nameParser:Ljavax/naming/NameParser;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public javax.naming.NameParser getNameParser(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/naming/NameParser;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.sun.jndi.rmi.registry.RegistryContext.nameParser:Ljavax/naming/NameParser;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
public javax.naming.Name composeName(javax.naming.Name, javax.naming.Name);
descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
checkcast javax.naming.Name
astore 3
start local 3 1: aload 3
aload 1
invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 2 1 name Ljavax/naming/Name;
0 2 2 prefix Ljavax/naming/Name;
1 2 3 result Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
prefix
public java.lang.String composeName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
1: new javax.naming.CompositeName
dup
aload 2
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
2: invokevirtual com.sun.jndi.rmi.registry.RegistryContext.composeName:(Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
3: invokevirtual java.lang.Object.toString:()Ljava/lang/String;
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 5 1 name Ljava/lang/String;
0 5 2 prefix Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
prefix
public java.lang.Object removeFromEnvironment(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 1 1 propName Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
public java.lang.Object addToEnvironment(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "java.naming.rmi.security.manager"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: invokestatic com.sun.jndi.rmi.registry.RegistryContext.installSecurityMgr:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 3 1 propName Ljava/lang/String;
0 3 2 propVal Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
propVal
public java.util.Hashtable<java.lang.String, java.lang.Object> getEnvironment();
descriptor: ()Ljava/util/Hashtable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
Exceptions:
throws javax.naming.NamingException
Signature: ()Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
1: aload 0
aconst_null
putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
public java.lang.String getNameInNamespace();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ""
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
public javax.naming.Reference getReference();
descriptor: ()Ljavax/naming/Reference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
ifnull 2
1: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
invokevirtual javax.naming.Reference.clone:()Ljava/lang/Object;
checkcast javax.naming.Reference
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
ifnull 3
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
ldc "localhost"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
3: StackMap locals:
StackMap stack:
new javax.naming.ConfigurationException
dup
4: ldc "Cannot create a reference for an RMI registry whose host was unspecified or specified as \"localhost\""
5: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
ldc "rmi://"
astore 1
start local 1 7: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmple 8
new java.lang.StringBuilder
dup
aload 1
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 0
getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 9
8: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: StackMap locals:
StackMap stack: java.lang.String
astore 1
10: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
ifle 12
11: new java.lang.StringBuilder
dup
aload 1
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 0
getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
12: StackMap locals:
StackMap stack:
new javax.naming.StringRefAddr
dup
ldc "URL"
13: aload 1
14: invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 15: new javax.naming.Reference
dup
ldc Lcom/sun/jndi/rmi/registry/RegistryContext;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
16: aload 2
17: ldc Lcom/sun/jndi/rmi/registry/RegistryContextFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
18: aconst_null
19: invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljavax/naming/RefAddr;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
7 20 1 url Ljava/lang/String;
15 20 2 addr Ljavax/naming/RefAddr;
Exceptions:
throws javax.naming.NamingException
public static javax.naming.NamingException wrapRemoteException(java.rmi.RemoteException);
descriptor: (Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
instanceof java.rmi.ConnectException
ifeq 3
1: new javax.naming.ServiceUnavailableException
dup
invokespecial javax.naming.ServiceUnavailableException.<init>:()V
astore 1
start local 1 2: goto 23
end local 1 StackMap locals:
StackMap stack:
3: aload 0
instanceof java.rmi.AccessException
ifeq 6
4: new javax.naming.NoPermissionException
dup
invokespecial javax.naming.NoPermissionException.<init>:()V
astore 1
start local 1 5: goto 23
end local 1 StackMap locals:
StackMap stack:
6: aload 0
instanceof java.rmi.StubNotFoundException
ifne 9
7: aload 0
instanceof java.rmi.UnknownHostException
ifne 9
8: aload 0
instanceof java.rmi.server.SocketSecurityException
ifeq 11
9: StackMap locals:
StackMap stack:
new javax.naming.ConfigurationException
dup
invokespecial javax.naming.ConfigurationException.<init>:()V
astore 1
start local 1 10: goto 23
end local 1 StackMap locals:
StackMap stack:
11: aload 0
instanceof java.rmi.server.ExportException
ifne 16
12: aload 0
instanceof java.rmi.ConnectIOException
ifne 16
13: aload 0
instanceof java.rmi.MarshalException
ifne 16
14: aload 0
instanceof java.rmi.UnmarshalException
ifne 16
15: aload 0
instanceof java.rmi.NoSuchObjectException
ifeq 18
16: StackMap locals:
StackMap stack:
new javax.naming.CommunicationException
dup
invokespecial javax.naming.CommunicationException.<init>:()V
astore 1
start local 1 17: goto 23
end local 1 StackMap locals:
StackMap stack:
18: aload 0
instanceof java.rmi.ServerException
ifeq 22
19: aload 0
getfield java.rmi.RemoteException.detail:Ljava/lang/Throwable;
instanceof java.rmi.RemoteException
ifeq 22
20: aload 0
getfield java.rmi.RemoteException.detail:Ljava/lang/Throwable;
checkcast java.rmi.RemoteException
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
astore 1
start local 1 21: goto 23
end local 1 22: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
invokespecial javax.naming.NamingException.<init>:()V
astore 1
start local 1 23: StackMap locals: javax.naming.NamingException
StackMap stack:
aload 1
aload 0
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
24: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 re Ljava/rmi/RemoteException;
2 3 1 ne Ljavax/naming/NamingException;
5 6 1 ne Ljavax/naming/NamingException;
10 11 1 ne Ljavax/naming/NamingException;
17 18 1 ne Ljavax/naming/NamingException;
21 22 1 ne Ljavax/naming/NamingException;
23 25 1 ne Ljavax/naming/NamingException;
MethodParameters:
Name Flags
re
private static java.rmi.registry.Registry getRegistry(java.lang.String, int, java.rmi.server.RMIClientSocketFactory);
descriptor: (Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 3
1: aload 0
iload 1
invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;I)Ljava/rmi/registry/Registry;
2: areturn
3: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
4: areturn
5: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 3
start local 3 6: aload 3
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 host Ljava/lang/String;
0 7 1 port I
0 7 2 socketFactory Ljava/rmi/server/RMIClientSocketFactory;
6 7 3 e Ljava/rmi/RemoteException;
Exception table:
from to target type
0 2 5 Class java.rmi.RemoteException
3 4 5 Class java.rmi.RemoteException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
host
port
socketFactory
private static void installSecurityMgr();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.rmi.RMISecurityManager
dup
invokespecial java.rmi.RMISecurityManager.<init>:()V
invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
1: goto 3
StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
0 1 2 Class java.lang.Exception
private java.rmi.Remote encodeObject(java.lang.Object, javax.naming.Name);
descriptor: (Ljava/lang/Object;Ljavax/naming/Name;)Ljava/rmi/Remote;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aload 0
aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
invokestatic javax.naming.spi.NamingManager.getStateToBind:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
astore 1
1: aload 1
instanceof java.rmi.Remote
ifeq 3
2: aload 1
checkcast java.rmi.Remote
areturn
3: StackMap locals:
StackMap stack:
aload 1
instanceof javax.naming.Reference
ifeq 5
4: new com.sun.jndi.rmi.registry.ReferenceWrapper
dup
aload 1
checkcast javax.naming.Reference
invokespecial com.sun.jndi.rmi.registry.ReferenceWrapper.<init>:(Ljavax/naming/Reference;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
instanceof javax.naming.Referenceable
ifeq 7
6: new com.sun.jndi.rmi.registry.ReferenceWrapper
dup
aload 1
checkcast javax.naming.Referenceable
invokeinterface javax.naming.Referenceable.getReference:()Ljavax/naming/Reference;
invokespecial com.sun.jndi.rmi.registry.ReferenceWrapper.<init>:(Ljavax/naming/Reference;)V
areturn
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
8: ldc "RegistryContext: object to bind must be Remote, Reference, or Referenceable"
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 10 1 obj Ljava/lang/Object;
0 10 2 name Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException, java.rmi.RemoteException
MethodParameters:
Name Flags
obj
name
private java.lang.Object decodeObject(java.rmi.Remote, javax.naming.Name);
descriptor: (Ljava/rmi/Remote;Ljavax/naming/Name;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.sun.jndi.rmi.registry.RemoteReference
ifeq 2
1: aload 1
checkcast com.sun.jndi.rmi.registry.RemoteReference
invokeinterface com.sun.jndi.rmi.registry.RemoteReference.getReference:()Ljavax/naming/Reference;
goto 3
2: StackMap locals:
StackMap stack:
aload 1
3: StackMap locals:
StackMap stack: java.lang.Object
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aload 3
instanceof javax.naming.Reference
ifeq 8
6: aload 3
checkcast javax.naming.Reference
astore 4
7: goto 10
StackMap locals: java.lang.Object javax.naming.Reference
StackMap stack:
8: aload 3
instanceof javax.naming.Referenceable
ifeq 10
9: aload 3
checkcast javax.naming.Referenceable
invokeinterface javax.naming.Referenceable.getReference:()Ljavax/naming/Reference;
astore 4
10: StackMap locals:
StackMap stack:
aload 4
ifnull 15
aload 4
invokevirtual javax.naming.Reference.getFactoryClassLocation:()Ljava/lang/String;
ifnull 15
11: getstatic com.sun.jndi.rmi.registry.RegistryContext.trustURLCodebase:Z
ifne 15
12: new javax.naming.ConfigurationException
dup
13: ldc "The object factory is untrusted. Set the system property 'com.sun.jndi.rmi.object.trustURLCodebase' to 'true'."
14: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 0
16: aload 0
getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
17: invokestatic javax.naming.spi.NamingManager.getObjectInstance:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
18: areturn
end local 4 end local 3 19: StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.rmi.Remote javax.naming.Name
StackMap stack: javax.naming.NamingException
astore 3
start local 3 20: aload 3
athrow
end local 3 21: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 3
start local 3 22: aload 3
invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
23: checkcast javax.naming.NamingException
athrow
end local 3 24: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 25: new javax.naming.NamingException
dup
invokespecial javax.naming.NamingException.<init>:()V
astore 4
start local 4 26: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
27: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/jndi/rmi/registry/RegistryContext;
0 28 1 r Ljava/rmi/Remote;
0 28 2 name Ljavax/naming/Name;
4 19 3 obj Ljava/lang/Object;
5 19 4 ref Ljavax/naming/Reference;
20 21 3 e Ljavax/naming/NamingException;
22 24 3 e Ljava/rmi/RemoteException;
25 28 3 e Ljava/lang/Exception;
26 28 4 ne Ljavax/naming/NamingException;
Exception table:
from to target type
0 18 19 Class javax.naming.NamingException
0 18 21 Class java.rmi.RemoteException
0 18 24 Class java.lang.Exception
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
r
name
}
SourceFile: "RegistryContext.java"
NestMembers:
com.sun.jndi.rmi.registry.RegistryContext$1
InnerClasses:
com.sun.jndi.rmi.registry.RegistryContext$1