public class net.bytebuddy.build.HashCodeAndEqualsPlugin extends java.lang.Object implements net.bytebuddy.build.Plugin, net.bytebuddy.build.Plugin$Factory, net.bytebuddy.implementation.attribute.MethodAttributeAppender$Factory, net.bytebuddy.implementation.attribute.MethodAttributeAppender
{
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INVOKE_SUPER;
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_SIMPLE_COMPARISON_FIRST;
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INCLUDE_SYNTHETIC_FIELDS;
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_PERMIT_SUBCLASS_EQUALITY;
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_USE_TYPE_HASH_CONSTANT;
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape VALUE_HANDLING_VALUE;
private static final net.bytebuddy.description.method.MethodDescription$InDefinedShape SORTED_VALUE;
private final java.lang.String annotationType;
public void <init>()
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
specialinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: void <init>(java.lang.String)>(null);
return;
}
public void <init>(java.lang.String)
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
java.lang.String v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: java.lang.String annotationType> = v;
return;
}
public net.bytebuddy.build.Plugin make()
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
return v;
}
public boolean matches(net.bytebuddy.description.type.TypeDescription)
{
net.bytebuddy.description.'annotation'.AnnotationList v;
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
net.bytebuddy.description.type.TypeDescription v;
boolean v, v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
if v == null goto label;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.'annotation'.AnnotationList getDeclaredAnnotations()>();
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationList: boolean isAnnotationPresent(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public net.bytebuddy.dynamic.DynamicType$Builder apply(net.bytebuddy.dynamic.DynamicType$Builder, net.bytebuddy.description.type.TypeDescription, net.bytebuddy.dynamic.ClassFileLocator)
{
net.bytebuddy.build.HashCodeAndEqualsPlugin$AnnotationOrderComparator v;
net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort v, v, v, v;
net.bytebuddy.description.'annotation'.AnnotationList v;
net.bytebuddy.description.method.MethodList v, v;
net.bytebuddy.description.'annotation'.AnnotationValue v, v, v, v, v, v, v, v;
net.bytebuddy.dynamic.DynamicType$Builder v;
net.bytebuddy.dynamic.ClassFileLocator v;
net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition v, v;
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
java.lang.ClassLoader v, v;
net.bytebuddy.description.method.MethodDescription$InDefinedShape v, v, v, v, v, v, v, v;
net.bytebuddy.matcher.FilterableList v, v;
boolean v, v, v, v, v, v, v, v;
net.bytebuddy.description.'annotation'.AnnotationValue$Loaded v, v;
net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable v;
net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher v, v, v, v;
net.bytebuddy.matcher.ElementMatcher$Junction v, v, v, v, v, v;
net.bytebuddy.description.type.TypeDescription v;
net.bytebuddy.implementation.Implementation v;
net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition v;
net.bytebuddy.implementation.EqualsMethod v, v, v, v, v, v, v, v;
net.bytebuddy.matcher.ElementMatcher v, v;
net.bytebuddy.implementation.HashCodeMethod v, v, v, v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v := @parameter: net.bytebuddy.dynamic.DynamicType$Builder;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
v := @parameter: net.bytebuddy.dynamic.ClassFileLocator;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.'annotation'.AnnotationList getDeclaredAnnotations()>();
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationList: net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable ofType(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;");
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.method.MethodList getDeclaredMethods()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isHashCode()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isHashCode()>();
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition method(net.bytebuddy.matcher.ElementMatcher)>(v);
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INVOKE_SUPER>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: net.bytebuddy.description.'annotation'.AnnotationValue$Loaded load(java.lang.ClassLoader)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue$Loaded: java.lang.Object resolve(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance$InvokeSuper;");
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_USE_TYPE_HASH_CONSTANT>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: java.lang.Object resolve(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_PERMIT_SUBCLASS_EQUALITY>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: java.lang.Object resolve(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = virtualinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper: net.bytebuddy.implementation.HashCodeMethod hashCodeMethod(net.bytebuddy.description.type.TypeDescription,boolean,boolean)>(v, v, v);
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INCLUDE_SYNTHETIC_FIELDS>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: java.lang.Object resolve(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction none()>();
goto label;
label:
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isSynthetic()>();
label:
v = virtualinvoke v.<net.bytebuddy.implementation.HashCodeMethod: net.bytebuddy.implementation.HashCodeMethod withIgnoredFields(net.bytebuddy.matcher.ElementMatcher)>(v);
v = new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher;
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort: net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort IGNORE>;
specialinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher: void <init>(net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort)>(v);
v = virtualinvoke v.<net.bytebuddy.implementation.HashCodeMethod: net.bytebuddy.implementation.HashCodeMethod withIgnoredFields(net.bytebuddy.matcher.ElementMatcher)>(v);
v = new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher;
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort: net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort REVERSE_NULLABILITY>;
specialinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher: void <init>(net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort)>(v);
v = virtualinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.matcher.ElementMatcher nonNullable(net.bytebuddy.matcher.ElementMatcher)>(v);
v = virtualinvoke v.<net.bytebuddy.implementation.HashCodeMethod: net.bytebuddy.implementation.HashCodeMethod withNonNullableFields(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition intercept(net.bytebuddy.implementation.Implementation)>(v);
label:
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.method.MethodList getDeclaredMethods()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isEquals()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: boolean isEmpty()>();
if v == 0 goto label;
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INVOKE_SUPER>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: net.bytebuddy.description.'annotation'.AnnotationValue$Loaded load(java.lang.ClassLoader)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue$Loaded: java.lang.Object resolve(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance$InvokeSuper;");
v = virtualinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper: net.bytebuddy.implementation.EqualsMethod equalsMethod(net.bytebuddy.description.type.TypeDescription)>(v);
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INCLUDE_SYNTHETIC_FIELDS>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: java.lang.Object resolve(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction none()>();
goto label;
label:
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isSynthetic()>();
label:
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withIgnoredFields(net.bytebuddy.matcher.ElementMatcher)>(v);
v = new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher;
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort: net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort IGNORE>;
specialinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher: void <init>(net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort)>(v);
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withIgnoredFields(net.bytebuddy.matcher.ElementMatcher)>(v);
v = new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher;
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort: net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort REVERSE_NULLABILITY>;
specialinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher: void <init>(net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort)>(v);
v = virtualinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.matcher.ElementMatcher nonNullable(net.bytebuddy.matcher.ElementMatcher)>(v);
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withNonNullableFields(net.bytebuddy.matcher.ElementMatcher)>(v);
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin$AnnotationOrderComparator: net.bytebuddy.build.HashCodeAndEqualsPlugin$AnnotationOrderComparator INSTANCE>;
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withFieldOrder(java.util.Comparator)>(v);
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_SIMPLE_COMPARISON_FIRST>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: java.lang.Object resolve(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withPrimitiveTypedFieldsFirst()>();
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withEnumerationTypedFieldsFirst()>();
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withPrimitiveWrapperTypedFieldsFirst()>();
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.EqualsMethod withStringTypedFieldsFirst()>();
label:
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction isEquals()>();
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition method(net.bytebuddy.matcher.ElementMatcher)>(v);
v = <net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_PERMIT_SUBCLASS_EQUALITY>;
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationDescription$Loadable: net.bytebuddy.description.'annotation'.AnnotationValue getValue(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.'annotation'.AnnotationValue: java.lang.Object resolve(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = virtualinvoke v.<net.bytebuddy.implementation.EqualsMethod: net.bytebuddy.implementation.Implementation withSubclassEquality()>();
goto label;
label:
v = v;
label:
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition intercept(net.bytebuddy.implementation.Implementation)>(v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition attribute(net.bytebuddy.implementation.attribute.MethodAttributeAppender$Factory)>(v);
label:
return v;
}
protected net.bytebuddy.matcher.ElementMatcher nonNullable(net.bytebuddy.matcher.ElementMatcher)
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
net.bytebuddy.matcher.ElementMatcher v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v := @parameter: net.bytebuddy.matcher.ElementMatcher;
return v;
}
public void close()
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
return;
}
public net.bytebuddy.implementation.attribute.MethodAttributeAppender make(net.bytebuddy.description.type.TypeDescription)
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
net.bytebuddy.description.type.TypeDescription v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
return v;
}
public void apply(net.bytebuddy.jar.asm.MethodVisitor, net.bytebuddy.description.method.MethodDescription, net.bytebuddy.implementation.attribute.AnnotationValueFilter)
{
net.bytebuddy.jar.asm.AnnotationVisitor v;
net.bytebuddy.description.method.MethodDescription v;
net.bytebuddy.jar.asm.MethodVisitor v;
net.bytebuddy.implementation.attribute.AnnotationValueFilter v;
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
java.lang.String v, v, v, v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v := @parameter: net.bytebuddy.jar.asm.MethodVisitor;
v := @parameter: net.bytebuddy.description.method.MethodDescription;
v := @parameter: net.bytebuddy.implementation.attribute.AnnotationValueFilter;
v = v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: java.lang.String annotationType>;
if v == null goto label;
v = v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: java.lang.String annotationType>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
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[])>("L\u;");
v = virtualinvoke v.<net.bytebuddy.jar.asm.MethodVisitor: net.bytebuddy.jar.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean)>(0, v, 1);
if v == null goto label;
virtualinvoke v.<net.bytebuddy.jar.asm.AnnotationVisitor: void visitEnd()>();
label:
return;
}
static void <clinit>()
{
net.bytebuddy.description.method.MethodList v, v, v;
net.bytebuddy.matcher.ElementMatcher$Junction v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v;
net.bytebuddy.matcher.FilterableList v, v, v, v, v, v, v;
net.bytebuddy.description.type.TypeDescription v, v, v;
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;");
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.method.MethodList getDeclaredMethods()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("invokeSuper");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INVOKE_SUPER> = v;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("simpleComparisonsFirst");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_SIMPLE_COMPARISON_FIRST> = v;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("includeSyntheticFields");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_INCLUDE_SYNTHETIC_FIELDS> = v;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("permitSubclassEquality");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_PERMIT_SUBCLASS_EQUALITY> = v;
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("useTypeHashConstant");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape ENHANCE_USE_TYPE_HASH_CONSTANT> = v;
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling;");
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.method.MethodList getDeclaredMethods()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("value");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape VALUE_HANDLING_VALUE> = v;
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(class "Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Sorted;");
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.method.MethodList getDeclaredMethods()>();
v = staticinvoke <net.bytebuddy.matcher.ElementMatchers: net.bytebuddy.matcher.ElementMatcher$Junction named(java.lang.String)>("value");
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: net.bytebuddy.matcher.FilterableList filter(net.bytebuddy.matcher.ElementMatcher)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodList: java.lang.Object getOnly()>();
<net.bytebuddy.build.HashCodeAndEqualsPlugin: net.bytebuddy.description.method.MethodDescription$InDefinedShape SORTED_VALUE> = v;
return;
}
public boolean equals(java.lang.Object)
{
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.String v, v;
boolean v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
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.build.HashCodeAndEqualsPlugin: java.lang.String annotationType>;
v = v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: java.lang.String annotationType>;
if v == null goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
if v == null goto label;
label:
return 0;
label:
return 1;
}
public int hashCode()
{
int v, v, v;
net.bytebuddy.build.HashCodeAndEqualsPlugin v;
java.lang.Class v;
java.lang.String v;
v := @this: net.bytebuddy.build.HashCodeAndEqualsPlugin;
v = virtualinvoke v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: int hashCode()>();
v = v * 31;
v = v.<net.bytebuddy.build.HashCodeAndEqualsPlugin: java.lang.String annotationType>;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = v + v;
label:
return v;
}
}