public class io.netty.resolver.dns.DnsNameResolver extends io.netty.resolver.InetNameResolver
{
private static final io.netty.util.internal.logging.InternalLogger logger;
private static final java.lang.String LOCALHOST;
private static final java.lang.String WINDOWS_HOST_NAME;
private static final java.net.InetAddress LOCALHOST_ADDRESS;
private static final io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS;
private static final io.netty.handler.codec.dns.DnsRecordType[] IPV4_ONLY_RESOLVED_RECORD_TYPES;
private static final io.netty.channel.socket.InternetProtocolFamily[] IPV4_ONLY_RESOLVED_PROTOCOL_FAMILIES;
private static final io.netty.handler.codec.dns.DnsRecordType[] IPV4_PREFERRED_RESOLVED_RECORD_TYPES;
private static final io.netty.channel.socket.InternetProtocolFamily[] IPV4_PREFERRED_RESOLVED_PROTOCOL_FAMILIES;
private static final io.netty.handler.codec.dns.DnsRecordType[] IPV6_ONLY_RESOLVED_RECORD_TYPES;
private static final io.netty.channel.socket.InternetProtocolFamily[] IPV6_ONLY_RESOLVED_PROTOCOL_FAMILIES;
private static final io.netty.handler.codec.dns.DnsRecordType[] IPV6_PREFERRED_RESOLVED_RECORD_TYPES;
private static final io.netty.channel.socket.InternetProtocolFamily[] IPV6_PREFERRED_RESOLVED_PROTOCOL_FAMILIES;
static final io.netty.resolver.ResolvedAddressTypes DEFAULT_RESOLVE_ADDRESS_TYPES;
static final java.lang.String[] DEFAULT_SEARCH_DOMAINS;
private static final io.netty.resolver.dns.UnixResolverOptions DEFAULT_OPTIONS;
private static final io.netty.handler.codec.dns.DatagramDnsResponseDecoder DATAGRAM_DECODER;
private static final io.netty.handler.codec.dns.DatagramDnsQueryEncoder DATAGRAM_ENCODER;
private static final io.netty.handler.codec.dns.TcpDnsQueryEncoder TCP_ENCODER;
final io.netty.util.concurrent.Promise channelReadyPromise;
final io.netty.channel.Channel ch;
private final java.util.Comparator nameServerComparator;
final io.netty.resolver.dns.DnsQueryContextManager queryContextManager;
private final io.netty.resolver.dns.DnsCache resolveCache;
private final io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache;
private final io.netty.resolver.dns.DnsCnameCache cnameCache;
private final io.netty.util.concurrent.FastThreadLocal nameServerAddrStream;
private final long queryTimeoutMillis;
private final int maxQueriesPerResolve;
private final io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes;
private final io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies;
private final boolean recursionDesired;
private final int maxPayloadSize;
private final boolean optResourceEnabled;
private final io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver;
private final io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider;
private final java.lang.String[] searchDomains;
private final int ndots;
private final boolean supportsAAAARecords;
private final boolean supportsARecords;
private final io.netty.channel.socket.InternetProtocolFamily preferredAddressType;
private final io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes;
private final boolean decodeIdn;
private final io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory;
private final boolean completeOncePreferredResolved;
private final io.netty.channel.ChannelFactory socketChannelFactory;
private final int maxNumConsolidation;
private final java.util.Map inflightLookups;
static final boolean $assertionsDisabled;
private static boolean anyInterfaceSupportsIpV6()
{
java.util.Iterator v;
java.util.Enumeration v;
java.util.Collection v;
java.lang.Object v, v;
boolean v, v, v, v, v, v;
v = <io.netty.util.NetUtil: java.util.Collection NETWORK_INTERFACES>;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.net.NetworkInterface: java.util.Enumeration getInetAddresses()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = v instanceof java.net.Inet6Address;
if v == 0 goto label;
v = virtualinvoke v.<java.net.InetAddress: boolean isAnyLocalAddress()>();
if v != 0 goto label;
v = virtualinvoke v.<java.net.InetAddress: boolean isLoopbackAddress()>();
if v != 0 goto label;
v = virtualinvoke v.<java.net.InetAddress: boolean isLinkLocalAddress()>();
if v != 0 goto label;
return 1;
label:
return 0;
}
private static java.util.List getSearchDomainsHack() throws java.lang.Exception
{
java.lang.Object[] v, v;
java.lang.Class[] v, v;
java.util.List v;
int v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.reflect.Method v, v;
v = staticinvoke <io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v >= 9 goto label;
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("sun.net.dns.ResolverConfiguration");
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("open", v);
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("searchlist", v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(null, v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
return v;
label:
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
}
public void <init>(io.netty.channel.EventLoop, io.netty.channel.ChannelFactory, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.DnsQueryLifecycleObserverFactory, long, io.netty.resolver.ResolvedAddressTypes, boolean, int, boolean, int, boolean, io.netty.resolver.HostsFileEntriesResolver, io.netty.resolver.dns.DnsServerAddressStreamProvider, java.lang.String[], int, boolean)
{
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
java.lang.String[] v;
long v;
io.netty.resolver.dns.DnsCache v, v;
io.netty.resolver.HostsFileEntriesResolver v;
int v, v, v;
io.netty.channel.ChannelFactory v;
boolean v, v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.AuthoritativeDnsServerCacheAdapter v;
io.netty.resolver.dns.DnsQueryLifecycleObserverFactory v;
io.netty.resolver.ResolvedAddressTypes v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.channel.EventLoop;
v := @parameter: io.netty.channel.ChannelFactory;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory;
v := @parameter: long;
v := @parameter: io.netty.resolver.ResolvedAddressTypes;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: io.netty.resolver.HostsFileEntriesResolver;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStreamProvider;
v := @parameter: java.lang.String[];
v := @parameter: int;
v := @parameter: boolean;
v = new io.netty.resolver.dns.AuthoritativeDnsServerCacheAdapter;
specialinvoke v.<io.netty.resolver.dns.AuthoritativeDnsServerCacheAdapter: void <init>(io.netty.resolver.dns.DnsCache)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void <init>(io.netty.channel.EventLoop,io.netty.channel.ChannelFactory,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.AuthoritativeDnsServerCache,io.netty.resolver.dns.DnsQueryLifecycleObserverFactory,long,io.netty.resolver.ResolvedAddressTypes,boolean,int,boolean,int,boolean,io.netty.resolver.HostsFileEntriesResolver,io.netty.resolver.dns.DnsServerAddressStreamProvider,java.lang.String[],int,boolean)>(v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v);
return;
}
public void <init>(io.netty.channel.EventLoop, io.netty.channel.ChannelFactory, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.AuthoritativeDnsServerCache, io.netty.resolver.dns.DnsQueryLifecycleObserverFactory, long, io.netty.resolver.ResolvedAddressTypes, boolean, int, boolean, int, boolean, io.netty.resolver.HostsFileEntriesResolver, io.netty.resolver.dns.DnsServerAddressStreamProvider, java.lang.String[], int, boolean)
{
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
java.lang.String[] v;
long v;
io.netty.resolver.dns.DnsCache v;
io.netty.resolver.HostsFileEntriesResolver v;
int v, v, v;
io.netty.channel.ChannelFactory v;
boolean v, v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsQueryLifecycleObserverFactory v;
io.netty.resolver.ResolvedAddressTypes v;
io.netty.resolver.dns.NoopDnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.channel.EventLoop;
v := @parameter: io.netty.channel.ChannelFactory;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: io.netty.resolver.dns.AuthoritativeDnsServerCache;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory;
v := @parameter: long;
v := @parameter: io.netty.resolver.ResolvedAddressTypes;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: io.netty.resolver.HostsFileEntriesResolver;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStreamProvider;
v := @parameter: java.lang.String[];
v := @parameter: int;
v := @parameter: boolean;
v = <io.netty.resolver.dns.NoopDnsCnameCache: io.netty.resolver.dns.NoopDnsCnameCache INSTANCE>;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void <init>(io.netty.channel.EventLoop,io.netty.channel.ChannelFactory,io.netty.channel.ChannelFactory,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.DnsCnameCache,io.netty.resolver.dns.AuthoritativeDnsServerCache,io.netty.resolver.dns.DnsQueryLifecycleObserverFactory,long,io.netty.resolver.ResolvedAddressTypes,boolean,int,boolean,int,boolean,io.netty.resolver.HostsFileEntriesResolver,io.netty.resolver.dns.DnsServerAddressStreamProvider,java.lang.String[],int,boolean,boolean)>(v, v, null, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, 0);
return;
}
void <init>(io.netty.channel.EventLoop, io.netty.channel.ChannelFactory, io.netty.channel.ChannelFactory, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.DnsCnameCache, io.netty.resolver.dns.AuthoritativeDnsServerCache, io.netty.resolver.dns.DnsQueryLifecycleObserverFactory, long, io.netty.resolver.ResolvedAddressTypes, boolean, int, boolean, int, boolean, io.netty.resolver.HostsFileEntriesResolver, io.netty.resolver.dns.DnsServerAddressStreamProvider, java.lang.String[], int, boolean, boolean)
{
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
java.lang.String[] v;
long v;
io.netty.resolver.dns.DnsCache v;
io.netty.resolver.HostsFileEntriesResolver v;
int v, v, v;
io.netty.channel.ChannelFactory v, v;
boolean v, v, v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsQueryLifecycleObserverFactory v;
io.netty.resolver.ResolvedAddressTypes v;
io.netty.resolver.dns.DnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.channel.EventLoop;
v := @parameter: io.netty.channel.ChannelFactory;
v := @parameter: io.netty.channel.ChannelFactory;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: io.netty.resolver.dns.DnsCnameCache;
v := @parameter: io.netty.resolver.dns.AuthoritativeDnsServerCache;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory;
v := @parameter: long;
v := @parameter: io.netty.resolver.ResolvedAddressTypes;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: io.netty.resolver.HostsFileEntriesResolver;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStreamProvider;
v := @parameter: java.lang.String[];
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: boolean;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void <init>(io.netty.channel.EventLoop,io.netty.channel.ChannelFactory,io.netty.channel.ChannelFactory,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.DnsCnameCache,io.netty.resolver.dns.AuthoritativeDnsServerCache,java.net.SocketAddress,io.netty.resolver.dns.DnsQueryLifecycleObserverFactory,long,io.netty.resolver.ResolvedAddressTypes,boolean,int,boolean,int,boolean,io.netty.resolver.HostsFileEntriesResolver,io.netty.resolver.dns.DnsServerAddressStreamProvider,java.lang.String[],int,boolean,boolean,int)>(v, v, v, v, v, v, null, v, v, v, v, v, v, v, v, v, v, v, v, v, v, 0);
return;
}
void <init>(io.netty.channel.EventLoop, io.netty.channel.ChannelFactory, io.netty.channel.ChannelFactory, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.DnsCnameCache, io.netty.resolver.dns.AuthoritativeDnsServerCache, java.net.SocketAddress, io.netty.resolver.dns.DnsQueryLifecycleObserverFactory, long, io.netty.resolver.ResolvedAddressTypes, boolean, int, boolean, int, boolean, io.netty.resolver.HostsFileEntriesResolver, io.netty.resolver.dns.DnsServerAddressStreamProvider, java.lang.String[], int, boolean, boolean, int)
{
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
byte v;
io.netty.channel.socket.InternetProtocolFamily v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.channel.socket.InternetProtocolFamily[] v, v, v, v;
io.netty.resolver.dns.DnsQueryLifecycleObserverFactory v;
io.netty.resolver.dns.DnsCnameCache v;
java.lang.Throwable v;
io.netty.channel.ChannelOption v;
io.netty.resolver.dns.LoggingDnsQueryLifeCycleObserverFactory v, v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
long v, v;
io.netty.resolver.dns.BiDnsQueryLifecycleObserverFactory v;
io.netty.channel.ChannelFactory v, v;
java.lang.String v;
io.netty.resolver.dns.DnsQueryContextManager v;
io.netty.util.concurrent.Promise v, v;
io.netty.channel.Channel v, v, v;
io.netty.bootstrap.Bootstrap v;
io.netty.resolver.ResolvedAddressTypes v, v, v, v;
java.lang.IllegalStateException v;
java.net.SocketAddress v;
io.netty.handler.codec.dns.DnsRecordType[] v, v, v, v;
int[] v;
boolean v, v, v, v, v, v, v, v, v;
io.netty.resolver.dns.DnsNameResolver$5 v;
io.netty.resolver.dns.DnsNameResolver$3 v;
io.netty.resolver.dns.DnsNameResolver$4 v;
io.netty.channel.EventLoop v, v, v;
io.netty.resolver.dns.DnsNameResolver$2 v;
java.lang.String[] v;
java.util.HashMap v;
io.netty.resolver.dns.DnsCache v;
io.netty.resolver.dns.UnixResolverOptions v, v, v;
io.netty.resolver.HostsFileEntriesResolver v;
io.netty.channel.FixedRecvByteBufAllocator v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.Boolean v;
io.netty.resolver.dns.NameServerComparator v;
io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler v;
java.lang.IllegalArgumentException v;
io.netty.channel.ChannelFuture v, v;
java.util.concurrent.TimeUnit v;
io.netty.channel.ChannelConfig v;
java.lang.Class v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.channel.EventLoop;
v := @parameter: io.netty.channel.ChannelFactory;
v := @parameter: io.netty.channel.ChannelFactory;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: io.netty.resolver.dns.DnsCnameCache;
v := @parameter: io.netty.resolver.dns.AuthoritativeDnsServerCache;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory;
v := @parameter: long;
v := @parameter: io.netty.resolver.ResolvedAddressTypes;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: io.netty.resolver.HostsFileEntriesResolver;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStreamProvider;
v := @parameter: java.lang.String[];
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: int;
specialinvoke v.<io.netty.resolver.InetNameResolver: void <init>(io.netty.util.concurrent.EventExecutor)>(v);
v = new io.netty.resolver.dns.DnsQueryContextManager;
specialinvoke v.<io.netty.resolver.dns.DnsQueryContextManager: void <init>()>();
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsQueryContextManager queryContextManager> = v;
v = new io.netty.resolver.dns.DnsNameResolver$2;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$2: void <init>(io.netty.resolver.dns.DnsNameResolver)>(v);
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.FastThreadLocal nameServerAddrStream> = v;
v = v cmp 0L;
if v <= 0 goto label;
v = v;
goto label;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.UnixResolverOptions DEFAULT_OPTIONS>;
v = virtualinvoke v.<io.netty.resolver.dns.UnixResolverOptions: int timeout()>();
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
label:
v.<io.netty.resolver.dns.DnsNameResolver: long queryTimeoutMillis> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes DEFAULT_RESOLVE_ADDRESS_TYPES>;
label:
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes> = v;
v.<io.netty.resolver.dns.DnsNameResolver: boolean recursionDesired> = v;
if v <= 0 goto label;
v = v;
goto label;
label:
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.UnixResolverOptions DEFAULT_OPTIONS>;
v = virtualinvoke v.<io.netty.resolver.dns.UnixResolverOptions: int attempts()>();
label:
v.<io.netty.resolver.dns.DnsNameResolver: int maxQueriesPerResolve> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositive(int,java.lang.String)>(v, "maxPayloadSize");
v.<io.netty.resolver.dns.DnsNameResolver: int maxPayloadSize> = v;
v.<io.netty.resolver.dns.DnsNameResolver: boolean optResourceEnabled> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "hostsFileEntriesResolver");
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "dnsServerAddressStreamProvider");
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "resolveCache");
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "cnameCache");
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCnameCache cnameCache> = v;
if v == 0 goto label;
v = v instanceof io.netty.resolver.dns.NoopDnsQueryLifecycleObserverFactory;
if v == 0 goto label;
v = new io.netty.resolver.dns.LoggingDnsQueryLifeCycleObserverFactory;
specialinvoke v.<io.netty.resolver.dns.LoggingDnsQueryLifeCycleObserverFactory: void <init>()>();
goto label;
label:
v = new io.netty.resolver.dns.BiDnsQueryLifecycleObserverFactory;
v = new io.netty.resolver.dns.LoggingDnsQueryLifeCycleObserverFactory;
specialinvoke v.<io.netty.resolver.dns.LoggingDnsQueryLifeCycleObserverFactory: void <init>()>();
specialinvoke v.<io.netty.resolver.dns.BiDnsQueryLifecycleObserverFactory: void <init>(io.netty.resolver.dns.DnsQueryLifecycleObserverFactory,io.netty.resolver.dns.DnsQueryLifecycleObserverFactory)>(v, v);
goto label;
label:
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "dnsQueryLifecycleObserverFactory");
label:
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory> = v;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
goto label;
label:
v = <io.netty.resolver.dns.DnsNameResolver: java.lang.String[] DEFAULT_SEARCH_DOMAINS>;
label:
v.<io.netty.resolver.dns.DnsNameResolver: java.lang.String[] searchDomains> = v;
if v < 0 goto label;
v = v;
goto label;
label:
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.UnixResolverOptions DEFAULT_OPTIONS>;
v = virtualinvoke v.<io.netty.resolver.dns.UnixResolverOptions: int ndots()>();
label:
v.<io.netty.resolver.dns.DnsNameResolver: int ndots> = v;
v.<io.netty.resolver.dns.DnsNameResolver: boolean decodeIdn> = v;
v.<io.netty.resolver.dns.DnsNameResolver: boolean completeOncePreferredResolved> = v;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.ChannelFactory socketChannelFactory> = v;
v = <io.netty.resolver.dns.DnsNameResolver$10: int[] $SwitchMap$io$netty$resolver$ResolvedAddressTypes>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes>;
v = virtualinvoke v.<io.netty.resolver.ResolvedAddressTypes: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsAAAARecords> = 0;
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsARecords> = 1;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV4_ONLY_RESOLVED_RECORD_TYPES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes> = v;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV4_ONLY_RESOLVED_PROTOCOL_FAMILIES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies> = v;
goto label;
label:
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsAAAARecords> = 1;
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsARecords> = 1;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV4_PREFERRED_RESOLVED_RECORD_TYPES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes> = v;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV4_PREFERRED_RESOLVED_PROTOCOL_FAMILIES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies> = v;
goto label;
label:
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsAAAARecords> = 1;
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsARecords> = 0;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV6_ONLY_RESOLVED_RECORD_TYPES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes> = v;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV6_ONLY_RESOLVED_PROTOCOL_FAMILIES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies> = v;
goto label;
label:
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsAAAARecords> = 1;
v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsARecords> = 1;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV6_PREFERRED_RESOLVED_RECORD_TYPES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes> = v;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV6_PREFERRED_RESOLVED_PROTOCOL_FAMILIES>;
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies> = v;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.resolver.ResolvedAddressTypes)>(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[])>("Unknown ResolvedAddressTypes \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes>;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily preferredAddressType(io.netty.resolver.ResolvedAddressTypes)>(v);
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily preferredAddressType> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "authoritativeDnsServerCache");
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache> = v;
v = new io.netty.resolver.dns.NameServerComparator;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily preferredAddressType>;
v = virtualinvoke v.<io.netty.channel.socket.InternetProtocolFamily: java.lang.Class addressType()>();
specialinvoke v.<io.netty.resolver.dns.NameServerComparator: void <init>(java.lang.Class)>(v);
v.<io.netty.resolver.dns.DnsNameResolver: java.util.Comparator nameServerComparator> = v;
v.<io.netty.resolver.dns.DnsNameResolver: int maxNumConsolidation> = v;
if v <= 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<io.netty.resolver.dns.DnsNameResolver: java.util.Map inflightLookups> = v;
goto label;
label:
v.<io.netty.resolver.dns.DnsNameResolver: java.util.Map inflightLookups> = null;
label:
v = new io.netty.bootstrap.Bootstrap;
specialinvoke v.<io.netty.bootstrap.Bootstrap: void <init>()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.AbstractBootstrap group(io.netty.channel.EventLoopGroup)>(v);
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.AbstractBootstrap channelFactory(io.netty.channel.ChannelFactory)>(v);
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Promise channelReadyPromise> = v;
v = new io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Promise channelReadyPromise>;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise)>(v, v);
v = new io.netty.resolver.dns.DnsNameResolver$3;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$3: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler)>(v, v);
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.AbstractBootstrap handler(io.netty.channel.ChannelHandler)>(v);
if v != null goto label;
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.AbstractBootstrap option(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
v = virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.channel.ChannelFuture register()>();
goto label;
label:
v = virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
label:
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v == null goto label;
v = v instanceof java.lang.RuntimeException;
if v == 0 goto label;
throw v;
label:
v = v instanceof java.lang.Error;
if v == 0 goto label;
throw v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to create / register Channel", v);
throw v;
label:
v = new io.netty.resolver.dns.DnsNameResolver$4;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$4: void <init>(io.netty.resolver.dns.DnsNameResolver)>(v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.Channel channel()>();
v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch> = v;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelConfig config()>();
v = new io.netty.channel.FixedRecvByteBufAllocator;
specialinvoke v.<io.netty.channel.FixedRecvByteBufAllocator: void <init>(int)>(v);
interfaceinvoke v.<io.netty.channel.ChannelConfig: io.netty.channel.ChannelConfig setRecvByteBufAllocator(io.netty.channel.RecvByteBufAllocator)>(v);
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture closeFuture()>();
v = new io.netty.resolver.dns.DnsNameResolver$5;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$5: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.DnsCnameCache,io.netty.resolver.dns.AuthoritativeDnsServerCache)>(v, v, v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
static io.netty.channel.socket.InternetProtocolFamily preferredAddressType(io.netty.resolver.ResolvedAddressTypes)
{
java.lang.IllegalArgumentException v;
int[] v;
int v, v;
io.netty.channel.socket.InternetProtocolFamily v, v;
io.netty.resolver.ResolvedAddressTypes v;
java.lang.String v;
v := @parameter: io.netty.resolver.ResolvedAddressTypes;
v = <io.netty.resolver.dns.DnsNameResolver$10: int[] $SwitchMap$io$netty$resolver$ResolvedAddressTypes>;
v = virtualinvoke v.<io.netty.resolver.ResolvedAddressTypes: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv4>;
return v;
label:
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv6>;
return v;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.resolver.ResolvedAddressTypes)>(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[])>("Unknown ResolvedAddressTypes \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
java.net.InetSocketAddress newRedirectServerAddress(java.net.InetAddress)
{
java.net.InetAddress v;
io.netty.resolver.dns.DnsNameResolver v;
java.net.InetSocketAddress v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.net.InetAddress;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.net.InetAddress,int)>(v, 53);
return v;
}
final io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory()
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsQueryLifecycleObserverFactory v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory>;
return v;
}
protected io.netty.resolver.dns.DnsServerAddressStream newRedirectDnsServerStream(java.lang.String, java.util.List)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
java.util.List v;
io.netty.resolver.dns.SequentialDnsServerAddressStream v;
int v;
java.lang.String v;
java.util.Comparator v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()>();
v = interfaceinvoke v.<io.netty.resolver.dns.AuthoritativeDnsServerCache: io.netty.resolver.dns.DnsServerAddressStream get(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: int size()>();
if v != 0 goto label;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: java.util.Comparator nameServerComparator>;
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
v = new io.netty.resolver.dns.SequentialDnsServerAddressStream;
specialinvoke v.<io.netty.resolver.dns.SequentialDnsServerAddressStream: void <init>(java.util.List,int)>(v, 0);
return v;
label:
return v;
}
public io.netty.resolver.dns.DnsCache resolveCache()
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsCache v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache>;
return v;
}
public io.netty.resolver.dns.DnsCnameCache cnameCache()
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCnameCache cnameCache>;
return v;
}
public io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()
{
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache>;
return v;
}
public long queryTimeoutMillis()
{
long v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: long queryTimeoutMillis>;
return v;
}
public io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes()
{
io.netty.resolver.ResolvedAddressTypes v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes>;
return v;
}
io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamiliesUnsafe()
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.channel.socket.InternetProtocolFamily[] v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies>;
return v;
}
final java.lang.String[] searchDomains()
{
java.lang.String[] v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: java.lang.String[] searchDomains>;
return v;
}
final int ndots()
{
int v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: int ndots>;
return v;
}
final boolean supportsAAAARecords()
{
io.netty.resolver.dns.DnsNameResolver v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsAAAARecords>;
return v;
}
final boolean supportsARecords()
{
io.netty.resolver.dns.DnsNameResolver v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsARecords>;
return v;
}
final io.netty.channel.socket.InternetProtocolFamily preferredAddressType()
{
io.netty.channel.socket.InternetProtocolFamily v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily preferredAddressType>;
return v;
}
final io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes()
{
io.netty.handler.codec.dns.DnsRecordType[] v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes>;
return v;
}
final boolean isDecodeIdn()
{
io.netty.resolver.dns.DnsNameResolver v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean decodeIdn>;
return v;
}
public boolean isRecursionDesired()
{
io.netty.resolver.dns.DnsNameResolver v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean recursionDesired>;
return v;
}
public int maxQueriesPerResolve()
{
int v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: int maxQueriesPerResolve>;
return v;
}
public int maxPayloadSize()
{
int v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: int maxPayloadSize>;
return v;
}
public boolean isOptResourceEnabled()
{
io.netty.resolver.dns.DnsNameResolver v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean optResourceEnabled>;
return v;
}
public io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver()
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.HostsFileEntriesResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
return v;
}
public void close()
{
io.netty.channel.Channel v, v;
io.netty.resolver.dns.DnsNameResolver v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isOpen()>();
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
label:
return;
}
protected io.netty.channel.EventLoop executor()
{
io.netty.util.concurrent.EventExecutor v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = specialinvoke v.<io.netty.resolver.InetNameResolver: io.netty.util.concurrent.EventExecutor executor()>();
return v;
}
private java.net.InetAddress resolveHostsFileEntry(java.lang.String)
{
io.netty.resolver.dns.DnsNameResolver v;
java.net.InetAddress v, v;
io.netty.resolver.HostsFileEntriesResolver v, v;
io.netty.resolver.ResolvedAddressTypes v;
java.lang.String v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
if v != null goto label;
return null;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes>;
v = interfaceinvoke v.<io.netty.resolver.HostsFileEntriesResolver: java.net.InetAddress address(java.lang.String,io.netty.resolver.ResolvedAddressTypes)>(v, v);
if v != null goto label;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean isLocalWindowsHost(java.lang.String)>(v);
if v == 0 goto label;
v = <io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress LOCALHOST_ADDRESS>;
goto label;
label:
v = v;
label:
return v;
}
private java.util.List resolveHostsFileEntries(java.lang.String)
{
io.netty.resolver.dns.DnsNameResolver v;
java.net.InetAddress v, v;
java.util.List v, v, v;
io.netty.resolver.HostsFileEntriesResolver v, v, v, v;
io.netty.resolver.ResolvedAddressTypes v, v;
java.lang.String v;
boolean v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
if v != null goto label;
return null;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
v = v instanceof io.netty.resolver.DefaultHostsFileEntriesResolver;
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes>;
v = virtualinvoke v.<io.netty.resolver.DefaultHostsFileEntriesResolver: java.util.List addresses(java.lang.String,io.netty.resolver.ResolvedAddressTypes)>(v, v);
goto label;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes>;
v = interfaceinvoke v.<io.netty.resolver.HostsFileEntriesResolver: java.net.InetAddress address(java.lang.String,io.netty.resolver.ResolvedAddressTypes)>(v, v);
if v == null goto label;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
goto label;
label:
v = null;
label:
v = v;
label:
if v != null goto label;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean isLocalWindowsHost(java.lang.String)>(v);
if v == 0 goto label;
v = <io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress LOCALHOST_ADDRESS>;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
goto label;
label:
v = v;
label:
return v;
}
private static boolean isLocalWindowsHost(java.lang.String)
{
java.lang.String v, v, v, v;
boolean v, v, v, v;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isWindows()>();
if v == 0 goto label;
v = "localhost";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = <io.netty.resolver.dns.DnsNameResolver: java.lang.String WINDOWS_HOST_NAME>;
if v == null goto label;
v = <io.netty.resolver.dns.DnsNameResolver: java.lang.String WINDOWS_HOST_NAME>;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public final io.netty.util.concurrent.Future resolve(java.lang.String, java.lang.Iterable)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
java.lang.String v;
io.netty.channel.EventLoop v;
io.netty.util.concurrent.Future v;
java.lang.Iterable v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Iterable;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future resolve(java.lang.String,java.lang.Iterable,io.netty.util.concurrent.Promise)>(v, v, v);
return v;
}
public final io.netty.util.concurrent.Future resolve(java.lang.String, java.lang.Iterable, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v, v;
io.netty.resolver.dns.DnsCache v;
java.lang.Exception v;
java.lang.Iterable v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.String v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Iterable;
v := @parameter: io.netty.util.concurrent.Promise;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "promise");
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable,boolean)>(v, 1);
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolve(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache)>(v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setFailure(java.lang.Throwable)>(v);
return v;
catch java.lang.Exception from label to label with label;
}
public final io.netty.util.concurrent.Future resolveAll(java.lang.String, java.lang.Iterable)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
java.lang.String v;
io.netty.channel.EventLoop v;
io.netty.util.concurrent.Future v;
java.lang.Iterable v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Iterable;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future resolveAll(java.lang.String,java.lang.Iterable,io.netty.util.concurrent.Promise)>(v, v, v);
return v;
}
public final io.netty.util.concurrent.Future resolveAll(java.lang.String, java.lang.Iterable, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v, v;
io.netty.resolver.dns.DnsCache v;
java.lang.Exception v;
java.lang.Iterable v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.String v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Iterable;
v := @parameter: io.netty.util.concurrent.Promise;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "promise");
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable,boolean)>(v, 1);
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolveAll(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache)>(v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setFailure(java.lang.Throwable)>(v);
return v;
catch java.lang.Exception from label to label with label;
}
protected void doResolve(java.lang.String, io.netty.util.concurrent.Promise) throws java.lang.Exception
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Promise v;
java.lang.String v;
io.netty.resolver.dns.DnsCache v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolve(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache)>(v, v, v, v);
return;
}
public final io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.channel.EventLoop v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise)>(v, v, v);
return v;
}
public final io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.channel.EventLoop v;
io.netty.util.concurrent.Future v;
java.lang.Iterable v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.lang.Iterable;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion,java.lang.Iterable,io.netty.util.concurrent.Promise)>(v, v, v);
return v;
}
public final io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.util.concurrent.Future v;
java.lang.Iterable v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.lang.Iterable;
v := @parameter: io.netty.util.concurrent.Promise;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable,boolean)>(v, 1);
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise)>(v, v, v);
return v;
}
private io.netty.util.concurrent.Future resolveAll(io.netty.handler.codec.dns.DnsQuestion, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise)
{
byte[] v, v;
io.netty.resolver.dns.DnsRecordResolveContext v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
java.util.ArrayList v;
io.netty.buffer.ByteBuf v;
int v;
java.lang.String v;
io.netty.handler.codec.dns.DefaultDnsRawRecord v;
boolean v, v, v, v;
io.netty.handler.codec.dns.DnsRecordType v, v, v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
java.util.Iterator v;
io.netty.handler.codec.dns.DnsQuestion v;
java.util.List v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.Object v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "question");
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "promise");
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: io.netty.handler.codec.dns.DnsRecordType type()>();
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: java.lang.String name()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
if v == v goto label;
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
if v != v goto label;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.util.List resolveHostsFileEntries(java.lang.String)>(v);
if v == null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = null;
v = v instanceof java.net.Inet4Address;
if v == 0 goto label;
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
if v != v goto label;
v = virtualinvoke v.<java.net.InetAddress: byte[] getAddress()>();
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(byte[])>(v);
goto label;
label:
v = v instanceof java.net.Inet6Address;
if v == 0 goto label;
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
if v != v goto label;
v = virtualinvoke v.<java.net.InetAddress: byte[] getAddress()>();
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(byte[])>(v);
label:
if v == null goto label;
v = new io.netty.handler.codec.dns.DefaultDnsRawRecord;
specialinvoke v.<io.netty.handler.codec.dns.DefaultDnsRawRecord: void <init>(java.lang.String,io.netty.handler.codec.dns.DnsRecordType,long,io.netty.buffer.ByteBuf)>(v, v, 86400L, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean trySuccess(io.netty.util.concurrent.Promise,java.lang.Object)>(v, v);
return v;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider>;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStreamProvider: io.netty.resolver.dns.DnsServerAddressStream nameServerAddressStream(java.lang.String)>(v);
v = new io.netty.resolver.dns.DnsRecordResolveContext;
v = v.<io.netty.resolver.dns.DnsNameResolver: int maxQueriesPerResolve>;
specialinvoke v.<io.netty.resolver.dns.DnsRecordResolveContext: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],io.netty.resolver.dns.DnsServerAddressStream,int)>(v, v, v, v, v, v);
virtualinvoke v.<io.netty.resolver.dns.DnsRecordResolveContext: void resolve(io.netty.util.concurrent.Promise)>(v);
return v;
}
private static io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable, boolean)
{
java.lang.Object[] v, v;
java.lang.Iterable v;
java.util.ArrayList v;
int v, v;
boolean v, v, v, v, v;
java.util.Iterator v, v;
io.netty.handler.codec.dns.DnsRecord[] v, v, v;
java.lang.Object v, v;
v := @parameter: java.lang.Iterable;
v := @parameter: boolean;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "additionals");
v = v instanceof java.util.Collection;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.Iterable: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <io.netty.resolver.dns.DnsNameResolver: void validateAdditional(io.netty.handler.codec.dns.DnsRecord,boolean)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Collection: int size()>();
v = newarray (io.netty.handler.codec.dns.DnsRecord)[v];
v = interfaceinvoke v.<java.util.Collection: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
label:
v = interfaceinvoke v.<java.lang.Iterable: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS>;
return v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
label:
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <io.netty.resolver.dns.DnsNameResolver: void validateAdditional(io.netty.handler.codec.dns.DnsRecord,boolean)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (io.netty.handler.codec.dns.DnsRecord)[v];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
private static void validateAdditional(io.netty.handler.codec.dns.DnsRecord, boolean)
{
io.netty.handler.codec.dns.DnsRecord v;
java.lang.String v;
java.lang.IllegalArgumentException v;
boolean v, v;
v := @parameter: io.netty.handler.codec.dns.DnsRecord;
v := @parameter: boolean;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "record");
if v == 0 goto label;
v = v instanceof io.netty.handler.codec.dns.DnsRawRecord;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.handler.codec.dns.DnsRecord)>(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[])>("DnsRawRecord implementations not allowed: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private java.net.InetAddress loopbackAddress()
{
java.net.InetAddress v;
io.netty.channel.socket.InternetProtocolFamily v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily preferredAddressType()>();
v = virtualinvoke v.<io.netty.channel.socket.InternetProtocolFamily: java.net.InetAddress localhost()>();
return v;
}
protected void doResolve(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache) throws java.lang.Exception
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.dns.DnsCache v;
java.net.InetAddress v, v, v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.String v, v;
boolean v, v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress loopbackAddress()>();
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
return;
label:
v = staticinvoke <io.netty.util.NetUtil: java.net.InetAddress createInetAddressFromIpAddressString(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
return;
label:
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: java.lang.String hostname(java.lang.String)>(v);
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress resolveHostsFileEntry(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
return;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: boolean doResolveCached(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache)>(v, v, v, v);
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean completeOncePreferredResolved>;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolveUncached(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v);
label:
return;
}
private boolean doResolveCached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache)
{
java.lang.Throwable v;
io.netty.resolver.dns.DnsCache v;
java.net.InetAddress v, v;
int v, v, v, v;
io.netty.channel.socket.InternetProtocolFamily v;
java.lang.String v;
boolean v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
java.util.List v;
io.netty.channel.socket.InternetProtocolFamily[] v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCache: java.util.List get(java.lang.String,io.netty.handler.codec.dns.DnsRecord[])>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
return 0;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCacheEntry: java.lang.Throwable cause()>();
if v != null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<io.netty.channel.socket.InternetProtocolFamily: java.lang.Class addressType()>();
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCacheEntry: java.net.InetAddress address()>();
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCacheEntry: java.net.InetAddress address()>();
staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean trySuccess(io.netty.util.concurrent.Promise,java.lang.Object)>(v, v);
return 1;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return 0;
label:
staticinvoke <io.netty.resolver.dns.DnsNameResolver: void tryFailure(io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v);
return 1;
}
static boolean trySuccess(io.netty.util.concurrent.Promise, java.lang.Object)
{
io.netty.util.concurrent.Promise v;
io.netty.util.internal.logging.InternalLogger v;
java.lang.Object v;
boolean v;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean trySuccess(java.lang.Object)>(v);
if v != 0 goto label;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to notify success ({}) to a promise: {}", v, v);
label:
return v;
}
private static void tryFailure(io.netty.util.concurrent.Promise, java.lang.Throwable)
{
java.lang.Throwable v;
io.netty.util.concurrent.Promise v;
io.netty.util.internal.logging.InternalLogger v;
boolean v;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.Throwable;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean tryFailure(java.lang.Throwable)>(v);
if v != 0 goto label;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to notify failure to a promise: {}", v, v);
label:
return;
}
private void doResolveUncached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache, boolean)
{
io.netty.resolver.dns.DnsNameResolver$6 v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v, v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsCache v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.String v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: boolean;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolveAllUncached(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v, v);
v = new io.netty.resolver.dns.DnsNameResolver$6;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$6: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
protected void doResolveAll(java.lang.String, io.netty.util.concurrent.Promise) throws java.lang.Exception
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Promise v;
java.lang.String v;
io.netty.resolver.dns.DnsCache v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolveAll(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache)>(v, v, v, v);
return;
}
protected void doResolveAll(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache) throws java.lang.Exception
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.dns.DnsCache v;
java.net.InetAddress v, v;
java.util.List v, v, v;
io.netty.channel.socket.InternetProtocolFamily[] v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.String v, v;
boolean v, v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress loopbackAddress()>();
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
return;
label:
v = staticinvoke <io.netty.util.NetUtil: java.net.InetAddress createInetAddressFromIpAddressString(java.lang.String)>(v);
if v == null goto label;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
return;
label:
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: java.lang.String hostname(java.lang.String)>(v);
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.util.List resolveHostsFileEntries(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
return;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies>;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean doResolveAllCached(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,io.netty.channel.socket.InternetProtocolFamily[])>(v, v, v, v, v);
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsNameResolver: boolean completeOncePreferredResolved>;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolveAllUncached(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v, v);
label:
return;
}
static boolean doResolveAllCached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache, io.netty.channel.socket.InternetProtocolFamily[])
{
java.lang.Throwable v;
io.netty.resolver.dns.DnsCache v;
java.util.ArrayList v, v;
java.net.InetAddress v, v;
int v, v, v, v;
io.netty.channel.socket.InternetProtocolFamily v;
java.lang.String v;
boolean v, v;
io.netty.util.concurrent.Promise v;
java.util.List v;
io.netty.channel.socket.InternetProtocolFamily[] v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.Class v;
java.lang.Object v, v;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: io.netty.channel.socket.InternetProtocolFamily[];
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCache: java.util.List get(java.lang.String,io.netty.handler.codec.dns.DnsRecord[])>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
return 0;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCacheEntry: java.lang.Throwable cause()>();
if v != null goto label;
v = null;
v = interfaceinvoke v.<java.util.List: int size()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<io.netty.channel.socket.InternetProtocolFamily: java.lang.Class addressType()>();
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCacheEntry: java.net.InetAddress address()>();
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v == 0 goto label;
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = v;
label:
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCacheEntry: java.net.InetAddress address()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
if v == null goto label;
staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean trySuccess(io.netty.util.concurrent.Promise,java.lang.Object)>(v, v);
return 1;
label:
return 0;
label:
staticinvoke <io.netty.resolver.dns.DnsNameResolver: void tryFailure(io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v);
return 1;
}
private void doResolveAllUncached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache, boolean)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v, v;
io.netty.resolver.dns.DnsNameResolver$7 v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsCache v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.String v;
boolean v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: boolean;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void doResolveAllUncached0(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v, v);
goto label;
label:
v = new io.netty.resolver.dns.DnsNameResolver$7;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$7: void <init>(io.netty.resolver.dns.DnsNameResolver,java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void doResolveAllUncached0(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache, boolean)
{
java.lang.AssertionError v;
io.netty.resolver.dns.DnsCache v;
java.util.Map v, v, v, v;
int v, v, v;
java.lang.String v;
boolean v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsNameResolver$9 v;
io.netty.util.concurrent.Promise v, v;
io.netty.resolver.dns.DnsNameResolver$8 v;
io.netty.channel.EventLoop v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.Object v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: boolean;
v = <io.netty.resolver.dns.DnsNameResolver: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: boolean inEventLoop()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: java.util.Map inflightLookups>;
if v == null goto label;
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: java.util.Map inflightLookups>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = new io.netty.resolver.dns.DnsNameResolver$8;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$8: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise,java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Future: io.netty.util.concurrent.Future addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
label:
v = v.<io.netty.resolver.dns.DnsNameResolver: java.util.Map inflightLookups>;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = v.<io.netty.resolver.dns.DnsNameResolver: int maxNumConsolidation>;
if v >= v goto label;
v = v.<io.netty.resolver.dns.DnsNameResolver: java.util.Map inflightLookups>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new io.netty.resolver.dns.DnsNameResolver$9;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$9: void <init>(io.netty.resolver.dns.DnsNameResolver,java.lang.String)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: void resolveNow(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,boolean)>(v, v, v, v, v, v);
return;
}
private void resolveNow(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise, io.netty.util.concurrent.Promise, io.netty.resolver.dns.DnsCache, boolean)
{
io.netty.resolver.dns.DnsAddressResolveContext v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v, v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
io.netty.resolver.dns.DnsCache v;
io.netty.handler.codec.dns.DnsRecord[] v;
int v;
java.lang.String v;
boolean v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: io.netty.resolver.dns.DnsCache;
v := @parameter: boolean;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider>;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStreamProvider: io.netty.resolver.dns.DnsServerAddressStream nameServerAddressStream(java.lang.String)>(v);
v = new io.netty.resolver.dns.DnsAddressResolveContext;
v = v.<io.netty.resolver.dns.DnsNameResolver: int maxQueriesPerResolve>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache>;
specialinvoke v.<io.netty.resolver.dns.DnsAddressResolveContext: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise,java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.AuthoritativeDnsServerCache,boolean)>(v, v, v, v, v, v, v, v, v);
virtualinvoke v.<io.netty.resolver.dns.DnsAddressResolveContext: void resolve(io.netty.util.concurrent.Promise)>(v);
return;
}
private static java.lang.String hostname(java.lang.String)
{
java.lang.String v, v;
boolean v, v;
v := @parameter: java.lang.String;
v = staticinvoke <java.net.IDN: java.lang.String toASCII(java.lang.String)>(v);
v = staticinvoke <io.netty.util.internal.StringUtil: boolean endsWith(java.lang.CharSequence,char)>(v, 46);
if v == 0 goto label;
v = staticinvoke <io.netty.util.internal.StringUtil: boolean endsWith(java.lang.CharSequence,char)>(v, 46);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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.");
label:
return v;
}
public io.netty.util.concurrent.Future query(io.netty.handler.codec.dns.DnsQuestion)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.util.concurrent.Future v;
java.net.InetSocketAddress v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.net.InetSocketAddress nextNameServerAddress()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion)>(v, v);
return v;
}
public io.netty.util.concurrent.Future query(io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.util.concurrent.Future v;
java.net.InetSocketAddress v;
java.lang.Iterable v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.lang.Iterable;
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.net.InetSocketAddress nextNameServerAddress()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,java.lang.Iterable)>(v, v, v);
return v;
}
public io.netty.util.concurrent.Future query(io.netty.handler.codec.dns.DnsQuestion, io.netty.util.concurrent.Promise)
{
java.util.List v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.util.concurrent.Future v;
java.net.InetSocketAddress v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.util.concurrent.Promise;
v = specialinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.net.InetSocketAddress nextNameServerAddress()>();
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,java.lang.Iterable,io.netty.util.concurrent.Promise)>(v, v, v, v);
return v;
}
private java.net.InetSocketAddress nextNameServerAddress()
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.FastThreadLocal v;
java.lang.Object v;
java.net.InetSocketAddress v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.FastThreadLocal nameServerAddrStream>;
v = virtualinvoke v.<io.netty.util.concurrent.FastThreadLocal: java.lang.Object get()>();
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: java.net.InetSocketAddress next()>();
return v;
}
public io.netty.util.concurrent.Future query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.channel.EventLoop v;
java.net.InetSocketAddress v;
io.netty.channel.Channel v, v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise newPromise()>();
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query0(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],boolean,io.netty.channel.ChannelPromise,io.netty.util.concurrent.Promise)>(v, v, v, 1, v, v);
return v;
}
public io.netty.util.concurrent.Future query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.channel.EventLoop v;
java.net.InetSocketAddress v;
java.lang.Iterable v;
io.netty.channel.Channel v, v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.lang.Iterable;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable,boolean)>(v, 0);
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise newPromise()>();
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query0(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],boolean,io.netty.channel.ChannelPromise,io.netty.util.concurrent.Promise)>(v, v, v, 1, v, v);
return v;
}
public io.netty.util.concurrent.Future query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
java.net.InetSocketAddress v;
io.netty.channel.Channel v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.util.concurrent.Promise;
v = <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query0(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],boolean,io.netty.channel.ChannelPromise,io.netty.util.concurrent.Promise)>(v, v, v, 1, v, v);
return v;
}
public io.netty.util.concurrent.Future query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
java.net.InetSocketAddress v;
java.lang.Iterable v;
io.netty.channel.Channel v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.lang.Iterable;
v := @parameter: io.netty.util.concurrent.Promise;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable,boolean)>(v, 0);
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query0(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],boolean,io.netty.channel.ChannelPromise,io.netty.util.concurrent.Promise)>(v, v, v, 1, v, v);
return v;
}
public static boolean isTransportOrTimeoutError(java.lang.Throwable)
{
java.lang.Throwable v, v;
boolean v, v;
v := @parameter: java.lang.Throwable;
if v == null goto label;
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
v = v instanceof io.netty.resolver.dns.DnsNameResolverException;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isTimeoutError(java.lang.Throwable)
{
java.lang.Throwable v, v;
boolean v, v;
v := @parameter: java.lang.Throwable;
if v == null goto label;
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
v = v instanceof io.netty.resolver.dns.DnsNameResolverTimeoutException;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
final void flushQueries()
{
io.netty.channel.Channel v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel flush()>();
return;
}
final io.netty.util.concurrent.Future query0(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, io.netty.handler.codec.dns.DnsRecord[], boolean, io.netty.channel.ChannelPromise, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DatagramDnsQueryContext v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v, v, v;
io.netty.handler.codec.dns.DnsQuestion v;
java.lang.AssertionError v;
java.net.InetSocketAddress v;
java.lang.Exception v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.Object v;
boolean v, v, v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelPromise;
v := @parameter: io.netty.util.concurrent.Promise;
v = <io.netty.resolver.dns.DnsNameResolver: boolean $assertionsDisabled>;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isVoid()>();
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "promise");
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Promise cast(io.netty.util.concurrent.Promise)>(v);
label:
v = new io.netty.resolver.dns.DatagramDnsQueryContext;
specialinvoke v.<io.netty.resolver.dns.DatagramDnsQueryContext: void <init>(io.netty.resolver.dns.DnsNameResolver,java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise)>(v, v, v, v, v);
virtualinvoke v.<io.netty.resolver.dns.DatagramDnsQueryContext: void query(boolean,io.netty.channel.ChannelPromise)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setFailure(java.lang.Throwable)>(v);
return v;
catch java.lang.Exception from label to label with label;
}
private static io.netty.util.concurrent.Promise cast(io.netty.util.concurrent.Promise)
{
io.netty.util.concurrent.Promise v;
v := @parameter: io.netty.util.concurrent.Promise;
return v;
}
final io.netty.resolver.dns.DnsServerAddressStream newNameServerAddressStream(java.lang.String)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.resolver.dns.DnsServerAddressStreamProvider v;
java.lang.String v;
v := @this: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: java.lang.String;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider>;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStreamProvider: io.netty.resolver.dns.DnsServerAddressStream nameServerAddressStream(java.lang.String)>(v);
return v;
}
static void <clinit>()
{
io.netty.handler.codec.dns.DnsRecordType[] v, v, v, v;
java.net.InetAddress v;
io.netty.channel.socket.InternetProtocolFamily v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
java.lang.Exception v, v, v;
java.util.List v;
io.netty.channel.socket.InternetProtocolFamily[] v, v, v, v;
io.netty.util.internal.logging.InternalLogger v;
io.netty.resolver.dns.DnsNameResolver$1 v;
io.netty.handler.codec.dns.DatagramDnsQueryEncoder v;
java.lang.Object[] v;
java.lang.String[] v;
io.netty.resolver.dns.UnixResolverOptions v;
java.lang.String v, v;
io.netty.handler.codec.dns.DnsRecordType v, v, v, v, v, v;
io.netty.handler.codec.dns.TcpDnsQueryEncoder v;
java.net.Inet4Address v, v;
io.netty.resolver.dns.UnixResolverOptions$Builder v;
java.net.Inet6Address v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.resolver.ResolvedAddressTypes v, v, v;
java.lang.Class v;
v = class "Lio/netty/resolver/dns/DnsNameResolver;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.resolver.dns.DnsNameResolver: boolean $assertionsDisabled> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/resolver/dns/DnsNameResolver;");
<io.netty.resolver.dns.DnsNameResolver: io.netty.util.internal.logging.InternalLogger logger> = v;
v = newarray (io.netty.handler.codec.dns.DnsRecord)[0];
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS> = v;
v = newarray (io.netty.handler.codec.dns.DnsRecordType)[1];
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
v[0] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV4_ONLY_RESOLVED_RECORD_TYPES> = v;
v = newarray (io.netty.channel.socket.InternetProtocolFamily)[1];
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv4>;
v[0] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV4_ONLY_RESOLVED_PROTOCOL_FAMILIES> = v;
v = newarray (io.netty.handler.codec.dns.DnsRecordType)[2];
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
v[0] = v;
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
v[1] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV4_PREFERRED_RESOLVED_RECORD_TYPES> = v;
v = newarray (io.netty.channel.socket.InternetProtocolFamily)[2];
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv4>;
v[0] = v;
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv6>;
v[1] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV4_PREFERRED_RESOLVED_PROTOCOL_FAMILIES> = v;
v = newarray (io.netty.handler.codec.dns.DnsRecordType)[1];
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
v[0] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV6_ONLY_RESOLVED_RECORD_TYPES> = v;
v = newarray (io.netty.channel.socket.InternetProtocolFamily)[1];
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv6>;
v[0] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV6_ONLY_RESOLVED_PROTOCOL_FAMILIES> = v;
v = newarray (io.netty.handler.codec.dns.DnsRecordType)[2];
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
v[0] = v;
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
v[1] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DnsRecordType[] IPV6_PREFERRED_RESOLVED_RECORD_TYPES> = v;
v = newarray (io.netty.channel.socket.InternetProtocolFamily)[2];
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv6>;
v[0] = v;
v = <io.netty.channel.socket.InternetProtocolFamily: io.netty.channel.socket.InternetProtocolFamily IPv4>;
v[1] = v;
<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] IPV6_PREFERRED_RESOLVED_PROTOCOL_FAMILIES> = v;
v = staticinvoke <io.netty.util.NetUtil: boolean isIpV4StackPreferred()>();
if v != 0 goto label;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean anyInterfaceSupportsIpV6()>();
if v != 0 goto label;
label:
v = <io.netty.resolver.ResolvedAddressTypes: io.netty.resolver.ResolvedAddressTypes IPV4_ONLY>;
<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes DEFAULT_RESOLVE_ADDRESS_TYPES> = v;
v = <io.netty.util.NetUtil: java.net.Inet4Address LOCALHOST4>;
<io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress LOCALHOST_ADDRESS> = v;
goto label;
label:
v = staticinvoke <io.netty.util.NetUtil: boolean isIpV6AddressesPreferred()>();
if v == 0 goto label;
v = <io.netty.resolver.ResolvedAddressTypes: io.netty.resolver.ResolvedAddressTypes IPV6_PREFERRED>;
<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes DEFAULT_RESOLVE_ADDRESS_TYPES> = v;
v = <io.netty.util.NetUtil: java.net.Inet6Address LOCALHOST6>;
<io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress LOCALHOST_ADDRESS> = v;
goto label;
label:
v = <io.netty.resolver.ResolvedAddressTypes: io.netty.resolver.ResolvedAddressTypes IPV4_PREFERRED>;
<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.ResolvedAddressTypes DEFAULT_RESOLVE_ADDRESS_TYPES> = v;
v = <io.netty.util.NetUtil: java.net.Inet4Address LOCALHOST4>;
<io.netty.resolver.dns.DnsNameResolver: java.net.InetAddress LOCALHOST_ADDRESS> = v;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isWindows()>();
if v == 0 goto label;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getLocalHost()>();
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostName()>();
goto label;
label:
v = null;
label:
v = v;
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
<io.netty.resolver.dns.DnsNameResolver: java.lang.String WINDOWS_HOST_NAME> = v;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isWindows()>();
if v == 0 goto label;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: java.util.List getSearchDomainsHack()>();
goto label;
label:
v = staticinvoke <io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider: java.util.List parseEtcResolverSearchDomains()>();
label:
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = <io.netty.util.internal.EmptyArrays: java.lang.String[] EMPTY_STRINGS>;
label:
<io.netty.resolver.dns.DnsNameResolver: java.lang.String[] DEFAULT_SEARCH_DOMAINS> = v;
label:
v = staticinvoke <io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider: io.netty.resolver.dns.UnixResolverOptions parseEtcResolverOptions()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <io.netty.resolver.dns.UnixResolverOptions: io.netty.resolver.dns.UnixResolverOptions$Builder newBuilder()>();
v = virtualinvoke v.<io.netty.resolver.dns.UnixResolverOptions$Builder: io.netty.resolver.dns.UnixResolverOptions build()>();
label:
<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.UnixResolverOptions DEFAULT_OPTIONS> = v;
v = new io.netty.resolver.dns.DnsNameResolver$1;
specialinvoke v.<io.netty.resolver.dns.DnsNameResolver$1: void <init>()>();
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DatagramDnsResponseDecoder DATAGRAM_DECODER> = v;
v = new io.netty.handler.codec.dns.DatagramDnsQueryEncoder;
specialinvoke v.<io.netty.handler.codec.dns.DatagramDnsQueryEncoder: void <init>()>();
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.DatagramDnsQueryEncoder DATAGRAM_ENCODER> = v;
v = new io.netty.handler.codec.dns.TcpDnsQueryEncoder;
specialinvoke v.<io.netty.handler.codec.dns.TcpDnsQueryEncoder: void <init>()>();
<io.netty.resolver.dns.DnsNameResolver: io.netty.handler.codec.dns.TcpDnsQueryEncoder TCP_ENCODER> = v;
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
}