public class net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher extends java.lang.Object implements net.bytebuddy.matcher.LatentMatcher
{
private final net.bytebuddy.matcher.LatentMatcher ignoredMethods;
private final net.bytebuddy.matcher.ElementMatcher predefinedMethodSignatures;
protected void <init>(net.bytebuddy.matcher.LatentMatcher, net.bytebuddy.matcher.ElementMatcher)
{
net.bytebuddy.matcher.ElementMatcher v;
net.bytebuddy.matcher.LatentMatcher v;
net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher v;
v := @this: net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher;
v := @parameter: net.bytebuddy.matcher.LatentMatcher;
v := @parameter: net.bytebuddy.matcher.ElementMatcher;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.LatentMatcher ignoredMethods> = v;
v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.ElementMatcher predefinedMethodSignatures> = v;
return;
}
protected static net.bytebuddy.matcher.LatentMatcher of(net.bytebuddy.matcher.LatentMatcher, net.bytebuddy.description.type.TypeDescription)
{
net.bytebuddy.description.type.TypeList$Generic v;
net.bytebuddy.description.method.ParameterList v;
net.bytebuddy.description.type.TypeList v;
java.lang.String v;
net.bytebuddy.matcher.LatentMatcher v;
net.bytebuddy.description.method.MethodList v;
boolean v, v;
java.util.Iterator v;
net.bytebuddy.description.type.TypeDescription$Generic v;
net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher v;
net.bytebuddy.matcher.ElementMatcher$Junction v, v, v, v, v, v;
java.lang.Object v;
net.bytebuddy.description.type.TypeDescription v, v;
v := @parameter: net.bytebuddy.matcher.LatentMatcher;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction none()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.method.MethodList getDeclaredMethods()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: 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 = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: boolean isConstructor()>();
if v == 0 goto label;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isConstructor()>();
goto label;
label:
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: java.lang.String getName()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>(v);
label:
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: net.bytebuddy.description.type.TypeDescription$Generic getReturnType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription$Generic: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction returns(net.bytebuddy.description.type.TypeDescription)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction and(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: net.bytebuddy.description.method.ParameterList getParameters()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.ParameterList: net.bytebuddy.description.type.TypeList$Generic asTypeList()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeList$Generic: net.bytebuddy.description.type.TypeList asErasures()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction takesArguments(java.lang.Iterable)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction and(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction or(net.bytebuddy.matcher.ElementMatcher)>(v);
goto label;
label:
v = new net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher;
specialinvoke v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: void <init>(net.bytebuddy.matcher.LatentMatcher,net.bytebuddy.matcher.ElementMatcher)>(v, v);
return v;
}
public net.bytebuddy.matcher.ElementMatcher resolve(net.bytebuddy.description.type.TypeDescription)
{
net.bytebuddy.matcher.LatentMatcher v;
net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher v;
net.bytebuddy.matcher.ElementMatcher v, v;
net.bytebuddy.matcher.ElementMatcher$Junction v, v, v, v, v, v, v, v, v, v, v, v;
net.bytebuddy.description.type.TypeDescription v;
v := @this: net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.LatentMatcher ignoredMethods>;
v = interfaceinvoke v.<net.bytebuddy.matcher.LatentMatcher: net.bytebuddy.matcher.ElementMatcher resolve(net.bytebuddy.description.type.TypeDescription)>(v);
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction not(net.bytebuddy.matcher.ElementMatcher)>(v);
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isVirtual()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isFinal()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction not(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction and(net.bytebuddy.matcher.ElementMatcher)>(v);
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isDeclaredBy(net.bytebuddy.description.type.TypeDescription)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction or(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction and(net.bytebuddy.matcher.ElementMatcher)>(v);
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isDeclaredBy(net.bytebuddy.description.type.TypeDescription)>(v);
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.ElementMatcher predefinedMethodSignatures>;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction not(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction and(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.matcher.ElementMatcher$Junction: net.bytebuddy.matcher.ElementMatcher$Junction or(net.bytebuddy.matcher.ElementMatcher)>(v);
return v;
}
public boolean equals(java.lang.Object)
{
net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher v;
net.bytebuddy.matcher.ElementMatcher v, v;
java.lang.Class v, v;
java.lang.Object v;
net.bytebuddy.matcher.LatentMatcher v, v;
boolean v, v;
v := @this: net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == v goto label;
return 0;
label:
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.LatentMatcher ignoredMethods>;
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.LatentMatcher ignoredMethods>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.ElementMatcher predefinedMethodSignatures>;
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.ElementMatcher predefinedMethodSignatures>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
return 1;
}
public int hashCode()
{
net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher v;
net.bytebuddy.matcher.ElementMatcher v;
int v, v, v, v, v, v, v;
java.lang.Class v;
net.bytebuddy.matcher.LatentMatcher v;
v := @this: net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher;
v = virtualinvoke v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: int hashCode()>();
v = v * 31;
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.LatentMatcher ignoredMethods>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
v = v * 31;
v = v.<net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher: net.bytebuddy.matcher.ElementMatcher predefinedMethodSignatures>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
return v;
}
}