public class freemarker.debug.DebuggerClient
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: freemarker.debug.DebuggerClient
super_class: java.lang.Object
{
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/debug/DebuggerClient;
public static freemarker.debug.Debugger getDebugger(java.net.InetAddress, int, java.lang.String);
descriptor: (Ljava/net/InetAddress;ILjava/lang/String;)Lfreemarker/debug/Debugger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new java.net.Socket
dup
aload 0
iload 1
invokespecial java.net.Socket.<init>:(Ljava/net/InetAddress;I)V
astore 3
start local 3 1: new java.io.ObjectOutputStream
dup
aload 3
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 2: new java.io.ObjectInputStream
dup
aload 3
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
astore 5
start local 5 3: aload 5
invokevirtual java.io.ObjectInputStream.readInt:()I
istore 6
start local 6 4: iload 6
sipush 220
if_icmple 10
5: new java.io.IOException
dup
6: new java.lang.StringBuilder
dup
ldc "Incompatible protocol version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc ". At most 220 was expected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.net.InetAddress int java.lang.String java.net.Socket java.io.ObjectOutputStream java.io.ObjectInputStream int
StackMap stack:
aload 5
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
checkcast byte[]
astore 7
start local 7 11: ldc "SHA"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 8
start local 8 12: aload 8
aload 2
ldc "UTF-8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.security.MessageDigest.update:([B)V
13: aload 8
aload 7
invokevirtual java.security.MessageDigest.update:([B)V
14: aload 4
aload 8
invokevirtual java.security.MessageDigest.digest:()[B
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
15: new freemarker.debug.DebuggerClient$LocalDebuggerProxy
dup
aload 5
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
checkcast freemarker.debug.Debugger
invokespecial freemarker.debug.DebuggerClient$LocalDebuggerProxy.<init>:(Lfreemarker/debug/Debugger;)V
astore 10
16: aload 3
invokevirtual java.net.Socket.close:()V
17: aload 10
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 18: StackMap locals: java.net.InetAddress int java.lang.String java.net.Socket
StackMap stack: java.lang.Throwable
astore 9
19: aload 3
invokevirtual java.net.Socket.close:()V
20: aload 9
athrow
end local 3 21: StackMap locals: java.net.InetAddress int java.lang.String
StackMap stack: java.io.IOException
astore 3
start local 3 22: aload 3
athrow
end local 3 23: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 24: new freemarker.template.utility.UndeclaredThrowableException
dup
aload 3
invokespecial freemarker.template.utility.UndeclaredThrowableException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 host Ljava/net/InetAddress;
0 25 1 port I
0 25 2 password Ljava/lang/String;
1 21 3 s Ljava/net/Socket;
2 18 4 out Ljava/io/ObjectOutputStream;
3 18 5 in Ljava/io/ObjectInputStream;
4 18 6 protocolVersion I
11 18 7 challenge [B
12 18 8 md Ljava/security/MessageDigest;
22 23 3 e Ljava/io/IOException;
24 25 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 16 18 any
0 17 21 Class java.io.IOException
18 21 21 Class java.io.IOException
0 17 23 Class java.lang.Exception
18 21 23 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
host
port
password
}
SourceFile: "DebuggerClient.java"
NestMembers:
freemarker.debug.DebuggerClient$LocalDebuggerProxy
InnerClasses:
private LocalDebuggerProxy = freemarker.debug.DebuggerClient$LocalDebuggerProxy of freemarker.debug.DebuggerClient