final class sun.security.ssl.SSLExtensions
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLExtensions
super_class: java.lang.Object
{
private final sun.security.ssl.SSLHandshake$HandshakeMessage handshakeMessage;
descriptor: Lsun/security/ssl/SSLHandshake$HandshakeMessage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Map<sun.security.ssl.SSLExtension, byte[]> extMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lsun/security/ssl/SSLExtension;[B>;
private int encodedLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.lang.Integer, byte[]> logMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;[B>;
void <init>(sun.security.ssl.SSLHandshake$HandshakeMessage);
descriptor: (Lsun/security/ssl/SSLHandshake$HandshakeMessage;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
2: aload 0
3: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
goto 5
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage
StackMap stack: sun.security.ssl.SSLExtensions
4: aconst_null
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage
StackMap stack: sun.security.ssl.SSLExtensions java.util.LinkedHashMap
5: putfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
6: aload 0
aload 1
putfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
7: aload 0
iconst_2
putfield sun.security.ssl.SSLExtensions.encodedLength:I
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLExtensions;
0 9 1 handshakeMessage Lsun/security/ssl/SSLHandshake$HandshakeMessage;
MethodParameters:
Name Flags
handshakeMessage
void <init>(sun.security.ssl.SSLHandshake$HandshakeMessage, java.nio.ByteBuffer, sun.security.ssl.SSLExtension[]);
descriptor: (Lsun/security/ssl/SSLHandshake$HandshakeMessage;Ljava/nio/ByteBuffer;[Lsun/security/ssl/SSLExtension;)V
flags: (0x0000)
Code:
stack=6, locals=14, 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.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
3: aload 0
4: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 5
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
goto 6
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[]
StackMap stack: sun.security.ssl.SSLExtensions
5: aconst_null
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[]
StackMap stack: sun.security.ssl.SSLExtensions java.util.LinkedHashMap
6: putfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
7: aload 0
aload 1
putfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
8: aload 2
invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
istore 4
start local 4 9: aload 0
iload 4
iconst_2
iadd
putfield sun.security.ssl.SSLExtensions.encodedLength:I
10: goto 74
11: StackMap locals: int
StackMap stack:
aload 2
invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
istore 5
start local 5 12: aload 2
invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
istore 6
start local 6 13: iload 6
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 20
14: aload 1
getfield sun.security.ssl.SSLHandshake$HandshakeMessage.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
15: getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
16: new java.lang.StringBuilder
dup
ldc "Error parsing extension ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
17: ldc "): no sufficient data"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
20: StackMap locals: int int
StackMap stack:
iconst_1
istore 7
start local 7 21: aload 1
invokevirtual sun.security.ssl.SSLHandshake$HandshakeMessage.handshakeType:()Lsun/security/ssl/SSLHandshake;
astore 8
start local 8 22: iload 5
invokestatic sun.security.ssl.SSLExtension.isConsumable:(I)Z
ifeq 38
23: aload 8
iload 5
invokestatic sun.security.ssl.SSLExtension.valueOf:(Lsun/security/ssl/SSLHandshake;I)Lsun/security/ssl/SSLExtension;
ifnonnull 38
24: iload 5
getstatic sun.security.ssl.SSLExtension.CH_SUPPORTED_GROUPS:Lsun/security/ssl/SSLExtension;
getfield sun.security.ssl.SSLExtension.id:I
if_icmpne 31
25: aload 8
getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO:Lsun/security/ssl/SSLHandshake;
if_acmpne 31
26: iconst_0
istore 7
27: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 38
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 38
28: ldc "Received buggy supported_groups extension in the ServerHello handshake message"
iconst_0
anewarray java.lang.Object
29: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
30: goto 38
StackMap locals: int sun.security.ssl.SSLHandshake
StackMap stack:
31: aload 8
getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO:Lsun/security/ssl/SSLHandshake;
if_acmpne 37
32: aload 1
getfield sun.security.ssl.SSLHandshake$HandshakeMessage.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
33: getstatic sun.security.ssl.Alert.UNSUPPORTED_EXTENSION:Lsun/security/ssl/Alert;
new java.lang.StringBuilder
dup
ldc "extension ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") should not be presented in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: aload 8
getfield sun.security.ssl.SSLHandshake.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
37: StackMap locals:
StackMap stack:
iconst_0
istore 7
38: StackMap locals:
StackMap stack:
iload 7
ifeq 61
39: iconst_0
istore 7
40: aload 3
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 60
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[] int int int int sun.security.ssl.SSLHandshake top int int sun.security.ssl.SSLExtension[]
StackMap stack:
41: aload 12
iload 10
aaload
astore 9
start local 9 42: aload 9
getfield sun.security.ssl.SSLExtension.id:I
iload 5
if_icmpne 59
43: aload 9
getfield sun.security.ssl.SSLExtension.onLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
ifnonnull 45
44: goto 59
45: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[] int int int int sun.security.ssl.SSLHandshake sun.security.ssl.SSLExtension int int sun.security.ssl.SSLExtension[]
StackMap stack:
aload 9
getfield sun.security.ssl.SSLExtension.handshakeType:Lsun/security/ssl/SSLHandshake;
aload 8
if_acmpeq 52
46: aload 1
getfield sun.security.ssl.SSLHandshake$HandshakeMessage.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
47: getstatic sun.security.ssl.Alert.UNSUPPORTED_EXTENSION:Lsun/security/ssl/Alert;
48: new java.lang.StringBuilder
dup
ldc "extension ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") should not be "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: ldc "presented in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
getfield sun.security.ssl.SSLHandshake.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
52: StackMap locals:
StackMap stack:
iload 6
newarray 8
astore 13
start local 13 53: aload 2
aload 13
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
54: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 9
aload 13
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
55: aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
ifnull 57
56: aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 13
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
57: StackMap locals: byte[]
StackMap stack:
iconst_1
istore 7
58: goto 61
end local 13 end local 9 59: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[] int int int int sun.security.ssl.SSLHandshake top int int sun.security.ssl.SSLExtension[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
60: iload 10
iload 11
if_icmplt 41
61: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[] int int int int sun.security.ssl.SSLHandshake
StackMap stack:
iload 7
ifne 73
62: aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
ifnull 71
63: iload 6
newarray 8
astore 9
start local 9 64: aload 2
aload 9
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
65: aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
66: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 73
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 73
67: ldc "Ignore unknown or unsupported extension"
iconst_1
anewarray java.lang.Object
dup
iconst_0
68: iload 5
aload 9
invokestatic sun.security.ssl.SSLExtensions.toString:(I[B)Ljava/lang/String;
aastore
69: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 70: goto 73
71: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 6
iadd
istore 9
start local 9 72: aload 2
iload 9
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
end local 9 73: StackMap locals:
StackMap stack:
iload 4
iload 6
iconst_4
iadd
isub
istore 4
end local 8 end local 7 end local 6 end local 5 74: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.SSLHandshake$HandshakeMessage java.nio.ByteBuffer sun.security.ssl.SSLExtension[] int
StackMap stack:
iload 4
ifgt 11
75: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lsun/security/ssl/SSLExtensions;
0 76 1 hm Lsun/security/ssl/SSLHandshake$HandshakeMessage;
0 76 2 m Ljava/nio/ByteBuffer;
0 76 3 extensions [Lsun/security/ssl/SSLExtension;
9 76 4 len I
12 74 5 extId I
13 74 6 extLen I
21 74 7 isSupported Z
22 74 8 handshakeType Lsun/security/ssl/SSLHandshake;
42 59 9 extension Lsun/security/ssl/SSLExtension;
53 59 13 extData [B
64 70 9 extData [B
72 73 9 pos I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hm
m
extensions
byte[] get(sun.security.ssl.SSLExtension);
descriptor: (Lsun/security/ssl/SSLExtension;)[B
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLExtensions;
0 1 1 ext Lsun/security/ssl/SSLExtension;
MethodParameters:
Name Flags
ext
void consumeOnLoad(sun.security.ssl.HandshakeContext, sun.security.ssl.SSLExtension[]);
descriptor: (Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 26
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 1
getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
ifnull 8
3: aload 3
aload 1
getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.SSLExtension.isAvailable:(Lsun/security/ssl/ProtocolVersion;)Z
ifne 8
4: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
5: new java.lang.StringBuilder
dup
ldc "Ignore unsupported extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
6: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
7: goto 25
8: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] sun.security.ssl.SSLExtension int int sun.security.ssl.SSLExtension[]
StackMap stack:
aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 16
9: aload 3
getfield sun.security.ssl.SSLExtension.onLoadAbsence:Lsun/security/ssl/HandshakeAbsence;
ifnull 12
10: aload 3
aload 1
aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
invokevirtual sun.security.ssl.SSLExtension.absentOnLoad:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)V
11: goto 25
StackMap locals:
StackMap stack:
12: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
13: new java.lang.StringBuilder
dup
ldc "Ignore unavailable extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
14: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
15: goto 25
16: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.ssl.SSLExtension.onLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
ifnonnull 21
17: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
18: new java.lang.StringBuilder
dup
ldc "Ignore unsupported extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
19: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
20: goto 25
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 7
start local 7 22: aload 3
aload 1
aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
aload 7
invokevirtual sun.security.ssl.SSLExtension.consumeOnLoad:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;Ljava/nio/ByteBuffer;)V
23: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
24: new java.lang.StringBuilder
dup
ldc "Consumed extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 7 end local 3 25: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
26: iload 4
iload 5
if_icmplt 1
27: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/ssl/SSLExtensions;
0 28 1 context Lsun/security/ssl/HandshakeContext;
0 28 2 extensions [Lsun/security/ssl/SSLExtension;
2 25 3 extension Lsun/security/ssl/SSLExtension;
22 25 7 m Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
extensions
void consumeOnTrade(sun.security.ssl.HandshakeContext, sun.security.ssl.SSLExtension[]);
descriptor: (Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 21
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 10
3: aload 3
getfield sun.security.ssl.SSLExtension.onTradeAbsence:Lsun/security/ssl/HandshakeAbsence;
ifnull 6
4: aload 3
aload 1
aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
invokevirtual sun.security.ssl.SSLExtension.absentOnTrade:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)V
5: goto 20
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] sun.security.ssl.SSLExtension int int sun.security.ssl.SSLExtension[]
StackMap stack:
6: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 20
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 20
7: new java.lang.StringBuilder
dup
ldc "Ignore unavailable extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
8: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
9: goto 20
10: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.ssl.SSLExtension.onTradeConsumer:Lsun/security/ssl/HandshakeConsumer;
ifnonnull 17
11: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 20
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 20
12: new java.lang.StringBuilder
dup
ldc "Ignore impact of unsupported extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
15: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
16: goto 20
17: StackMap locals:
StackMap stack:
aload 3
aload 1
aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
invokevirtual sun.security.ssl.SSLExtension.consumeOnTrade:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)V
18: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 20
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 20
19: new java.lang.StringBuilder
dup
ldc "Populated with extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 20: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
iload 5
if_icmplt 1
22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/ssl/SSLExtensions;
0 23 1 context Lsun/security/ssl/HandshakeContext;
0 23 2 extensions [Lsun/security/ssl/SSLExtension;
2 20 3 extension Lsun/security/ssl/SSLExtension;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
extensions
void produce(sun.security.ssl.HandshakeContext, sun.security.ssl.SSLExtension[]);
descriptor: (Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 27
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 9
3: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 26
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 26
4: new java.lang.StringBuilder
dup
ldc "Ignore, duplicated extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
7: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
8: goto 26
9: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] sun.security.ssl.SSLExtension int int sun.security.ssl.SSLExtension[]
StackMap stack:
aload 3
getfield sun.security.ssl.SSLExtension.networkProducer:Lsun/security/ssl/HandshakeProducer;
ifnonnull 16
10: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 26
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 26
11: new java.lang.StringBuilder
dup
ldc "Ignore, no extension producer defined: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
14: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
15: goto 26
16: StackMap locals:
StackMap stack:
aload 3
aload 1
aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
invokevirtual sun.security.ssl.SSLExtension.produce:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B
astore 7
start local 7 17: aload 7
ifnull 21
18: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
dup
getfield sun.security.ssl.SSLExtensions.encodedLength:I
aload 7
arraylength
iconst_4
iadd
iadd
putfield sun.security.ssl.SSLExtensions.encodedLength:I
20: goto 26
StackMap locals: byte[]
StackMap stack:
21: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 26
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 26
22: new java.lang.StringBuilder
dup
ldc "Ignore, context unavailable extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
25: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 7 end local 3 26: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
27: iload 4
iload 5
if_icmplt 1
28: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/ssl/SSLExtensions;
0 29 1 context Lsun/security/ssl/HandshakeContext;
0 29 2 extensions [Lsun/security/ssl/SSLExtension;
2 26 3 extension Lsun/security/ssl/SSLExtension;
17 26 7 encoded [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
extensions
void reproduce(sun.security.ssl.HandshakeContext, sun.security.ssl.SSLExtension[]);
descriptor: (Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 26
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
getfield sun.security.ssl.SSLExtension.networkProducer:Lsun/security/ssl/HandshakeProducer;
ifnonnull 9
3: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
4: new java.lang.StringBuilder
dup
ldc "Ignore, no extension producer defined: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
7: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
8: goto 25
9: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] sun.security.ssl.SSLExtension int int sun.security.ssl.SSLExtension[]
StackMap stack:
aload 3
aload 1
aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
invokevirtual sun.security.ssl.SSLExtension.produce:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B
astore 7
start local 7 10: aload 7
ifnull 20
11: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 17
12: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
aload 7
invokeinterface java.util.Map.replace:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 8
start local 8 13: aload 8
ifnull 15
14: aload 0
dup
getfield sun.security.ssl.SSLExtensions.encodedLength:I
aload 8
arraylength
iconst_4
iadd
isub
putfield sun.security.ssl.SSLExtensions.encodedLength:I
15: StackMap locals: byte[] byte[]
StackMap stack:
aload 0
dup
getfield sun.security.ssl.SSLExtensions.encodedLength:I
aload 7
arraylength
iconst_4
iadd
iadd
putfield sun.security.ssl.SSLExtensions.encodedLength:I
end local 8 16: goto 25
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
dup
getfield sun.security.ssl.SSLExtensions.encodedLength:I
aload 7
arraylength
iconst_4
iadd
iadd
putfield sun.security.ssl.SSLExtensions.encodedLength:I
19: goto 25
StackMap locals:
StackMap stack:
20: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
21: new java.lang.StringBuilder
dup
ldc "Ignore, context unavailable extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 3
getfield sun.security.ssl.SSLExtension.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
24: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 7 end local 3 25: StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeContext sun.security.ssl.SSLExtension[] top int int sun.security.ssl.SSLExtension[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
26: iload 4
iload 5
if_icmplt 1
27: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/ssl/SSLExtensions;
0 28 1 context Lsun/security/ssl/HandshakeContext;
0 28 2 extensions [Lsun/security/ssl/SSLExtension;
2 25 3 extension Lsun/security/ssl/SSLExtension;
10 25 7 encoded [B
13 16 8 old [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
extensions
int length();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLExtensions.encodedLength:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLExtensions;
void send(sun.security.ssl.HandshakeOutStream);
descriptor: (Lsun/security/ssl/HandshakeOutStream;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.SSLExtensions.length:()I
istore 2
start local 2 1: iload 2
ifne 3
2: return
3: StackMap locals: int
StackMap stack:
aload 1
iload 2
iconst_2
isub
invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
4: invokestatic sun.security.ssl.SSLExtension.values:()[Lsun/security/ssl/SSLExtension;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: sun.security.ssl.SSLExtensions sun.security.ssl.HandshakeOutStream int top int int sun.security.ssl.SSLExtension[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 7
start local 7 7: aload 7
ifnull 10
8: aload 1
aload 3
getfield sun.security.ssl.SSLExtension.id:I
invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
9: aload 1
aload 7
invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
end local 7 end local 3 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 5
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLExtensions;
0 13 1 hos Lsun/security/ssl/HandshakeOutStream;
1 13 2 extsLen I
6 10 3 ext Lsun/security/ssl/SSLExtension;
7 10 7 extData [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hos
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 2
aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
ifnull 1
aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc "<no extension>"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
sipush 512
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
ifnull 18
aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 18
4: aload 0
getfield sun.security.ssl.SSLExtensions.logMap:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 6: aload 0
getfield sun.security.ssl.SSLExtensions.handshakeMessage:Lsun/security/ssl/SSLHandshake$HandshakeMessage;
invokevirtual sun.security.ssl.SSLHandshake$HandshakeMessage.handshakeType:()Lsun/security/ssl/SSLHandshake;
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
7: invokestatic sun.security.ssl.SSLExtension.valueOf:(Lsun/security/ssl/SSLHandshake;I)Lsun/security/ssl/SSLExtension;
astore 4
start local 4 8: aload 1
invokevirtual java.lang.StringBuilder.length:()I
ifeq 10
9: aload 1
ldc ",\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder java.util.Map$Entry java.util.Iterator sun.security.ssl.SSLExtension
StackMap stack:
aload 4
ifnull 15
11: aload 1
12: aload 4
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.SSLExtension.toString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
13: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: goto 16
15: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
invokestatic sun.security.ssl.SSLExtensions.toString:(I[B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 end local 2 16: StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
17: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
18: StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder
StackMap stack:
aload 0
getfield sun.security.ssl.SSLExtensions.extMap:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 25
StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder top java.util.Iterator
StackMap stack:
19: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 20: aload 1
invokevirtual java.lang.StringBuilder.length:()I
ifeq 22
21: aload 1
ldc ",\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 1
23: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast sun.security.ssl.SSLExtension
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.SSLExtension.toString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
24: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 25: StackMap locals: sun.security.ssl.SSLExtensions java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
26: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/SSLExtensions;
3 27 1 builder Ljava/lang/StringBuilder;
6 16 2 en Ljava/util/Map$Entry<Ljava/lang/Integer;[B>;
8 16 4 ext Lsun/security/ssl/SSLExtension;
20 25 2 en Ljava/util/Map$Entry<Lsun/security/ssl/SSLExtension;[B>;
private static java.lang.String toString(int, byte[]);
descriptor: (I[B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: iload 0
invokestatic sun.security.ssl.SSLExtension.nameOf:(I)Ljava/lang/String;
astore 2
start local 2 1: new java.text.MessageFormat
dup
2: ldc "\"{0} ({1})\": '{'\n{2}\n'}'"
3: getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
4: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
astore 3
start local 3 5: new sun.security.util.HexDumpEncoder
dup
invokespecial sun.security.util.HexDumpEncoder.<init>:()V
astore 4
start local 4 6: aload 4
aload 1
invokevirtual sun.security.util.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
astore 5
start local 5 7: iconst_3
anewarray java.lang.Object
dup
iconst_0
8: aload 2
aastore
dup
iconst_1
9: iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
10: aload 5
invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
aastore
11: astore 6
start local 6 12: aload 3
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
areturn
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 13 0 extId I
0 13 1 extData [B
1 13 2 extName Ljava/lang/String;
5 13 3 messageFormat Ljava/text/MessageFormat;
6 13 4 hexEncoder Lsun/security/util/HexDumpEncoder;
7 13 5 encoded Ljava/lang/String;
12 13 6 messageFields [Ljava/lang/Object;
MethodParameters:
Name Flags
extId
extData
}
SourceFile: "SSLExtensions.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake