public class com.caucho.hessian.client.HessianProxy implements java.lang.reflect.InvocationHandler, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.caucho.hessian.client.HessianProxy
super_class: java.lang.Object
{
private static final java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected com.caucho.hessian.client.HessianProxyFactory _factory;
descriptor: Lcom/caucho/hessian/client/HessianProxyFactory;
flags: (0x0004) ACC_PROTECTED
private java.util.WeakHashMap<java.lang.reflect.Method, java.lang.String> _mangleMap;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/WeakHashMap<Ljava/lang/reflect/Method;Ljava/lang/String;>;
private java.lang.Class<?> _type;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<*>;
private java.net.URL _url;
descriptor: Ljava/net/URL;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/caucho/hessian/client/HessianProxy;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
1: putstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.net.URL, com.caucho.hessian.client.HessianProxyFactory);
descriptor: (Ljava/net/URL;Lcom/caucho/hessian/client/HessianProxyFactory;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial com.caucho.hessian.client.HessianProxy.<init>:(Ljava/net/URL;Lcom/caucho/hessian/client/HessianProxyFactory;Ljava/lang/Class;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/caucho/hessian/client/HessianProxy;
0 2 1 url Ljava/net/URL;
0 2 2 factory Lcom/caucho/hessian/client/HessianProxyFactory;
MethodParameters:
Name Flags
url
factory
protected void <init>(java.net.URL, com.caucho.hessian.client.HessianProxyFactory, java.lang.Class<?>);
descriptor: (Ljava/net/URL;Lcom/caucho/hessian/client/HessianProxyFactory;Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, 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
2: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.caucho.hessian.client.HessianProxy._mangleMap:Ljava/util/WeakHashMap;
3: aload 0
aload 2
putfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
4: aload 0
aload 1
putfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
5: aload 0
aload 3
putfield com.caucho.hessian.client.HessianProxy._type:Ljava/lang/Class;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/caucho/hessian/client/HessianProxy;
0 7 1 url Ljava/net/URL;
0 7 2 factory Lcom/caucho/hessian/client/HessianProxyFactory;
0 7 3 type Ljava/lang/Class<*>;
Signature: (Ljava/net/URL;Lcom/caucho/hessian/client/HessianProxyFactory;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
url
factory
type
public java.net.URL getURL();
descriptor: ()Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/caucho/hessian/client/HessianProxy;
public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.caucho.hessian.client.HessianProxy._mangleMap:Ljava/util/WeakHashMap;
dup
astore 5
monitorenter
1: aload 0
getfield com.caucho.hessian.client.HessianProxy._mangleMap:Ljava/util/WeakHashMap;
aload 2
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 2: aload 5
monitorexit
3: goto 6
end local 4 StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] top java.util.WeakHashMap
StackMap stack: java.lang.Throwable
4: aload 5
monitorexit
5: athrow
start local 4 6: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String
StackMap stack:
aload 4
ifnonnull 36
7: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 5
start local 5 8: aload 2
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 6
start local 6 9: aload 5
ldc "equals"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
10: aload 6
arraylength
iconst_1
if_icmpne 19
aload 6
iconst_0
aaload
ldc Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 19
11: aload 3
iconst_0
aaload
astore 7
start local 7 12: aload 7
ifnull 13
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifne 14
13: StackMap locals: java.lang.String java.lang.Class[] java.lang.Object
StackMap stack:
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
areturn
14: StackMap locals:
StackMap stack:
aload 7
invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
astore 8
start local 8 15: aload 8
instanceof com.caucho.hessian.client.HessianProxy
ifne 17
16: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
areturn
17: StackMap locals: java.lang.Object
StackMap stack:
aload 8
checkcast com.caucho.hessian.client.HessianProxy
astore 9
start local 9 18: new java.lang.Boolean
dup
aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
aload 9
invokevirtual com.caucho.hessian.client.HessianProxy.getURL:()Ljava/net/URL;
invokevirtual java.net.URL.equals:(Ljava/lang/Object;)Z
invokespecial java.lang.Boolean.<init>:(Z)V
areturn
end local 9 end local 8 end local 7 19: StackMap locals:
StackMap stack:
aload 5
ldc "hashCode"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
aload 6
arraylength
ifne 21
20: new java.lang.Integer
dup
aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
invokevirtual java.net.URL.hashCode:()I
invokespecial java.lang.Integer.<init>:(I)V
areturn
21: StackMap locals:
StackMap stack:
aload 5
ldc "getHessianType"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
22: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
iconst_0
aaload
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
23: StackMap locals:
StackMap stack:
aload 5
ldc "getHessianURL"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
areturn
25: StackMap locals:
StackMap stack:
aload 5
ldc "toString"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
aload 6
arraylength
ifne 27
26: new java.lang.StringBuilder
dup
ldc "HessianProxy["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
27: StackMap locals:
StackMap stack:
aload 0
getfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
invokevirtual com.caucho.hessian.client.HessianProxyFactory.isOverloadEnabled:()Z
ifne 29
28: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 4
goto 30
29: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.caucho.hessian.client.HessianProxy.mangleName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 4
30: StackMap locals:
StackMap stack:
aload 0
getfield com.caucho.hessian.client.HessianProxy._mangleMap:Ljava/util/WeakHashMap;
dup
astore 7
monitorenter
31: aload 0
getfield com.caucho.hessian.client.HessianProxy._mangleMap:Ljava/util/WeakHashMap;
aload 2
aload 4
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: aload 7
monitorexit
33: goto 36
StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.lang.String java.lang.Class[] java.util.WeakHashMap
StackMap stack: java.lang.Throwable
34: aload 7
monitorexit
35: athrow
end local 6 end local 5 36: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 37: aconst_null
astore 6
start local 6 38: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 40
39: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Hessian["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] calling "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
40: StackMap locals: java.io.InputStream com.caucho.hessian.client.HessianConnection
StackMap stack:
aload 0
aload 4
aload 3
invokevirtual com.caucho.hessian.client.HessianProxy.sendRequest:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/caucho/hessian/client/HessianConnection;
astore 6
41: aload 0
aload 6
invokevirtual com.caucho.hessian.client.HessianProxy.getInputStream:(Lcom/caucho/hessian/client/HessianConnection;)Ljava/io/InputStream;
astore 5
42: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 48
43: new java.io.PrintWriter
dup
new com.caucho.hessian.client.HessianProxy$LogWriter
dup
getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
invokespecial com.caucho.hessian.client.HessianProxy$LogWriter.<init>:(Ljava/util/logging/Logger;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 7
start local 7 44: new com.caucho.hessian.io.HessianDebugInputStream
dup
aload 5
aload 7
invokespecial com.caucho.hessian.io.HessianDebugInputStream.<init>:(Ljava/io/InputStream;Ljava/io/PrintWriter;)V
45: astore 8
start local 8 46: aload 8
invokevirtual com.caucho.hessian.io.HessianDebugInputStream.startTop2:()V
47: aload 8
astore 5
end local 8 end local 7 48: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.InputStream.read:()I
istore 8
start local 8 49: iload 8
bipush 72
if_icmpne 70
50: aload 5
invokevirtual java.io.InputStream.read:()I
pop
51: aload 5
invokevirtual java.io.InputStream.read:()I
pop
52: aload 0
getfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
aload 5
invokevirtual com.caucho.hessian.client.HessianProxyFactory.getHessian2Input:(Ljava/io/InputStream;)Lcom/caucho/hessian/io/AbstractHessianInput;
astore 7
start local 7 53: aload 7
aload 2
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokevirtual com.caucho.hessian.io.AbstractHessianInput.readReply:(Ljava/lang/Class;)Ljava/lang/Object;
astore 9
start local 9 54: aload 9
instanceof java.io.InputStream
ifeq 58
55: new com.caucho.hessian.client.HessianProxy$ResultInputStream
dup
aload 6
aload 5
aload 7
aload 9
checkcast java.io.InputStream
invokespecial com.caucho.hessian.client.HessianProxy$ResultInputStream.<init>:(Lcom/caucho/hessian/client/HessianConnection;Ljava/io/InputStream;Lcom/caucho/hessian/io/AbstractHessianInput;Ljava/io/InputStream;)V
astore 9
56: aconst_null
astore 5
57: aconst_null
astore 6
58: StackMap locals: com.caucho.hessian.io.AbstractHessianInput int java.lang.Object
StackMap stack:
aload 9
astore 11
59: aload 5
ifnull 64
60: aload 5
invokevirtual java.io.InputStream.close:()V
61: goto 64
StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection com.caucho.hessian.io.AbstractHessianInput int java.lang.Object top java.lang.Object
StackMap stack: java.lang.Exception
62: astore 12
start local 12 63: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 12
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 64: StackMap locals:
StackMap stack:
aload 6
ifnull 69
65: aload 6
invokeinterface com.caucho.hessian.client.HessianConnection.destroy:()V
66: goto 69
StackMap locals:
StackMap stack: java.lang.Exception
67: astore 12
start local 12 68: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 12
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 69: StackMap locals:
StackMap stack:
aload 11
areturn
end local 9 end local 7 70: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection top int
StackMap stack:
iload 8
bipush 114
if_icmpne 94
71: aload 5
invokevirtual java.io.InputStream.read:()I
pop
72: aload 5
invokevirtual java.io.InputStream.read:()I
pop
73: aload 0
getfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
aload 5
invokevirtual com.caucho.hessian.client.HessianProxyFactory.getHessianInput:(Ljava/io/InputStream;)Lcom/caucho/hessian/io/AbstractHessianInput;
astore 7
start local 7 74: aload 7
invokevirtual com.caucho.hessian.io.AbstractHessianInput.startReplyBody:()V
75: aload 7
aload 2
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokevirtual com.caucho.hessian.io.AbstractHessianInput.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
astore 9
start local 9 76: aload 9
instanceof java.io.InputStream
ifeq 81
77: new com.caucho.hessian.client.HessianProxy$ResultInputStream
dup
aload 6
aload 5
aload 7
aload 9
checkcast java.io.InputStream
invokespecial com.caucho.hessian.client.HessianProxy$ResultInputStream.<init>:(Lcom/caucho/hessian/client/HessianConnection;Ljava/io/InputStream;Lcom/caucho/hessian/io/AbstractHessianInput;Ljava/io/InputStream;)V
astore 9
78: aconst_null
astore 5
79: aconst_null
astore 6
80: goto 82
81: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection com.caucho.hessian.io.AbstractHessianInput int java.lang.Object
StackMap stack:
aload 7
invokevirtual com.caucho.hessian.io.AbstractHessianInput.completeReply:()V
82: StackMap locals:
StackMap stack:
aload 9
astore 11
83: aload 5
ifnull 88
84: aload 5
invokevirtual java.io.InputStream.close:()V
85: goto 88
StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection com.caucho.hessian.io.AbstractHessianInput int java.lang.Object top java.lang.Object
StackMap stack: java.lang.Exception
86: astore 12
start local 12 87: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 12
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 88: StackMap locals:
StackMap stack:
aload 6
ifnull 93
89: aload 6
invokeinterface com.caucho.hessian.client.HessianConnection.destroy:()V
90: goto 93
StackMap locals:
StackMap stack: java.lang.Exception
91: astore 12
start local 12 92: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 12
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 93: StackMap locals:
StackMap stack:
aload 11
areturn
end local 9 end local 7 94: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection top int
StackMap stack:
new com.caucho.hessian.io.HessianProtocolException
dup
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' is an unknown code"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.caucho.hessian.io.HessianProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 8 95: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection
StackMap stack: com.caucho.hessian.io.HessianProtocolException
astore 7
start local 7 96: new com.caucho.hessian.client.HessianRuntimeException
dup
aload 7
invokespecial com.caucho.hessian.client.HessianRuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 97: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
98: aload 5
ifnull 103
99: aload 5
invokevirtual java.io.InputStream.close:()V
100: goto 103
StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.String java.io.InputStream com.caucho.hessian.client.HessianConnection top top top java.lang.Throwable
StackMap stack: java.lang.Exception
101: astore 12
start local 12 102: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 12
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 103: StackMap locals:
StackMap stack:
aload 6
ifnull 108
104: aload 6
invokeinterface com.caucho.hessian.client.HessianConnection.destroy:()V
105: goto 108
StackMap locals:
StackMap stack: java.lang.Exception
106: astore 12
start local 12 107: getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 12
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 108: StackMap locals:
StackMap stack:
aload 10
athrow
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 109 0 this Lcom/caucho/hessian/client/HessianProxy;
0 109 1 proxy Ljava/lang/Object;
0 109 2 method Ljava/lang/reflect/Method;
0 109 3 args [Ljava/lang/Object;
2 4 4 mangleName Ljava/lang/String;
6 109 4 mangleName Ljava/lang/String;
8 36 5 methodName Ljava/lang/String;
9 36 6 params [Ljava/lang/Class;
12 19 7 value Ljava/lang/Object;
15 19 8 proxyHandler Ljava/lang/Object;
18 19 9 handler Lcom/caucho/hessian/client/HessianProxy;
37 109 5 is Ljava/io/InputStream;
38 109 6 conn Lcom/caucho/hessian/client/HessianConnection;
44 48 7 dbg Ljava/io/PrintWriter;
46 48 8 dIs Lcom/caucho/hessian/io/HessianDebugInputStream;
53 70 7 in Lcom/caucho/hessian/io/AbstractHessianInput;
74 94 7 in Lcom/caucho/hessian/io/AbstractHessianInput;
49 95 8 code I
54 70 9 value Ljava/lang/Object;
76 94 9 value Ljava/lang/Object;
96 97 7 e Lcom/caucho/hessian/io/HessianProtocolException;
63 64 12 e Ljava/lang/Exception;
87 88 12 e Ljava/lang/Exception;
102 103 12 e Ljava/lang/Exception;
68 69 12 e Ljava/lang/Exception;
92 93 12 e Ljava/lang/Exception;
107 108 12 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 any
4 5 4 any
31 33 34 any
34 35 34 any
59 61 62 Class java.lang.Exception
64 66 67 Class java.lang.Exception
83 85 86 Class java.lang.Exception
88 90 91 Class java.lang.Exception
38 59 95 Class com.caucho.hessian.io.HessianProtocolException
70 83 95 Class com.caucho.hessian.io.HessianProtocolException
94 95 95 Class com.caucho.hessian.io.HessianProtocolException
38 59 97 any
70 83 97 any
94 97 97 any
98 100 101 Class java.lang.Exception
103 105 106 Class java.lang.Exception
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
proxy
method
args
protected java.io.InputStream getInputStream(com.caucho.hessian.client.HessianConnection);
descriptor: (Lcom/caucho/hessian/client/HessianConnection;)Ljava/io/InputStream;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.caucho.hessian.client.HessianConnection.getInputStream:()Ljava/io/InputStream;
astore 2
start local 2 1: ldc "deflate"
aload 1
invokeinterface com.caucho.hessian.client.HessianConnection.getContentEncoding:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: new java.util.zip.InflaterInputStream
dup
aload 2
new java.util.zip.Inflater
dup
iconst_1
invokespecial java.util.zip.Inflater.<init>:(Z)V
invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
astore 2
3: StackMap locals: java.io.InputStream
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/caucho/hessian/client/HessianProxy;
0 4 1 conn Lcom/caucho/hessian/client/HessianConnection;
1 4 2 is Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conn
protected java.lang.String mangleName(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
arraylength
ifne 3
2: StackMap locals: java.lang.Class[]
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokestatic com.caucho.services.server.AbstractSkeleton.mangleName:(Ljava/lang/reflect/Method;Z)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/caucho/hessian/client/HessianProxy;
0 4 1 method Ljava/lang/reflect/Method;
1 4 2 param [Ljava/lang/Class;
MethodParameters:
Name Flags
method
protected com.caucho.hessian.client.HessianConnection sendRequest(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lcom/caucho/hessian/client/HessianConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
invokevirtual com.caucho.hessian.client.HessianProxyFactory.getConnectionFactory:()Lcom/caucho/hessian/client/HessianConnectionFactory;
aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
invokeinterface com.caucho.hessian.client.HessianConnectionFactory.open:(Ljava/net/URL;)Lcom/caucho/hessian/client/HessianConnection;
astore 3
2: iconst_0
istore 4
start local 4 3: aload 0
aload 3
invokevirtual com.caucho.hessian.client.HessianProxy.addRequestHeaders:(Lcom/caucho/hessian/client/HessianConnection;)V
4: aconst_null
astore 5
start local 5 5: aload 3
invokeinterface com.caucho.hessian.client.HessianConnection.getOutputStream:()Ljava/io/OutputStream;
astore 5
6: goto 9
StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.String java.lang.Object[] com.caucho.hessian.client.HessianConnection int java.io.OutputStream
StackMap stack: java.lang.Exception
7: astore 6
start local 6 8: new com.caucho.hessian.client.HessianRuntimeException
dup
aload 6
invokespecial com.caucho.hessian.client.HessianRuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 9: StackMap locals:
StackMap stack:
getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 14
10: new java.io.PrintWriter
dup
new com.caucho.hessian.client.HessianProxy$LogWriter
dup
getstatic com.caucho.hessian.client.HessianProxy.log:Ljava/util/logging/Logger;
invokespecial com.caucho.hessian.client.HessianProxy$LogWriter.<init>:(Ljava/util/logging/Logger;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 6
start local 6 11: new com.caucho.hessian.io.HessianDebugOutputStream
dup
aload 5
aload 6
invokespecial com.caucho.hessian.io.HessianDebugOutputStream.<init>:(Ljava/io/OutputStream;Ljava/io/PrintWriter;)V
astore 7
start local 7 12: aload 7
invokevirtual com.caucho.hessian.io.HessianDebugOutputStream.startTop2:()V
13: aload 7
astore 5
end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 0
getfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
aload 5
invokevirtual com.caucho.hessian.client.HessianProxyFactory.getHessianOutput:(Ljava/io/OutputStream;)Lcom/caucho/hessian/io/AbstractHessianOutput;
astore 6
start local 6 15: aload 6
aload 1
aload 2
invokevirtual com.caucho.hessian.io.AbstractHessianOutput.call:(Ljava/lang/String;[Ljava/lang/Object;)V
16: aload 6
invokevirtual com.caucho.hessian.io.AbstractHessianOutput.flush:()V
17: aload 3
invokeinterface com.caucho.hessian.client.HessianConnection.sendRequest:()V
18: iconst_1
istore 4
19: aload 3
astore 9
20: iload 4
ifne 22
aload 3
ifnull 22
21: aload 3
invokeinterface com.caucho.hessian.client.HessianConnection.destroy:()V
22: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.String java.lang.Object[] com.caucho.hessian.client.HessianConnection int java.io.OutputStream com.caucho.hessian.io.AbstractHessianOutput top top com.caucho.hessian.client.HessianConnection
StackMap stack:
aload 9
areturn
end local 6 end local 5 23: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.String java.lang.Object[] com.caucho.hessian.client.HessianConnection int
StackMap stack: java.lang.Throwable
astore 8
24: iload 4
ifne 26
aload 3
ifnull 26
25: aload 3
invokeinterface com.caucho.hessian.client.HessianConnection.destroy:()V
26: StackMap locals: com.caucho.hessian.client.HessianProxy java.lang.String java.lang.Object[] com.caucho.hessian.client.HessianConnection int top top top java.lang.Throwable
StackMap stack:
aload 8
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/caucho/hessian/client/HessianProxy;
0 27 1 methodName Ljava/lang/String;
0 27 2 args [Ljava/lang/Object;
1 27 3 conn Lcom/caucho/hessian/client/HessianConnection;
3 27 4 isValid Z
5 23 5 os Ljava/io/OutputStream;
8 9 6 e Ljava/lang/Exception;
11 14 6 dbg Ljava/io/PrintWriter;
12 14 7 dOs Lcom/caucho/hessian/io/HessianDebugOutputStream;
15 23 6 out Lcom/caucho/hessian/io/AbstractHessianOutput;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
3 20 23 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
methodName
args
protected void (com.caucho.hessian.client.HessianConnection);
descriptor: (Lcom/caucho/hessian/client/HessianConnection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "Content-Type"
ldc "x-application/hessian"
invokeinterface com.caucho.hessian.client.HessianConnection.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 1
ldc "Accept-Encoding"
ldc "deflate"
invokeinterface com.caucho.hessian.client.HessianConnection.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 0
getfield com.caucho.hessian.client.HessianProxy._factory:Lcom/caucho/hessian/client/HessianProxyFactory;
invokevirtual com.caucho.hessian.client.HessianProxyFactory.getBasicAuth:()Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 1
ldc "Authorization"
aload 2
invokeinterface com.caucho.hessian.client.HessianConnection.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals: java.lang.String
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/caucho/hessian/client/HessianProxy;
0 6 1 conn Lcom/caucho/hessian/client/HessianConnection;
3 6 2 basicAuth Ljava/lang/String;
MethodParameters:
Name Flags
conn
protected void (java.net.URLConnection);
descriptor: (Ljava/net/URLConnection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/caucho/hessian/client/HessianProxy;
0 1 1 conn Ljava/net/URLConnection;
MethodParameters:
Name Flags
conn
public java.lang.Object writeReplace();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.caucho.hessian.io.HessianRemote
dup
aload 0
getfield com.caucho.hessian.client.HessianProxy._type:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 0
getfield com.caucho.hessian.client.HessianProxy._url:Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
invokespecial com.caucho.hessian.io.HessianRemote.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/caucho/hessian/client/HessianProxy;
}
SourceFile: "HessianProxy.java"
NestMembers:
com.caucho.hessian.client.HessianProxy$LogWriter com.caucho.hessian.client.HessianProxy$ResultInputStream
InnerClasses:
LogWriter = com.caucho.hessian.client.HessianProxy$LogWriter of com.caucho.hessian.client.HessianProxy
ResultInputStream = com.caucho.hessian.client.HessianProxy$ResultInputStream of com.caucho.hessian.client.HessianProxy