final class sun.security.ssl.ProtocolVersion implements java.lang.Comparable<sun.security.ssl.ProtocolVersion>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.ProtocolVersion
super_class: java.lang.Object
{
static final int LIMIT_MAX_VALUE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 65535
static final int LIMIT_MIN_VALUE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final sun.security.ssl.ProtocolVersion NONE;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion SSL20Hello;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion SSL30;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion TLS10;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion TLS11;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion TLS12;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final boolean FIPS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion MIN;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion MAX;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion DEFAULT;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.ProtocolVersion DEFAULT_HELLO;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.util.Set<sun.security.ssl.ProtocolVersion> availableProtocols;
descriptor: Ljava/util/Set;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Lsun/security/ssl/ProtocolVersion;>;
final int v;
descriptor: I
flags: (0x0010) ACC_FINAL
final byte major;
descriptor: B
flags: (0x0010) ACC_FINAL
final byte minor;
descriptor: B
flags: (0x0010) ACC_FINAL
final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=0
0: new sun.security.ssl.ProtocolVersion
dup
iconst_m1
ldc "NONE"
invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
putstatic sun.security.ssl.ProtocolVersion.NONE:Lsun/security/ssl/ProtocolVersion;
1: new sun.security.ssl.ProtocolVersion
dup
iconst_2
2: ldc "SSLv2Hello"
3: invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
putstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
4: new sun.security.ssl.ProtocolVersion
dup
sipush 768
ldc "SSLv3"
invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
putstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
5: new sun.security.ssl.ProtocolVersion
dup
sipush 769
ldc "TLSv1"
invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
putstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
6: new sun.security.ssl.ProtocolVersion
dup
sipush 770
ldc "TLSv1.1"
invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
putstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
7: new sun.security.ssl.ProtocolVersion
dup
sipush 771
ldc "TLSv1.2"
invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
putstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
8: invokestatic sun.security.ssl.SunJSSE.isFIPS:()Z
putstatic sun.security.ssl.ProtocolVersion.FIPS:Z
9: getstatic sun.security.ssl.ProtocolVersion.FIPS:Z
ifeq 10
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
goto 11
StackMap locals:
StackMap stack:
10: getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
StackMap locals:
StackMap stack: sun.security.ssl.ProtocolVersion
11: putstatic sun.security.ssl.ProtocolVersion.MIN:Lsun/security/ssl/ProtocolVersion;
12: getstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
putstatic sun.security.ssl.ProtocolVersion.MAX:Lsun/security/ssl/ProtocolVersion;
13: getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
putstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
14: getstatic sun.security.ssl.ProtocolVersion.FIPS:Z
ifeq 15
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
goto 16
StackMap locals:
StackMap stack:
15: getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
StackMap locals:
StackMap stack: sun.security.ssl.ProtocolVersion
16: putstatic sun.security.ssl.ProtocolVersion.DEFAULT_HELLO:Lsun/security/ssl/ProtocolVersion;
17: new java.util.HashSet
dup
iconst_5
invokespecial java.util.HashSet.<init>:(I)V
astore 0
start local 0 18: iconst_4
anewarray sun.security.ssl.ProtocolVersion
dup
iconst_0
19: getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
aastore
dup
iconst_1
getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
aastore
dup
iconst_2
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
aastore
dup
iconst_3
getstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
aastore
20: astore 1
start local 1 21: getstatic sun.security.util.CryptoPrimitive.KEY_AGREEMENT:Lsun/security/util/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
22: astore 2
start local 2 23: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 31
StackMap locals: java.util.Set sun.security.ssl.ProtocolVersion[] java.util.EnumSet top int int sun.security.ssl.ProtocolVersion[]
StackMap stack:
24: aload 6
iload 4
aaload
astore 3
start local 3 25: getstatic sun.security.ssl.SSLAlgorithmConstraints.DEFAULT_SSL_ONLY:Lsun/security/util/AlgorithmConstraints;
26: aload 2
aload 3
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
aconst_null
27: invokeinterface sun.security.util.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
28: ifeq 30
29: aload 0
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 30: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
31: iload 4
iload 5
if_icmplt 24
32: aload 0
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
33: putstatic sun.security.ssl.ProtocolVersion.availableProtocols:Ljava/util/Set;
end local 2 end local 1 end local 0 34: return
LocalVariableTable:
Start End Slot Name Signature
18 34 0 protocols Ljava/util/Set<Lsun/security/ssl/ProtocolVersion;>;
21 34 1 pvs [Lsun/security/ssl/ProtocolVersion;
23 34 2 cryptoPrimitives Ljava/util/EnumSet<Lsun/security/util/CryptoPrimitive;>;
25 30 3 p Lsun/security/ssl/ProtocolVersion;
private void <init>(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield sun.security.ssl.ProtocolVersion.v:I
2: aload 0
aload 2
putfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
3: aload 0
iload 1
bipush 8
iushr
i2b
putfield sun.security.ssl.ProtocolVersion.major:B
4: aload 0
iload 1
sipush 255
iand
i2b
putfield sun.security.ssl.ProtocolVersion.minor:B
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/ProtocolVersion;
0 6 1 v I
0 6 2 name Ljava/lang/String;
MethodParameters:
Name Flags
v
name
private static sun.security.ssl.ProtocolVersion valueOf(int);
descriptor: (I)Lsun/security/ssl/ProtocolVersion;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: iload 0
getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpne 2
1: getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
areturn
2: StackMap locals:
StackMap stack:
iload 0
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpne 4
3: getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
areturn
4: StackMap locals:
StackMap stack:
iload 0
getstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpne 6
5: getstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
areturn
6: StackMap locals:
StackMap stack:
iload 0
getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpne 8
7: getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
areturn
8: StackMap locals:
StackMap stack:
iload 0
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpne 10
9: getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
areturn
10: StackMap locals:
StackMap stack:
iload 0
bipush 8
iushr
sipush 255
iand
istore 1
start local 1 11: iload 0
sipush 255
iand
istore 2
start local 2 12: new sun.security.ssl.ProtocolVersion
dup
iload 0
new java.lang.StringBuilder
dup
ldc "Unknown-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.ssl.ProtocolVersion.<init>:(ILjava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 v I
11 13 1 major I
12 13 2 minor I
MethodParameters:
Name Flags
v
static sun.security.ssl.ProtocolVersion valueOf(int, int);
descriptor: (II)Lsun/security/ssl/ProtocolVersion;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 0
sipush 255
iand
istore 0
1: iload 1
sipush 255
iand
istore 1
2: iload 0
bipush 8
ishl
iload 1
ior
istore 2
start local 2 3: iload 2
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(I)Lsun/security/ssl/ProtocolVersion;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 major I
0 4 1 minor I
3 4 2 v I
MethodParameters:
Name Flags
major
minor
static sun.security.ssl.ProtocolVersion valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/security/ssl/ProtocolVersion;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Protocol cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ProtocolVersion.FIPS:Z
ifeq 6
aload 0
getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
aload 0
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
4: ldc "Only TLS 1.0 or later allowed in FIPS mode"
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: getstatic sun.security.ssl.ProtocolVersion.SSL30:Lsun/security/ssl/ProtocolVersion;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: getstatic sun.security.ssl.ProtocolVersion.TLS11:Lsun/security/ssl/ProtocolVersion;
areturn
12: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
areturn
14: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
areturn
16: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/ProtocolVersion;
public int compareTo(sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/ProtocolVersion;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.ProtocolVersion.v:I
aload 1
getfield sun.security.ssl.ProtocolVersion.v:I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/ProtocolVersion;
0 1 1 protocolVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
protocolVersion
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast sun.security.ssl.ProtocolVersion
invokevirtual sun.security.ssl.ProtocolVersion.compareTo:(Lsun/security/ssl/ProtocolVersion;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lsun/security/ssl/ProtocolVersion;>;
SourceFile: "ProtocolVersion.java"