public class net.bytebuddy.ByteBuddy$EnumerationImplementation extends java.lang.Object implements net.bytebuddy.implementation.Implementation
{
protected static final java.lang.String CLONE_METHOD_NAME;
protected static final java.lang.String ENUM_VALUE_OF_METHOD_NAME;
protected static final java.lang.String ENUM_VALUES_METHOD_NAME;
private static final int ENUM_FIELD_MODIFIERS;
private static final java.lang.String ENUM_VALUES;
private final java.util.List values;
protected void <init>(java.util.List)
{
java.util.List v;
net.bytebuddy.ByteBuddy$EnumerationImplementation v;
v := @this: net.bytebuddy.ByteBuddy$EnumerationImplementation;
v := @parameter: java.util.List;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<net.bytebuddy.ByteBuddy$EnumerationImplementation: java.util.List values> = v;
return;
}
public net.bytebuddy.dynamic.scaffold.InstrumentedType prepare(net.bytebuddy.dynamic.scaffold.InstrumentedType)
{
boolean v;
java.util.Iterator v;
net.bytebuddy.description.type.TypeDescription$Generic v, v;
net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender v;
net.bytebuddy.description.field.FieldDescription$Token v, v;
java.util.List v, v;
net.bytebuddy.ByteBuddy$EnumerationImplementation v;
java.lang.Object v;
net.bytebuddy.description.type.TypeDescription v, v, v;
net.bytebuddy.dynamic.scaffold.InstrumentedType v, v, v;
v := @this: net.bytebuddy.ByteBuddy$EnumerationImplementation;
v := @parameter: net.bytebuddy.dynamic.scaffold.InstrumentedType;
v = v.<net.bytebuddy.ByteBuddy$EnumerationImplementation: java.util.List values>;
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 = new net.bytebuddy.description.field.FieldDescription$Token;
v = <net.bytebuddy.dynamic.TargetType: net.bytebuddy.description.type.TypeDescription DESCRIPTION>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.type.TypeDescription$Generic asGenericType()>();
specialinvoke v.<net.bytebuddy.description.field.FieldDescription$Token: void <init>(java.lang.String,int,net.bytebuddy.description.type.TypeDescription$Generic)>(v, 16409, v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.scaffold.InstrumentedType: net.bytebuddy.dynamic.scaffold.InstrumentedType withField(net.bytebuddy.description.field.FieldDescription$Token)>(v);
goto label;
label:
v = new net.bytebuddy.description.field.FieldDescription$Token;
v = <net.bytebuddy.dynamic.TargetType: net.bytebuddy.description.type.TypeDescription DESCRIPTION>;
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ArrayProjection: net.bytebuddy.description.type.TypeDescription of(net.bytebuddy.description.type.TypeDescription)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.type.TypeDescription$Generic asGenericType()>();
specialinvoke v.<net.bytebuddy.description.field.FieldDescription$Token: void <init>(java.lang.String,int,net.bytebuddy.description.type.TypeDescription$Generic)>("$VALUES", 4121, v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.scaffold.InstrumentedType: net.bytebuddy.dynamic.scaffold.InstrumentedType withField(net.bytebuddy.description.field.FieldDescription$Token)>(v);
v = new net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender;
v = v.<net.bytebuddy.ByteBuddy$EnumerationImplementation: java.util.List values>;
specialinvoke v.<net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender: void <init>(java.util.List)>(v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.scaffold.InstrumentedType: net.bytebuddy.dynamic.scaffold.InstrumentedType withInitializer(net.bytebuddy.implementation.bytecode.ByteCodeAppender)>(v);
return v;
}
public net.bytebuddy.implementation.bytecode.ByteCodeAppender appender(net.bytebuddy.implementation.Implementation$Target)
{
net.bytebuddy.ByteBuddy$EnumerationImplementation v;
net.bytebuddy.implementation.Implementation$Target v;
net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender v;
net.bytebuddy.description.type.TypeDescription v;
v := @this: net.bytebuddy.ByteBuddy$EnumerationImplementation;
v := @parameter: net.bytebuddy.implementation.Implementation$Target;
v = new net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender;
v = interfaceinvoke v.<net.bytebuddy.implementation.Implementation$Target: net.bytebuddy.description.type.TypeDescription getInstrumentedType()>();
specialinvoke v.<net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender: void <init>(net.bytebuddy.description.type.TypeDescription)>(v);
return v;
}
public boolean equals(java.lang.Object)
{
java.util.List v, v;
net.bytebuddy.ByteBuddy$EnumerationImplementation v;
java.lang.Class v, v;
java.lang.Object v;
boolean v;
v := @this: net.bytebuddy.ByteBuddy$EnumerationImplementation;
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.ByteBuddy$EnumerationImplementation: java.util.List values>;
v = v.<net.bytebuddy.ByteBuddy$EnumerationImplementation: java.util.List values>;
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()
{
java.util.List v;
net.bytebuddy.ByteBuddy$EnumerationImplementation v;
int v, v, v, v;
java.lang.Class v;
v := @this: net.bytebuddy.ByteBuddy$EnumerationImplementation;
v = virtualinvoke v.<net.bytebuddy.ByteBuddy$EnumerationImplementation: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: int hashCode()>();
v = v * 31;
v = v.<net.bytebuddy.ByteBuddy$EnumerationImplementation: java.util.List values>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
return v;
}
}