public final class io.netty.util.NetUtil extends java.lang.Object
{
public static final java.net.Inet4Address LOCALHOST4;
public static final java.net.Inet6Address LOCALHOST6;
public static final java.net.InetAddress LOCALHOST;
public static final java.net.NetworkInterface LOOPBACK_IF;
public static final java.util.Collection NETWORK_INTERFACES;
public static final int SOMAXCONN;
private static final int IPV6_WORD_COUNT;
private static final int IPV6_MAX_CHAR_COUNT;
private static final int IPV6_BYTE_COUNT;
private static final int IPV6_MAX_CHAR_BETWEEN_SEPARATOR;
private static final int IPV6_MIN_SEPARATORS;
private static final int IPV6_MAX_SEPARATORS;
private static final int IPV4_MAX_CHAR_BETWEEN_SEPARATOR;
private static final int IPV4_SEPARATORS;
private static final boolean IPV4_PREFERRED;
private static final boolean IPV6_ADDRESSES_PREFERRED;
private static final io.netty.util.internal.logging.InternalLogger logger;
private static java.lang.Integer sysctlGetInt(java.lang.String) throws java.io.IOException
{
java.lang.Throwable v, v;
java.lang.String[] v;
java.lang.Integer v;
int v, v, v, v;
java.lang.ProcessBuilder v;
java.lang.String v, v, v;
boolean v, v;
java.lang.Process v;
char v;
java.io.InputStreamReader v;
java.io.BufferedReader v;
java.io.InputStream v;
v := @parameter: java.lang.String;
v = new java.lang.ProcessBuilder;
v = newarray (java.lang.String)[2];
v[0] = "sysctl";
v[1] = v;
specialinvoke v.<java.lang.ProcessBuilder: void <init>(java.lang.String[])>(v);
v = virtualinvoke v.<java.lang.ProcessBuilder: java.lang.Process start()>();
label:
v = virtualinvoke v.<java.lang.Process: java.io.InputStream getInputStream()>();
v = new java.io.InputStreamReader;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
v = new java.io.BufferedReader;
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v != 0 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
label:
virtualinvoke v.<java.lang.Process: void destroy()>();
return v;
label:
v = v - 1;
goto label;
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
label:
virtualinvoke v.<java.lang.Process: void destroy()>();
return null;
label:
v := @caughtexception;
virtualinvoke v.<java.io.BufferedReader: void close()>();
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Process: void destroy()>();
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static boolean isIpV4StackPreferred()
{
boolean v;
v = <io.netty.util.NetUtil: boolean IPV4_PREFERRED>;
return v;
}
public static boolean isIpV6AddressesPreferred()
{
boolean v;
v = <io.netty.util.NetUtil: boolean IPV6_ADDRESSES_PREFERRED>;
return v;
}
public static byte[] createByteArrayFromIpAddressString(java.lang.String)
{
byte[] v, v;
char v;
int v, v, v;
java.lang.String v;
boolean v, v;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: byte[] validIpV4ToBytes(java.lang.String)>(v);
return v;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV6Address(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 91 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(1, v);
label:
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(37);
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = staticinvoke <io.netty.util.NetUtil: byte[] getIPv6ByName(java.lang.CharSequence,boolean)>(v, 1);
return v;
label:
return null;
}
public static java.net.InetAddress createInetAddressFromIpAddressString(java.lang.String)
{
byte[] v, v, v;
java.lang.IllegalStateException v, v, v;
java.net.InetAddress v, v;
int v, v, v, v, v;
java.lang.String v, v, v;
boolean v, v;
char v;
java.lang.NumberFormatException v;
java.net.UnknownHostException v, v, v;
java.net.Inet6Address v;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: byte[] validIpV4ToBytes(java.lang.String)>(v);
label:
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByAddress(byte[])>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV6Address(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 91 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(1, v);
label:
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(37);
if v < 0 goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = staticinvoke <io.netty.util.NetUtil: byte[] getIPv6ByName(java.lang.CharSequence,boolean)>(v, 1);
if v != null goto label;
label:
return null;
label:
v = staticinvoke <java.net.Inet6Address: java.net.Inet6Address getByAddress(java.lang.String,byte[],int)>(null, v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
return null;
label:
v = staticinvoke <io.netty.util.NetUtil: byte[] getIPv6ByName(java.lang.CharSequence,boolean)>(v, 1);
if v != null goto label;
return null;
label:
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByAddress(byte[])>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return null;
catch java.net.UnknownHostException from label to label with label;
catch java.net.UnknownHostException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
catch java.net.UnknownHostException from label to label with label;
}
private static int decimalDigit(java.lang.String, int)
{
int v, v;
char v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v - 48;
return v;
}
private static byte ipv4WordToByte(java.lang.String, int, int)
{
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.util.NetUtil: int decimalDigit(java.lang.String,int)>(v, v);
v = v + 1;
if v != v goto label;
return v;
label:
v = v * 10;
v = staticinvoke <io.netty.util.NetUtil: int decimalDigit(java.lang.String,int)>(v, v);
v = v + v;
v = v + 1;
if v != v goto label;
return v;
label:
v = v * 10;
v = staticinvoke <io.netty.util.NetUtil: int decimalDigit(java.lang.String,int)>(v, v);
v = v + v;
return v;
}
static byte[] validIpV4ToBytes(java.lang.String)
{
byte[] v;
byte v, v, v, v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v = newarray (byte)[4];
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, 1);
v = staticinvoke <io.netty.util.NetUtil: byte ipv4WordToByte(java.lang.String,int,int)>(v, 0, v);
v[0] = v;
v = v + 1;
v = v + 2;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, v);
v = staticinvoke <io.netty.util.NetUtil: byte ipv4WordToByte(java.lang.String,int,int)>(v, v, v);
v[1] = v;
v = v + 1;
v = v + 2;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, v);
v = staticinvoke <io.netty.util.NetUtil: byte ipv4WordToByte(java.lang.String,int,int)>(v, v, v);
v[2] = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <io.netty.util.NetUtil: byte ipv4WordToByte(java.lang.String,int,int)>(v, v, v);
v[3] = v;
return v;
}
public static int ipv4AddressToInt(java.net.Inet4Address)
{
byte[] v;
short v, v, v, v;
byte v, v, v, v;
int v, v, v, v, v, v;
java.net.Inet4Address v;
v := @parameter: java.net.Inet4Address;
v = virtualinvoke v.<java.net.Inet4Address: byte[] getAddress()>();
v = v[0];
v = v & 255;
v = v << 24;
v = v[1];
v = v & 255;
v = v << 16;
v = v | v;
v = v[2];
v = v & 255;
v = v << 8;
v = v | v;
v = v[3];
v = v & 255;
v = v | v;
return v;
}
public static java.lang.String intToIpAddress(int)
{
int v, v, v, v, v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(15);
v = v >> 24;
v = v & 255;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
v = v >> 16;
v = v & 255;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
v = v >> 8;
v = v & 255;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
v = v & 255;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String bytesToIpAddress(byte[])
{
int v;
byte[] v;
java.lang.String v;
v := @parameter: byte[];
v = lengthof v;
v = staticinvoke <io.netty.util.NetUtil: java.lang.String bytesToIpAddress(byte[],int,int)>(v, 0, v);
return v;
}
public static java.lang.String bytesToIpAddress(byte[], int, int)
{
byte[] v;
short v, v, v, v;
byte v, v, v, v;
int v, v, v, v, v;
java.lang.String v, v, v;
java.lang.IllegalArgumentException v;
java.lang.StringBuilder v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
lookupswitch(v)
{
case 4: goto label;
case 16: goto label;
default: goto label;
};
label:
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(15);
v = v[v];
v = v & 255;
v = v + 1;
v = v[v];
v = v & 255;
v = v + 2;
v = v[v];
v = v & 255;
v = v + 3;
v = v[v];
v = v & 255;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (short,short,short,short)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.\u.\u.\u0001");
return v;
label:
v = staticinvoke <io.netty.util.NetUtil: java.lang.String toAddressString(byte[],int,boolean)>(v, v, 0);
return v;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("length: \u (expected: 4 or 16)");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
public static boolean isValidIpV6Address(java.lang.String)
{
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV6Address(java.lang.CharSequence)>(v);
return v;
}
public static boolean isValidIpV6Address(java.lang.CharSequence)
{
boolean v, v, v, v, v, v, v, v;
java.lang.CharSequence v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.CharSequence;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v >= 2 goto label;
return 0;
label:
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v != 91 goto label;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v == 93 goto label;
return 0;
label:
v = 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(1);
goto label;
label:
v = 0;
label:
if v != 58 goto label;
v = v + 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v == 58 goto label;
return 0;
label:
v = 2;
v = v;
v = v + 2;
goto label;
label:
v = 0;
v = (int) -1;
v = v;
label:
v = 0;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidHexChar(char)>(v);
if v == 0 goto label;
if v >= 4 goto label;
v = v + 1;
goto label;
label:
return 0;
label:
lookupswitch(v)
{
case 37: goto label;
case 46: goto label;
case 58: goto label;
default: goto label;
};
label:
if v <= 7 goto label;
return 0;
label:
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != 58 goto label;
if v < 0 goto label;
return 0;
label:
v = v - 1;
goto label;
label:
v = 0;
label:
v = v + 1;
goto label;
label:
if v >= 0 goto label;
if v != 6 goto label;
label:
if v != 7 goto label;
if v >= v goto label;
label:
if v <= 7 goto label;
label:
return 0;
label:
v = v - v;
v = v - 2;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIPv4MappedChar(char)>(v);
if v == 0 goto label;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIPv4MappedChar(char)>(v);
if v == 0 goto label;
v = v - 2;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIPv4MappedChar(char)>(v);
if v == 0 goto label;
v = v - 3;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIPv4MappedChar(char)>(v);
if v != 0 goto label;
label:
return 0;
label:
v = v - 5;
label:
if v < v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v == 48 goto label;
if v == 58 goto label;
return 0;
label:
v = v - 1;
goto label;
label:
v = v + 7;
v = staticinvoke <io.netty.util.AsciiString: int indexOf(java.lang.CharSequence,char,int)>(v, 37, v);
if v >= 0 goto label;
v = v;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(java.lang.CharSequence,int,int)>(v, v, v);
return v;
label:
v = v;
goto label;
label:
return 0;
label:
v = v + 1;
goto label;
label:
if v >= 0 goto label;
if v != 7 goto label;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v + 2;
if v == v goto label;
if v <= 0 goto label;
if v < 8 goto label;
if v > v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidIpV4Word(java.lang.CharSequence, int, int)
{
java.lang.CharSequence v;
char v, v, v, v;
int v, v, v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v < 1 goto label;
if v > 3 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 48 goto label;
label:
return 0;
label:
if v != 3 goto label;
v = v + 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v < 48 goto label;
v = v + 2;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v < 48 goto label;
if v > 49 goto label;
if v > 57 goto label;
if v <= 57 goto label;
label:
if v != 50 goto label;
if v > 53 goto label;
if v <= 53 goto label;
if v >= 53 goto label;
if v > 57 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v > 57 goto label;
if v == 1 goto label;
v = v + 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidHexChar(char)
{
char v;
boolean v;
v := @parameter: char;
if v < 48 goto label;
if v <= 57 goto label;
label:
if v < 65 goto label;
if v <= 70 goto label;
label:
if v < 97 goto label;
if v > 102 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidNumericChar(char)
{
char v;
boolean v;
v := @parameter: char;
if v < 48 goto label;
if v > 57 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidIPv4MappedChar(char)
{
char v;
boolean v;
v := @parameter: char;
if v == 102 goto label;
if v != 70 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidIPv4MappedSeparators(byte, byte, boolean)
{
byte v, v;
int v;
boolean v, v;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: boolean;
if v != v goto label;
if v == 0 goto label;
if v != 0 goto label;
v = (int) -1;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidIPv4Mapped(byte[], int, int, int)
{
byte[] v;
byte v, v;
int v, v, v, v, v, v, v;
boolean v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v + v;
if v < 14 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v > 12 goto label;
if v < 2 goto label;
if v == 0 goto label;
if v >= 12 goto label;
label:
v = v - 1;
v = v[v];
v = v - 2;
v = v[v];
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIPv4MappedSeparators(byte,byte,boolean)>(v, v, v);
if v == 0 goto label;
v = v - 3;
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isZero(byte[],int,int)>(v, 0, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isValidIpV4Address(java.lang.CharSequence)
{
int v;
java.lang.CharSequence v;
boolean v;
v := @parameter: java.lang.CharSequence;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(java.lang.CharSequence,int,int)>(v, 0, v);
return v;
}
public static boolean isValidIpV4Address(java.lang.String)
{
int v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(java.lang.String,int,int)>(v, 0, v);
return v;
}
private static boolean isValidIpV4Address(java.lang.CharSequence, int, int)
{
java.lang.CharSequence v;
int v, v;
boolean v, v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(java.lang.String,int,int)>(v, v, v);
goto label;
label:
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address(io.netty.util.AsciiString,int,int)>(v, v, v);
goto label;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Address0(java.lang.CharSequence,int,int)>(v, v, v);
label:
return v;
}
private static boolean isValidIpV4Address(java.lang.String, int, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v > 15 goto label;
if v < 7 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, v);
if v <= 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 2;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, v);
if v <= 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 2;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, v);
if v <= 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidIpV4Address(io.netty.util.AsciiString, int, int)
{
io.netty.util.AsciiString v;
int v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v;
v := @parameter: io.netty.util.AsciiString;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v > 15 goto label;
if v < 7 goto label;
v = v + 1;
v = virtualinvoke v.<io.netty.util.AsciiString: int indexOf(char,int)>(46, v);
if v <= 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 2;
v = virtualinvoke v.<io.netty.util.AsciiString: int indexOf(char,int)>(46, v);
if v <= 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 2;
v = virtualinvoke v.<io.netty.util.AsciiString: int indexOf(char,int)>(46, v);
if v <= 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isValidIpV4Address0(java.lang.CharSequence, int, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v;
java.lang.CharSequence v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v > 15 goto label;
if v < 7 goto label;
v = v + 1;
v = staticinvoke <io.netty.util.AsciiString: int indexOf(java.lang.CharSequence,char,int)>(v, 46, v);
if v <= 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 2;
v = staticinvoke <io.netty.util.AsciiString: int indexOf(java.lang.CharSequence,char,int)>(v, 46, v);
if v <= 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 2;
v = staticinvoke <io.netty.util.AsciiString: int indexOf(java.lang.CharSequence,char,int)>(v, 46, v);
if v <= 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = v + 1;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV4Word(java.lang.CharSequence,int,int)>(v, v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.net.Inet6Address getByName(java.lang.CharSequence)
{
java.net.Inet6Address v;
java.lang.CharSequence v;
v := @parameter: java.lang.CharSequence;
v = staticinvoke <io.netty.util.NetUtil: java.net.Inet6Address getByName(java.lang.CharSequence,boolean)>(v, 1);
return v;
}
public static java.net.Inet6Address getByName(java.lang.CharSequence, boolean)
{
byte[] v;
java.net.Inet6Address v;
java.lang.CharSequence v;
int v;
java.lang.RuntimeException v;
java.net.UnknownHostException v;
boolean v;
v := @parameter: java.lang.CharSequence;
v := @parameter: boolean;
v = staticinvoke <io.netty.util.NetUtil: byte[] getIPv6ByName(java.lang.CharSequence,boolean)>(v, v);
if v != null goto label;
return null;
label:
v = (int) -1;
v = staticinvoke <java.net.Inet6Address: java.net.Inet6Address getByAddress(java.lang.String,byte[],int)>(null, v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.net.UnknownHostException from label to label with label;
}
static byte[] getIPv6ByName(java.lang.CharSequence, boolean)
{
byte[] v;
java.lang.CharSequence v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: boolean;
v = newarray (byte)[16];
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = 0;
v = 0;
v = 0;
v = 0;
v = (int) -1;
v = v;
v = 0;
v = 0;
v = 0;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
lookupswitch(v)
{
case 46: goto label;
case 58: goto label;
default: goto label;
};
label:
v = v + 1;
v = v - v;
if v > 4 goto label;
if v > 0 goto label;
if v > 8 goto label;
v = v + 1;
v = lengthof v;
if v < v goto label;
label:
return null;
label:
v = v - v;
v = 4 - v;
v = v << 2;
v = v << v;
if v <= 0 goto label;
v = v - 2;
label:
v = v + 1;
v = v & 15;
v = v << 4;
v = v >> 4;
v = v & 15;
v = v | v;
v[v] = v;
v = v + 1;
v = v >> 8;
v = v & 15;
v = v << 4;
v = v >> 12;
v = v & 15;
v = v | v;
v[v] = v;
v = v + 1;
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != 58 goto label;
v = v + 1;
if v != 0 goto label;
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != 58 goto label;
label:
return null;
label:
v = v + 1;
v = v;
v = lengthof v;
v = v - v;
v = v - 2;
v = v + 1;
label:
v = 0;
v = (int) -1;
v = v;
goto label;
label:
v = v + 1;
v = v - v;
if v > 3 goto label;
if v < 0 goto label;
if v > 3 goto label;
if v <= 0 goto label;
v = v + v;
if v < 12 goto label;
label:
v = v + 1;
if v >= v goto label;
v = lengthof v;
if v >= v goto label;
if v != 1 goto label;
if v == 0 goto label;
if v == 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIPv4Mapped(byte[],int,int,int)>(v, v, v, v);
if v == 0 goto label;
label:
if v != 3 goto label;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v == 0 goto label;
v = v - 2;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v == 0 goto label;
v = v - 3;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v == 0 goto label;
label:
if v != 2 goto label;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v == 0 goto label;
v = v - 2;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v == 0 goto label;
label:
if v != 1 goto label;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v != 0 goto label;
label:
return null;
label:
v = 3 - v;
v = v << 2;
v = v << v;
v = v & 15;
v = v * 100;
v = v >> 4;
v = v & 15;
v = v * 10;
v = v + v;
v = v >> 8;
v = v & 15;
v = v + v;
if v <= 255 goto label;
return null;
label:
v = v;
v = v + 1;
v[v] = v;
v = 0;
v = (int) -1;
v = v;
goto label;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean isValidHexChar(char)>(v);
if v == 0 goto label;
if v <= 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean isValidNumericChar(char)>(v);
if v != 0 goto label;
label:
return null;
label:
if v >= 0 goto label;
v = v;
goto label;
label:
v = v - v;
if v <= 4 goto label;
return null;
label:
v = staticinvoke <io.netty.util.internal.StringUtil: int decodeHexNibble(char)>(v);
v = v - v;
v = v << 2;
v = v << v;
v = v + v;
label:
v = v + 1;
goto label;
label:
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v <= 0 goto label;
if v <= 0 goto label;
v = v - v;
if v > 3 goto label;
label:
if v != 3 goto label;
v = lengthof v;
if v < v goto label;
label:
return null;
label:
if v == 0 goto label;
if v < 2 goto label;
if v != 0 goto label;
if v != 6 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v != 58 goto label;
label:
if v == 0 goto label;
if v >= 8 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v != 58 goto label;
if v <= 2 goto label;
label:
return null;
label:
v = v - v;
v = 3 - v;
v = v << 2;
v = v << v;
v = v & 15;
v = v * 100;
v = v >> 4;
v = v & 15;
v = v * 10;
v = v + v;
v = v >> 8;
v = v & 15;
v = v + v;
if v <= 255 goto label;
return null;
label:
v = v + 1;
v[v] = v;
goto label;
label:
v = v - 1;
if v <= 0 goto label;
v = v - v;
if v > 4 goto label;
label:
if v < 2 goto label;
if v != 0 goto label;
v = v + 1;
if v != 8 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v == 58 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v == 58 goto label;
label:
if v == 0 goto label;
if v > 8 goto label;
if v != 8 goto label;
if v > 2 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v != 58 goto label;
label:
if v < 14 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != 58 goto label;
label:
v = v + 1;
v = lengthof v;
if v >= v goto label;
if v >= 0 goto label;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != 58 goto label;
label:
if v <= 2 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v != 58 goto label;
label:
return null;
label:
if v < 0 goto label;
v = v - v;
if v > 4 goto label;
v = v - v;
v = 4 - v;
v = v << 2;
v = v << v;
label:
v = v + 1;
v = v & 15;
v = v << 4;
v = v >> 4;
v = v & 15;
v = v | v;
v[v] = v;
v = v + 1;
v = v >> 8;
v = v & 15;
v = v << 4;
v = v >> 12;
v = v & 15;
v = v | v;
v[v] = v;
label:
v = lengthof v;
if v >= v goto label;
v = v - v;
v = lengthof v;
v = v - v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
staticinvoke <java.util.Arrays: void fill(byte[],int,int,byte)>(v, v, v, 0);
label:
if v <= 0 goto label;
v[11] = -1;
v[10] = -1;
label:
return v;
}
public static java.lang.String toSocketAddressString(java.net.InetSocketAddress)
{
java.net.InetSocketAddress v;
java.net.InetAddress v;
int v;
java.lang.StringBuilder v, v, v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
v := @parameter: java.net.InetSocketAddress;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
v = virtualinvoke v.<java.net.InetSocketAddress: boolean isUnresolved()>();
if v == 0 goto label;
v = staticinvoke <io.netty.util.NetUtil: java.lang.String getHostname(java.net.InetSocketAddress)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV6Address(java.lang.String)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <io.netty.util.NetUtil: java.lang.StringBuilder newSocketAddressStringBuilder(java.lang.String,java.lang.String,boolean)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = staticinvoke <io.netty.util.NetUtil: java.lang.String toAddressString(java.net.InetAddress)>(v);
v = v instanceof java.net.Inet4Address;
v = staticinvoke <io.netty.util.NetUtil: java.lang.StringBuilder newSocketAddressStringBuilder(java.lang.String,java.lang.String,boolean)>(v, v, v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String toSocketAddressString(java.lang.String, int)
{
int v;
java.lang.StringBuilder v, v, v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV6Address(java.lang.String)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <io.netty.util.NetUtil: java.lang.StringBuilder newSocketAddressStringBuilder(java.lang.String,java.lang.String,boolean)>(v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static java.lang.StringBuilder newSocketAddressStringBuilder(java.lang.String, java.lang.String, boolean)
{
int v, v, v, v, v, v, v, v;
java.lang.String v, v;
boolean v;
char v, v;
java.lang.StringBuilder v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = new java.lang.StringBuilder;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return v;
label:
v = new java.lang.StringBuilder;
v = v + 3;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
if v <= 1 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 91 goto label;
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 93 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(91);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(93);
return v;
}
public static java.lang.String toAddressString(java.net.InetAddress)
{
java.net.InetAddress v;
java.lang.String v;
v := @parameter: java.net.InetAddress;
v = staticinvoke <io.netty.util.NetUtil: java.lang.String toAddressString(java.net.InetAddress,boolean)>(v, 0);
return v;
}
public static java.lang.String toAddressString(java.net.InetAddress, boolean)
{
byte[] v;
java.lang.IllegalArgumentException v;
java.net.InetAddress v;
java.lang.String v, v, v;
boolean v, v, v;
v := @parameter: java.net.InetAddress;
v := @parameter: boolean;
v = v instanceof java.net.Inet4Address;
if v == 0 goto label;
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostAddress()>();
return v;
label:
v = v instanceof java.net.Inet6Address;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.InetAddress)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unhandled type: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.net.InetAddress: byte[] getAddress()>();
v = staticinvoke <io.netty.util.NetUtil: java.lang.String toAddressString(byte[],int,boolean)>(v, 0, v);
return v;
}
private static java.lang.String toAddressString(byte[], int, boolean)
{
byte[] v;
byte v, v;
int[] v;
boolean v, v, v, v, v, v, v;
java.lang.StringBuilder v;
short v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: boolean;
v = newarray (int)[8];
v = lengthof v;
v = v + v;
v = v;
label:
if v >= v goto label;
v = v << 1;
v = v[v];
v = v & 255;
v = v << 8;
v = v << 1;
v = v + 1;
v = v[v];
v = v & 255;
v = v | v;
v[v] = v;
v = v + 1;
goto label;
label:
v = (int) -1;
v = v;
v = (int) -1;
v = v;
v = 0;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
if v != 0 goto label;
if v >= 0 goto label;
v = v;
goto label;
label:
if v < 0 goto label;
v = v - v;
if v <= v goto label;
v = v;
v = v;
label:
v = (int) -1;
v = v;
label:
v = v + 1;
goto label;
label:
if v < 0 goto label;
v = v - v;
if v <= v goto label;
v = v;
v = v;
label:
if v != 1 goto label;
v = 0;
v = (int) -1;
v = v;
label:
v = v + v;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(39);
if v >= 0 goto label;
v = v[0];
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = 1;
label:
v = lengthof v;
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = v[v];
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean inRangeEndExclusive(int,int,int)>(0, v, v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("::");
if v == 0 goto label;
if v != 5 goto label;
v = v[5];
v = (int) 65535;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
v = v[0];
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = 0;
label:
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = staticinvoke <io.netty.util.NetUtil: boolean inRangeEndExclusive(int,int,int)>(v, v, v);
if v != 0 goto label;
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean inRangeEndExclusive(int,int,int)>(v, v, v);
if v != 0 goto label;
if v == 0 goto label;
if v != 6 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
label:
if v == 0 goto label;
if v <= 5 goto label;
v = v[v];
v = v >> 8;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
v = v[v];
v = v & 255;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = v[v];
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = v - 1;
v = staticinvoke <io.netty.util.NetUtil: boolean inRangeEndExclusive(int,int,int)>(v, v, v);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("::");
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getHostname(java.net.InetSocketAddress)
{
int v;
java.lang.String v;
java.net.InetSocketAddress v;
v := @parameter: java.net.InetSocketAddress;
v = staticinvoke <io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v < 7 goto label;
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostString()>();
goto label;
label:
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostName()>();
label:
return v;
}
private static boolean inRangeEndExclusive(int, int, int)
{
int v, v, v;
boolean v;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
if v < v goto label;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void <init>()
{
io.netty.util.NetUtil v;
v := @this: io.netty.util.NetUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static void <clinit>()
{
java.net.InetAddress v;
int v;
java.lang.Boolean v, v;
io.netty.util.NetUtil$SoMaxConnAction v;
io.netty.util.NetUtilInitializations$NetworkIfaceAndInetAddress v;
boolean v, v, v, v;
java.util.Collection v, v;
java.net.NetworkInterface v;
java.net.Inet4Address v, v;
java.net.Inet6Address v, v;
io.netty.util.internal.logging.InternalLogger v, v, v;
java.lang.Object v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean getBoolean(java.lang.String,boolean)>("java.net.preferIPv4Stack", 0);
<io.netty.util.NetUtil: boolean IPV4_PREFERRED> = v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean getBoolean(java.lang.String,boolean)>("java.net.preferIPv6Addresses", 0);
<io.netty.util.NetUtil: boolean IPV6_ADDRESSES_PREFERRED> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/util/NetUtil;");
<io.netty.util.NetUtil: io.netty.util.internal.logging.InternalLogger logger> = v;
v = <io.netty.util.NetUtil: io.netty.util.internal.logging.InternalLogger logger>;
v = <io.netty.util.NetUtil: boolean IPV4_PREFERRED>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("-Djava.net.preferIPv4Stack: {}", v);
v = <io.netty.util.NetUtil: io.netty.util.internal.logging.InternalLogger logger>;
v = <io.netty.util.NetUtil: boolean IPV6_ADDRESSES_PREFERRED>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("-Djava.net.preferIPv6Addresses: {}", v);
v = staticinvoke <io.netty.util.NetUtilInitializations: java.util.Collection networkInterfaces()>();
<io.netty.util.NetUtil: java.util.Collection NETWORK_INTERFACES> = v;
v = staticinvoke <io.netty.util.NetUtilInitializations: java.net.Inet4Address createLocalhost4()>();
<io.netty.util.NetUtil: java.net.Inet4Address LOCALHOST4> = v;
v = staticinvoke <io.netty.util.NetUtilInitializations: java.net.Inet6Address createLocalhost6()>();
<io.netty.util.NetUtil: java.net.Inet6Address LOCALHOST6> = v;
v = <io.netty.util.NetUtil: java.util.Collection NETWORK_INTERFACES>;
v = <io.netty.util.NetUtil: java.net.Inet4Address LOCALHOST4>;
v = <io.netty.util.NetUtil: java.net.Inet6Address LOCALHOST6>;
v = staticinvoke <io.netty.util.NetUtilInitializations: io.netty.util.NetUtilInitializations$NetworkIfaceAndInetAddress determineLoopback(java.util.Collection,java.net.Inet4Address,java.net.Inet6Address)>(v, v, v);
v = virtualinvoke v.<io.netty.util.NetUtilInitializations$NetworkIfaceAndInetAddress: java.net.NetworkInterface iface()>();
<io.netty.util.NetUtil: java.net.NetworkInterface LOOPBACK_IF> = v;
v = virtualinvoke v.<io.netty.util.NetUtilInitializations$NetworkIfaceAndInetAddress: java.net.InetAddress address()>();
<io.netty.util.NetUtil: java.net.InetAddress LOCALHOST> = v;
v = new io.netty.util.NetUtil$SoMaxConnAction;
specialinvoke v.<io.netty.util.NetUtil$SoMaxConnAction: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
<io.netty.util.NetUtil: int SOMAXCONN> = v;
return;
}
}