public class sun.net.util.IPAddressUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.util.IPAddressUtil
super_class: java.lang.Object
{
private static final int INADDR4SZ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int INADDR16SZ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int INT16SZ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final java.util.concurrent.ConcurrentHashMap<java.net.InetAddress, java.net.InetAddress> cache;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/net/InetAddress;Ljava/net/InetAddress;>;
private static final long L_IPV6_DELIMS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long H_IPV6_DELIMS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 671088640
private static final long L_GEN_DELIMS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -8935000888854970368
private static final long H_GEN_DELIMS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 671088641
private static final long L_AUTH_DELIMS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 288230376151711744
private static final long H_AUTH_DELIMS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 671088641
private static final long L_COLON;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 288230376151711744
private static final long H_COLON;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long L_SLASH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 140737488355328
private static final long H_SLASH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long L_BACKSLASH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long H_BACKSLASH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 268435456
private static final long L_NON_PRINTABLE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
private static final long H_NON_PRINTABLE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
private static final long L_EXCLUDE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -8935000884560003073
private static final long H_EXCLUDE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372035915251711
private static final char[] OTHERS;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic sun.net.util.IPAddressUtil.cache:Ljava/util/concurrent/ConcurrentHashMap;
1: bipush 17
newarray 5
dup
iconst_0
2: sipush 8263
castore
dup
iconst_1
sipush 8264
castore
dup
iconst_2
sipush 8265
castore
dup
iconst_3
sipush 8448
castore
dup
iconst_4
sipush 8449
castore
dup
iconst_5
sipush 8453
castore
dup
bipush 6
sipush 8454
castore
dup
bipush 7
sipush 10868
castore
dup
bipush 8
3: ldc 65109
castore
dup
bipush 9
ldc 65110
castore
dup
bipush 10
ldc 65119
castore
dup
bipush 11
ldc 65131
castore
dup
bipush 12
ldc 65283
castore
dup
bipush 13
ldc 65295
castore
dup
bipush 14
ldc 65306
castore
dup
bipush 15
ldc 65311
castore
dup
bipush 16
ldc 65312
castore
4: putstatic sun.net.util.IPAddressUtil.OTHERS:[C
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/util/IPAddressUtil;
public static byte[] textToNumericFormatV4(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: iconst_4
newarray 8
astore 1
start local 1 1: lconst_0
lstore 2
start local 2 2: iconst_0
istore 4
start local 4 3: iconst_1
istore 5
start local 5 4: aload 0
invokevirtual java.lang.String.length:()I
istore 6
start local 6 5: iload 6
ifeq 6
iload 6
bipush 15
if_icmple 7
6: StackMap locals: java.lang.String byte[] long int int int
StackMap stack:
aconst_null
areturn
7: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 8: goto 24
9: StackMap locals: int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 10: iload 8
bipush 46
if_icmpne 17
11: iload 5
ifne 12
lload 2
lconst_0
lcmp
iflt 12
lload 2
ldc 255
lcmp
ifgt 12
iload 4
iconst_3
if_icmpne 13
12: StackMap locals: int
StackMap stack:
aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 1
iload 4
iinc 4 1
lload 2
ldc 255
land
l2i
i2b
bastore
14: lconst_0
lstore 2
15: iconst_1
istore 5
16: goto 23
17: StackMap locals:
StackMap stack:
iload 8
bipush 10
invokestatic java.lang.Character.digit:(CI)I
istore 9
start local 9 18: iload 9
ifge 20
19: aconst_null
areturn
20: StackMap locals: int
StackMap stack:
lload 2
ldc 10
lmul
lstore 2
21: lload 2
iload 9
i2l
ladd
lstore 2
22: iconst_0
istore 5
end local 9 end local 8 23: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
iload 6
if_icmplt 9
end local 7 25: iload 5
ifne 26
lload 2
lconst_0
lcmp
iflt 26
lload 2
lconst_1
iconst_4
iload 4
isub
bipush 8
imul
lshl
lcmp
iflt 27
26: StackMap locals:
StackMap stack:
aconst_null
areturn
27: StackMap locals:
StackMap stack:
iload 4
tableswitch { // 0 - 3
0: 28
1: 29
2: 30
3: 31
default: 32
}
28: StackMap locals:
StackMap stack:
aload 1
iconst_0
lload 2
bipush 24
lshr
ldc 255
land
l2i
i2b
bastore
29: StackMap locals:
StackMap stack:
aload 1
iconst_1
lload 2
bipush 16
lshr
ldc 255
land
l2i
i2b
bastore
30: StackMap locals:
StackMap stack:
aload 1
iconst_2
lload 2
bipush 8
lshr
ldc 255
land
l2i
i2b
bastore
31: StackMap locals:
StackMap stack:
aload 1
iconst_3
lload 2
iconst_0
lshr
ldc 255
land
l2i
i2b
bastore
32: StackMap locals:
StackMap stack:
aload 1
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 src Ljava/lang/String;
1 33 1 res [B
2 33 2 tmpValue J
3 33 4 currByte I
4 33 5 newOctet Z
5 33 6 len I
8 25 7 i I
10 23 8 c C
18 23 9 digit I
MethodParameters:
Name Flags
src
public static byte[] textToNumericFormatV6(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=18, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpge 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 5
start local 5 3: bipush 16
newarray 8
astore 6
start local 6 4: aload 5
arraylength
istore 7
start local 7 5: aload 0
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 6: iload 8
iload 7
iconst_1
isub
if_icmpne 8
7: aconst_null
areturn
8: StackMap locals: java.lang.String top top top top char[] byte[] int int
StackMap stack:
iload 8
iconst_m1
if_icmpeq 10
9: iload 8
istore 7
10: StackMap locals:
StackMap stack:
iconst_m1
istore 1
start local 1 11: iconst_0
istore 9
start local 9 12: iconst_0
istore 10
start local 10 13: aload 5
iload 9
caload
bipush 58
if_icmpne 16
14: aload 5
iinc 9 1
iload 9
caload
bipush 58
if_icmpeq 16
15: aconst_null
areturn
16: StackMap locals: java.lang.String int top top top char[] byte[] int int int int
StackMap stack:
iload 9
istore 11
start local 11 17: iconst_0
istore 3
start local 3 18: iconst_0
istore 4
start local 4 19: goto 66
20: StackMap locals: java.lang.String int top int int char[] byte[] int int int int int
StackMap stack:
aload 5
iload 9
iinc 9 1
caload
istore 2
start local 2 21: iload 2
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 12
start local 12 22: iload 12
iconst_m1
if_icmpeq 29
23: iload 4
iconst_4
ishl
istore 4
24: iload 4
iload 12
ior
istore 4
25: iload 4
ldc 65535
if_icmple 27
26: aconst_null
areturn
27: StackMap locals: java.lang.String int int int int char[] byte[] int int int int int int
StackMap stack:
iconst_1
istore 3
28: goto 66
29: StackMap locals:
StackMap stack:
iload 2
bipush 58
if_icmpne 45
30: iload 9
istore 11
31: iload 3
ifne 36
32: iload 1
iconst_m1
if_icmpeq 34
33: aconst_null
areturn
34: StackMap locals:
StackMap stack:
iload 10
istore 1
35: goto 66
36: StackMap locals:
StackMap stack:
iload 9
iload 7
if_icmpne 38
37: aconst_null
areturn
38: StackMap locals:
StackMap stack:
iload 10
iconst_2
iadd
bipush 16
if_icmple 40
39: aconst_null
areturn
40: StackMap locals:
StackMap stack:
aload 6
iload 10
iinc 10 1
iload 4
bipush 8
ishr
sipush 255
iand
i2b
bastore
41: aload 6
iload 10
iinc 10 1
iload 4
sipush 255
iand
i2b
bastore
42: iconst_0
istore 3
43: iconst_0
istore 4
44: goto 66
45: StackMap locals:
StackMap stack:
iload 2
bipush 46
if_icmpne 65
iload 10
iconst_4
iadd
bipush 16
if_icmpgt 65
46: aload 0
iload 11
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
start local 13 47: iconst_0
istore 14
start local 14 48: iconst_0
istore 15
start local 15 49: goto 52
50: StackMap locals: java.lang.String int int
StackMap stack:
iinc 14 1
51: iinc 15 1
52: StackMap locals:
StackMap stack:
aload 13
bipush 46
iload 15
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 15
iconst_m1
if_icmpne 50
53: iload 14
iconst_3
if_icmpeq 55
54: aconst_null
areturn
55: StackMap locals:
StackMap stack:
aload 13
invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV4:(Ljava/lang/String;)[B
astore 16
start local 16 56: aload 16
ifnonnull 58
57: aconst_null
areturn
58: StackMap locals: byte[]
StackMap stack:
iconst_0
istore 17
start local 17 59: goto 62
60: StackMap locals: int
StackMap stack:
aload 6
iload 10
iinc 10 1
aload 16
iload 17
baload
bastore
61: iinc 17 1
StackMap locals:
StackMap stack:
62: iload 17
iconst_4
if_icmplt 60
end local 17 63: iconst_0
istore 3
64: goto 67
end local 16 end local 15 end local 14 end local 13 65: StackMap locals: java.lang.String int int int int char[] byte[] int int int int int int
StackMap stack:
aconst_null
areturn
end local 12 end local 2 66: StackMap locals: java.lang.String int top int int char[] byte[] int int int int int
StackMap stack:
iload 9
iload 7
if_icmplt 20
67: StackMap locals:
StackMap stack:
iload 3
ifeq 72
68: iload 10
iconst_2
iadd
bipush 16
if_icmple 70
69: aconst_null
areturn
70: StackMap locals:
StackMap stack:
aload 6
iload 10
iinc 10 1
iload 4
bipush 8
ishr
sipush 255
iand
i2b
bastore
71: aload 6
iload 10
iinc 10 1
iload 4
sipush 255
iand
i2b
bastore
72: StackMap locals:
StackMap stack:
iload 1
iconst_m1
if_icmpeq 82
73: iload 10
iload 1
isub
istore 12
start local 12 74: iload 10
bipush 16
if_icmpne 76
75: aconst_null
areturn
76: StackMap locals: int
StackMap stack:
iconst_1
istore 9
goto 80
77: StackMap locals:
StackMap stack:
aload 6
bipush 16
iload 9
isub
aload 6
iload 1
iload 12
iadd
iload 9
isub
baload
bastore
78: aload 6
iload 1
iload 12
iadd
iload 9
isub
iconst_0
bastore
79: iinc 9 1
StackMap locals:
StackMap stack:
80: iload 9
iload 12
if_icmple 77
81: bipush 16
istore 10
end local 12 82: StackMap locals:
StackMap stack:
iload 10
bipush 16
if_icmpeq 84
83: aconst_null
areturn
84: StackMap locals:
StackMap stack:
aload 6
invokestatic sun.net.util.IPAddressUtil.convertFromIPv4MappedAddress:([B)[B
astore 12
start local 12 85: aload 12
ifnull 87
86: aload 12
areturn
87: StackMap locals: byte[]
StackMap stack:
aload 6
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 88 0 src Ljava/lang/String;
11 88 1 colonp I
21 66 2 ch C
18 88 3 saw_xdigit Z
19 88 4 val I
3 88 5 srcb [C
4 88 6 dst [B
5 88 7 srcb_length I
6 88 8 pc I
12 88 9 i I
13 88 10 j I
17 88 11 curtok I
22 66 12 chval I
47 65 13 ia4 Ljava/lang/String;
48 65 14 dot_count I
49 65 15 index I
56 65 16 v4addr [B
59 63 17 k I
74 82 12 n I
85 88 12 newdst [B
MethodParameters:
Name Flags
src
public static boolean isIPv4LiteralAddress(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV4:(Ljava/lang/String;)[B
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/lang/String;
MethodParameters:
Name Flags
src
public static boolean isIPv6LiteralAddress(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV6:(Ljava/lang/String;)[B
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/lang/String;
MethodParameters:
Name Flags
src
public static byte[] convertFromIPv4MappedAddress(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.net.util.IPAddressUtil.isIPv4MappedAddress:([B)Z
ifeq 4
1: iconst_4
newarray 8
astore 1
start local 1 2: aload 0
bipush 12
aload 1
iconst_0
iconst_4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 addr [B
2 4 1 newAddr [B
MethodParameters:
Name Flags
addr
private static boolean isIPv4MappedAddress(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
bipush 16
if_icmpge 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
baload
ifne 10
aload 0
iconst_1
baload
ifne 10
3: aload 0
iconst_2
baload
ifne 10
aload 0
iconst_3
baload
ifne 10
4: aload 0
iconst_4
baload
ifne 10
aload 0
iconst_5
baload
ifne 10
5: aload 0
bipush 6
baload
ifne 10
aload 0
bipush 7
baload
ifne 10
6: aload 0
bipush 8
baload
ifne 10
aload 0
bipush 9
baload
ifne 10
7: aload 0
bipush 10
baload
iconst_m1
if_icmpne 10
8: aload 0
bipush 11
baload
iconst_m1
if_icmpne 10
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 addr [B
MethodParameters:
Name Flags
addr
public static java.net.InetAddress toScopedAddress(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.net.Inet6Address
ifeq 10
aload 0
invokevirtual java.net.InetAddress.isLinkLocalAddress:()Z
ifeq 10
1: aload 0
checkcast java.net.Inet6Address
invokevirtual java.net.Inet6Address.getScopeId:()I
ifne 10
2: aconst_null
astore 1
start local 1 3: getstatic sun.net.util.IPAddressUtil.cache:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
sun/net/util/IPAddressUtil.lambda$0(Ljava/net/InetAddress;)Ljava/net/InetAddress; (6)
(Ljava/net/InetAddress;)Ljava/net/InetAddress;
invokevirtual java.util.concurrent.ConcurrentHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.net.InetAddress
astore 1
4: goto 7
StackMap locals: java.net.InetAddress java.net.InetAddress
StackMap stack: java.io.UncheckedIOException
5: astore 2
start local 2 6: aload 2
invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
checkcast java.net.SocketException
athrow
end local 2 7: StackMap locals:
StackMap stack:
aload 1
ifnull 8
aload 1
goto 9
StackMap locals:
StackMap stack:
8: aload 0
StackMap locals:
StackMap stack: java.net.InetAddress
9: areturn
end local 1 10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 address Ljava/net/InetAddress;
3 10 1 cached Ljava/net/InetAddress;
6 7 2 e Ljava/io/UncheckedIOException;
Exception table:
from to target type
3 4 5 Class java.io.UncheckedIOException
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
address
public static java.net.InetSocketAddress toScopedAddress(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)Ljava/net/InetSocketAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 2
start local 2 1: aload 2
invokestatic sun.net.util.IPAddressUtil.toScopedAddress:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
dup
astore 1
start local 1 2: aload 2
if_acmpne 4
3: aload 0
areturn
4: StackMap locals: java.net.InetAddress java.net.InetAddress
StackMap stack:
new java.net.InetSocketAddress
dup
aload 1
aload 0
invokevirtual java.net.InetSocketAddress.getPort:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 address Ljava/net/InetSocketAddress;
2 5 1 addr Ljava/net/InetAddress;
1 5 2 orig Ljava/net/InetAddress;
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
address
private static java.net.InetAddress findScopedAddress(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokedynamic run(Ljava/net/InetAddress;)Ljava/security/PrivilegedExceptionAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/net/util/IPAddressUtil.lambda$1(Ljava/net/InetAddress;)Ljava/util/List; (6)
()Ljava/util/List;
astore 1
start local 1 1: aload 1
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 2: aload 2
invokeinterface java.util.List.size:()I
istore 3
start local 3 3: iload 3
ifne 5
4: aconst_null
areturn
5: StackMap locals: java.security.PrivilegedExceptionAction java.util.List int
StackMap stack:
iload 3
iconst_1
if_icmple 9
6: new java.io.UncheckedIOException
dup
new java.net.SocketException
dup
7: ldc "Duplicate link local addresses: must specify scope-id"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
8: invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
9: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.net.InetAddress
10: areturn
end local 3 end local 2 11: StackMap locals: java.net.InetAddress java.security.PrivilegedExceptionAction
StackMap stack: java.security.PrivilegedActionException
pop
12: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 address Ljava/net/InetAddress;
1 13 1 pa Ljava/security/PrivilegedExceptionAction<Ljava/util/List<Ljava/net/InetAddress;>;>;
2 11 2 result Ljava/util/List<Ljava/net/InetAddress;>;
3 11 3 sz I
Exception table:
from to target type
1 4 11 Class java.security.PrivilegedActionException
5 10 11 Class java.security.PrivilegedActionException
MethodParameters:
Name Flags
address
public static boolean match(char, long, long);
descriptor: (CJJ)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: iload 0
bipush 64
if_icmpge 3
1: lconst_1
iload 0
lshl
lload 1
land
lconst_0
lcmp
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 0
sipush 128
if_icmpge 6
4: lconst_1
iload 0
bipush 64
isub
lshl
lload 3
land
lconst_0
lcmp
ifeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 c C
0 7 1 lowMask J
0 7 3 highMask J
MethodParameters:
Name Flags
c
lowMask
highMask
public static int scan(java.lang.String, long, long);
descriptor: (Ljava/lang/String;JJ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 3 0: iconst_m1
istore 5
start local 5 1: aload 0
ifnull 3
aload 0
invokevirtual java.lang.String.length:()I
dup
istore 6
start local 6 2: ifne 4
end local 6 StackMap locals: int
StackMap stack:
3: iconst_m1
ireturn
start local 6 4: StackMap locals: int
StackMap stack:
iconst_0
istore 7
start local 7 5: StackMap locals: int
StackMap stack:
iinc 5 1
iload 5
iload 6
if_icmpge 6
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
lload 1
lload 3
invokestatic sun.net.util.IPAddressUtil.match:(CJJ)Z
dup
istore 7
ifeq 5
6: StackMap locals:
StackMap stack:
iload 7
ifeq 7
iload 5
ireturn
7: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 s Ljava/lang/String;
0 8 1 lowMask J
0 8 3 highMask J
1 8 5 i I
2 3 6 len I
4 8 6 len I
5 8 7 match Z
MethodParameters:
Name Flags
s
lowMask
highMask
public static int scan(java.lang.String, long, long, char[]);
descriptor: (Ljava/lang/String;JJ[C)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 3 start local 5 0: iconst_m1
istore 6
start local 6 1: aload 0
ifnull 3
aload 0
invokevirtual java.lang.String.length:()I
dup
istore 7
start local 7 2: ifne 4
end local 7 StackMap locals: int
StackMap stack:
3: iconst_m1
ireturn
start local 7 4: StackMap locals: int
StackMap stack:
iconst_0
istore 8
start local 8 5: aload 5
iconst_0
caload
istore 10
start local 10 6: goto 9
start local 9 7: StackMap locals: int int int
StackMap stack:
iload 9
iload 10
if_icmplt 9
aload 5
iload 9
invokestatic java.util.Arrays.binarySearch:([CC)I
iconst_m1
if_icmple 9
8: iconst_1
istore 8
goto 11
end local 9 9: StackMap locals: java.lang.String long long char[] int int int top int
StackMap stack:
iinc 6 1
iload 6
iload 7
if_icmpge 11
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
dup
istore 9
start local 9 10: lload 1
lload 3
invokestatic sun.net.util.IPAddressUtil.match:(CJJ)Z
dup
istore 8
ifeq 7
end local 9 11: StackMap locals:
StackMap stack:
iload 8
ifeq 12
iload 6
ireturn
12: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 s Ljava/lang/String;
0 13 1 lowMask J
0 13 3 highMask J
0 13 5 others [C
1 13 6 i I
2 3 7 len I
4 13 7 len I
5 13 8 match Z
7 9 9 c C
10 11 9 c C
6 13 10 c0 C
MethodParameters:
Name Flags
s
lowMask
highMask
others
private static java.lang.String describeChar(char);
descriptor: (C)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
bipush 32
if_icmplt 1
iload 0
bipush 127
if_icmpne 4
1: StackMap locals:
StackMap stack:
iload 0
bipush 10
if_icmpne 2
ldc "LF"
areturn
2: StackMap locals:
StackMap stack:
iload 0
bipush 13
if_icmpne 3
ldc "CR"
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "control char (code="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
iload 0
bipush 92
if_icmpne 5
ldc "'\\'"
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c C
MethodParameters:
Name Flags
c
private static java.lang.String checkUserInfo(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc -9223231260711714817
1: ldc -9223372035915251711
2: invokestatic sun.net.util.IPAddressUtil.scan:(Ljava/lang/String;JJ)I
istore 1
start local 1 3: iload 1
iflt 7
4: new java.lang.StringBuilder
dup
ldc "Illegal character found in user-info: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.net.util.IPAddressUtil.describeChar:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 str Ljava/lang/String;
3 8 1 index I
MethodParameters:
Name Flags
str
private static java.lang.String checkHost(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 15
aload 0
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 15
1: aload 0
iconst_1
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
2: aload 0
invokestatic sun.net.util.IPAddressUtil.isIPv6LiteralAddress:(Ljava/lang/String;)Z
ifeq 14
3: aload 0
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 4: iload 1
iflt 13
5: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
dup
astore 0
6: ldc 4294967295
7: ldc -9223372036183687168
8: invokestatic sun.net.util.IPAddressUtil.scan:(Ljava/lang/String;JJ)I
istore 1
9: iload 1
iflt 13
10: new java.lang.StringBuilder
dup
ldc "Illegal character found in IPv6 scoped address: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.net.util.IPAddressUtil.describeChar:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
13: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 14: StackMap locals:
StackMap stack:
ldc "Unrecognized IPv6 address format"
areturn
15: StackMap locals:
StackMap stack:
aload 0
ldc -8935000884560003073
ldc -9223372035915251711
invokestatic sun.net.util.IPAddressUtil.scan:(Ljava/lang/String;JJ)I
istore 1
start local 1 16: iload 1
iflt 20
17: new java.lang.StringBuilder
dup
ldc "Illegal character found in host: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.net.util.IPAddressUtil.describeChar:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
20: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 str Ljava/lang/String;
4 14 1 index I
16 21 1 index I
MethodParameters:
Name Flags
str
private static java.lang.String checkAuth(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
1: ldc -9223231260711714817
2: ldc -9223372036586340352
3: invokestatic sun.net.util.IPAddressUtil.scan:(Ljava/lang/String;JJ)I
istore 1
start local 1 4: iload 1
iflt 8
5: new java.lang.StringBuilder
dup
ldc "Illegal character found in authority: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.net.util.IPAddressUtil.describeChar:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
8: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 str Ljava/lang/String;
4 9 1 index I
MethodParameters:
Name Flags
str
public static java.lang.String checkAuthority(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URL.getUserInfo:()Ljava/lang/String;
dup
astore 2
start local 2 2: invokestatic sun.net.util.IPAddressUtil.checkUserInfo:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 1
start local 1 3: ifnull 5
4: aload 1
areturn
5: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
dup
astore 3
start local 3 6: invokestatic sun.net.util.IPAddressUtil.checkHost:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 1
ifnull 8
7: aload 1
areturn
8: StackMap locals: java.lang.String
StackMap stack:
aload 3
ifnonnull 10
aload 2
ifnonnull 10
9: aload 0
invokevirtual java.net.URL.getAuthority:()Ljava/lang/String;
invokestatic sun.net.util.IPAddressUtil.checkAuth:(Ljava/lang/String;)Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 url Ljava/net/URL;
3 11 1 s Ljava/lang/String;
2 11 2 u Ljava/lang/String;
6 11 3 h Ljava/lang/String;
MethodParameters:
Name Flags
url
public static java.lang.String checkExternalForm(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URL.getUserInfo:()Ljava/lang/String;
dup
astore 1
start local 1 2: ldc 140741783322623
3: ldc -9223372036854775808
4: invokestatic sun.net.util.IPAddressUtil.scan:(Ljava/lang/String;JJ)I
istore 2
start local 2 5: iload 2
iflt 9
6: new java.lang.StringBuilder
dup
ldc "Illegal character found in authority: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.net.util.IPAddressUtil.describeChar:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
9: StackMap locals: java.lang.String int
StackMap stack:
aload 0
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokestatic sun.net.util.IPAddressUtil.checkHostString:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 1
ifnull 11
10: aload 1
areturn
11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 url Ljava/net/URL;
2 12 1 s Ljava/lang/String;
5 12 2 index I
MethodParameters:
Name Flags
url
public static java.lang.String checkHostString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
2: ldc 140741783322623
3: ldc -9223372036854775808
4: getstatic sun.net.util.IPAddressUtil.OTHERS:[C
5: invokestatic sun.net.util.IPAddressUtil.scan:(Ljava/lang/String;JJ[C)I
istore 1
start local 1 6: iload 1
iflt 10
7: new java.lang.StringBuilder
dup
ldc "Illegal character found in host: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.net.util.IPAddressUtil.describeChar:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 host Ljava/lang/String;
6 11 1 index I
MethodParameters:
Name Flags
host
private static java.net.InetAddress lambda$0(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.net.util.IPAddressUtil.findScopedAddress:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Ljava/net/InetAddress;
private static java.util.List lambda$1(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: invokestatic java.net.NetworkInterface.networkInterfaces:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/net/NetworkInterface.inetAddresses()Ljava/util/stream/Stream; (5)
(Ljava/net/NetworkInterface;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: aload 0
invokedynamic test(Ljava/net/InetAddress;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
sun/net/util/IPAddressUtil.lambda$3(Ljava/net/InetAddress;Ljava/net/InetAddress;)Z (6)
(Ljava/net/InetAddress;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static boolean lambda$3(java.net.InetAddress, java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;Ljava/net/InetAddress;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
instanceof java.net.Inet6Address
ifeq 3
1: aload 0
aload 1
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 1
checkcast java.net.Inet6Address
invokevirtual java.net.Inet6Address.getScopeId:()I
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 a Ljava/net/InetAddress;
}
SourceFile: "IPAddressUtil.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles