public final class io.netty.channel.unix.NativeInetAddress extends java.lang.Object
{
private static final byte[] IPV4_MAPPED_IPV6_PREFIX;
final byte[] address;
final int scopeId;
public static io.netty.channel.unix.NativeInetAddress newInstance(java.net.InetAddress)
{
java.net.InetAddress v;
byte[] v, v;
int v;
io.netty.channel.unix.NativeInetAddress v, v;
boolean v;
v := @parameter: java.net.InetAddress;
v = virtualinvoke v.<java.net.InetAddress: byte[] getAddress()>();
v = v instanceof java.net.Inet6Address;
if v == 0 goto label;
v = new io.netty.channel.unix.NativeInetAddress;
v = virtualinvoke v.<java.net.Inet6Address: int getScopeId()>();
specialinvoke v.<io.netty.channel.unix.NativeInetAddress: void <init>(byte[],int)>(v, v);
return v;
label:
v = new io.netty.channel.unix.NativeInetAddress;
v = staticinvoke <io.netty.channel.unix.NativeInetAddress: byte[] ipv4MappedIpv6Address(byte[])>(v);
specialinvoke v.<io.netty.channel.unix.NativeInetAddress: void <init>(byte[])>(v);
return v;
}
public void <init>(byte[], int)
{
int v;
byte[] v;
io.netty.channel.unix.NativeInetAddress v;
v := @this: io.netty.channel.unix.NativeInetAddress;
v := @parameter: byte[];
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.netty.channel.unix.NativeInetAddress: byte[] address> = v;
v.<io.netty.channel.unix.NativeInetAddress: int scopeId> = v;
return;
}
public void <init>(byte[])
{
byte[] v;
io.netty.channel.unix.NativeInetAddress v;
v := @this: io.netty.channel.unix.NativeInetAddress;
v := @parameter: byte[];
specialinvoke v.<io.netty.channel.unix.NativeInetAddress: void <init>(byte[],int)>(v, 0);
return;
}
public byte[] address()
{
byte[] v;
io.netty.channel.unix.NativeInetAddress v;
v := @this: io.netty.channel.unix.NativeInetAddress;
v = v.<io.netty.channel.unix.NativeInetAddress: byte[] address>;
return v;
}
public int scopeId()
{
int v;
io.netty.channel.unix.NativeInetAddress v;
v := @this: io.netty.channel.unix.NativeInetAddress;
v = v.<io.netty.channel.unix.NativeInetAddress: int scopeId>;
return v;
}
public static byte[] ipv4MappedIpv6Address(byte[])
{
byte[] v, v;
v := @parameter: byte[];
v = newarray (byte)[16];
staticinvoke <io.netty.channel.unix.NativeInetAddress: void copyIpv4MappedIpv6Address(byte[],byte[])>(v, v);
return v;
}
public static void copyIpv4MappedIpv6Address(byte[], byte[])
{
byte[] v, v, v, v;
int v, v;
v := @parameter: byte[];
v := @parameter: byte[];
v = <io.netty.channel.unix.NativeInetAddress: byte[] IPV4_MAPPED_IPV6_PREFIX>;
v = <io.netty.channel.unix.NativeInetAddress: byte[] IPV4_MAPPED_IPV6_PREFIX>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 12, v);
return;
}
public static java.net.InetSocketAddress address(byte[], int, int)
{
byte[] v, v, v;
java.lang.Error v, v;
java.net.InetAddress v;
int v, v, v, v, v, v, v, v;
java.net.InetSocketAddress v;
java.net.UnknownHostException v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v + v;
v = v - 4;
v = staticinvoke <io.netty.channel.unix.NativeInetAddress: int decodeInt(byte[],int)>(v, v);
label:
lookupswitch(v)
{
case 8: goto label;
case 24: goto label;
default: goto label;
};
label:
v = newarray (byte)[4];
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, 4);
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByAddress(byte[])>(v);
goto label;
label:
v = newarray (byte)[16];
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, 16);
v = v + v;
v = v - 8;
v = staticinvoke <io.netty.channel.unix.NativeInetAddress: int decodeInt(byte[],int)>(v, v);
v = staticinvoke <java.net.Inet6Address: java.net.Inet6Address getByAddress(java.lang.String,byte[],int)>(null, v, v);
goto label;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
label:
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.net.InetAddress,int)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.String,java.lang.Throwable)>("Should never happen", v);
throw v;
catch java.net.UnknownHostException from label to label with label;
}
static int decodeInt(byte[], int)
{
byte[] v;
short v, v, v, v;
byte v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v = v[v];
v = v & 255;
v = v << 24;
v = v + 1;
v = v[v];
v = v & 255;
v = v << 16;
v = v | v;
v = v + 2;
v = v[v];
v = v & 255;
v = v << 8;
v = v | v;
v = v + 3;
v = v[v];
v = v & 255;
v = v | v;
return v;
}
static void <clinit>()
{
byte[] v;
v = newarray (byte)[12];
v[0] = 0;
v[1] = 0;
v[2] = 0;
v[3] = 0;
v[4] = 0;
v[5] = 0;
v[6] = 0;
v[7] = 0;
v[8] = 0;
v[9] = 0;
v[10] = -1;
v[11] = -1;
<io.netty.channel.unix.NativeInetAddress: byte[] IPV4_MAPPED_IPV6_PREFIX> = v;
return;
}
}