public class net.bytebuddy.implementation.auxiliary.MethodCallProxy extends java.lang.Object implements net.bytebuddy.implementation.auxiliary.AuxiliaryType
{
private static final java.lang.String FIELD_NAME_PREFIX;
private final net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation;
private final boolean serializableProxy;
private final net.bytebuddy.implementation.bytecode.assign.Assigner assigner;
public void <init>(net.bytebuddy.implementation.Implementation$SpecialMethodInvocation, boolean)
{
net.bytebuddy.implementation.Implementation$SpecialMethodInvocation v;
net.bytebuddy.implementation.bytecode.assign.Assigner v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy v;
boolean v;
v := @this: net.bytebuddy.implementation.auxiliary.MethodCallProxy;
v := @parameter: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation;
v := @parameter: boolean;
v = <net.bytebuddy.implementation.bytecode.assign.Assigner: net.bytebuddy.implementation.bytecode.assign.Assigner DEFAULT>;
specialinvoke v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: void <init>(net.bytebuddy.implementation.Implementation$SpecialMethodInvocation,boolean,net.bytebuddy.implementation.bytecode.assign.Assigner)>(v, v, v);
return;
}
public void <init>(net.bytebuddy.implementation.Implementation$SpecialMethodInvocation, boolean, net.bytebuddy.implementation.bytecode.assign.Assigner)
{
net.bytebuddy.implementation.Implementation$SpecialMethodInvocation v;
net.bytebuddy.implementation.bytecode.assign.Assigner v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy v;
boolean v;
v := @this: net.bytebuddy.implementation.auxiliary.MethodCallProxy;
v := @parameter: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation;
v := @parameter: boolean;
v := @parameter: net.bytebuddy.implementation.bytecode.assign.Assigner;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation> = v;
v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: boolean serializableProxy> = v;
v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.bytecode.assign.Assigner assigner> = v;
return;
}
private static java.util.LinkedHashMap extractFields(net.bytebuddy.description.method.MethodDescription)
{
java.util.Iterator v;
net.bytebuddy.description.type.TypeDescription$Generic v;
java.util.LinkedHashMap v;
net.bytebuddy.description.method.ParameterList v;
net.bytebuddy.description.method.MethodDescription v;
net.bytebuddy.description.type.TypeDefinition v;
int v, v;
java.lang.Object v;
java.lang.String v, v;
net.bytebuddy.description.type.TypeDescription v, v;
boolean v, v;
v := @parameter: net.bytebuddy.description.method.MethodDescription;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = 0;
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: boolean isStatic()>();
if v != 0 goto label;
v = 1;
v = staticinvoke <net.bytebuddy.implementation.auxiliary.MethodCallProxy: java.lang.String fieldName(int)>(0);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: net.bytebuddy.description.type.TypeDefinition getDeclaringType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDefinition: net.bytebuddy.description.type.TypeDescription asErasure()>();
virtualinvoke v.<java.util.LinkedHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription: net.bytebuddy.description.method.ParameterList getParameters()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.ParameterList: 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 = v;
v = v + 1;
v = staticinvoke <net.bytebuddy.implementation.auxiliary.MethodCallProxy: java.lang.String fieldName(int)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.ParameterDescription: net.bytebuddy.description.type.TypeDescription$Generic getType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription$Generic: net.bytebuddy.description.type.TypeDescription asErasure()>();
virtualinvoke v.<java.util.LinkedHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
private static java.lang.String fieldName(int)
{
int v;
java.lang.String v;
v := @parameter: int;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("argument\u0001");
return v;
}
public java.lang.String getSuffix()
{
net.bytebuddy.implementation.auxiliary.MethodCallProxy v;
net.bytebuddy.description.method.MethodDescription v;
net.bytebuddy.implementation.Implementation$SpecialMethodInvocation v;
int v;
java.lang.String v, v, v;
boolean v;
v := @this: net.bytebuddy.implementation.auxiliary.MethodCallProxy;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation>;
v = interfaceinvoke v.<net.bytebuddy.implementation.Implementation$SpecialMethodInvocation: net.bytebuddy.description.method.MethodDescription getMethodDescription()>();
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = staticinvoke <net.bytebuddy.utility.RandomString: java.lang.String hashOf(int)>(v);
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: boolean serializableProxy>;
if v == 0 goto label;
v = "S";
goto label;
label:
v = "0";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u0001\u0001");
return v;
}
public net.bytebuddy.dynamic.DynamicType make(java.lang.String, net.bytebuddy.ClassFileVersion, net.bytebuddy.implementation.MethodAccessorFactory)
{
net.bytebuddy.dynamic.DynamicType$Unloaded v;
net.bytebuddy.description.modifier.ModifierContributor$ForField[] v;
net.bytebuddy.ByteBuddy v, v, v;
net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ExceptionDefinition v;
net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy$Default v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy$ConstructorCall v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy$PrecomputedMethodGraph v;
boolean v, v;
net.bytebuddy.dynamic.DynamicType$Builder v, v, v, v;
java.util.Collection v;
net.bytebuddy.description.modifier.Visibility v;
java.util.Set v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy v;
net.bytebuddy.description.modifier.ModifierContributor$ForType[] v;
net.bytebuddy.implementation.MethodAccessorFactory v;
java.lang.reflect.Type[] v;
net.bytebuddy.ClassFileVersion v;
net.bytebuddy.dynamic.scaffold.TypeValidation v;
net.bytebuddy.implementation.bytecode.assign.Assigner v;
net.bytebuddy.description.modifier.ModifierContributor$ForMethod[] v;
net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition v;
java.util.LinkedHashMap v;
net.bytebuddy.implementation.Implementation$SpecialMethodInvocation v;
java.lang.String v;
net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition$Optional v, v;
net.bytebuddy.description.method.MethodDescription$InDefinedShape v;
java.util.Iterator v;
java.lang.Class[] v;
net.bytebuddy.implementation.MethodAccessorFactory$AccessType v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy$MethodCall v;
java.lang.Object v, v, v;
net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ParameterDefinition$Initial v;
v := @this: net.bytebuddy.implementation.auxiliary.MethodCallProxy;
v := @parameter: java.lang.String;
v := @parameter: net.bytebuddy.ClassFileVersion;
v := @parameter: net.bytebuddy.implementation.MethodAccessorFactory;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation>;
v = <net.bytebuddy.implementation.MethodAccessorFactory$AccessType: net.bytebuddy.implementation.MethodAccessorFactory$AccessType DEFAULT>;
v = interfaceinvoke v.<net.bytebuddy.implementation.MethodAccessorFactory: net.bytebuddy.description.method.MethodDescription$InDefinedShape registerAccessorFor(net.bytebuddy.implementation.Implementation$SpecialMethodInvocation,net.bytebuddy.implementation.MethodAccessorFactory$AccessType)>(v, v);
v = staticinvoke <net.bytebuddy.implementation.auxiliary.MethodCallProxy: java.util.LinkedHashMap extractFields(net.bytebuddy.description.method.MethodDescription)>(v);
v = new net.bytebuddy.ByteBuddy;
specialinvoke v.<net.bytebuddy.ByteBuddy: void <init>(net.bytebuddy.ClassFileVersion)>(v);
v = <net.bytebuddy.dynamic.scaffold.TypeValidation: net.bytebuddy.dynamic.scaffold.TypeValidation DISABLED>;
v = virtualinvoke v.<net.bytebuddy.ByteBuddy: net.bytebuddy.ByteBuddy 'with'(net.bytebuddy.dynamic.scaffold.TypeValidation)>(v);
v = <net.bytebuddy.implementation.auxiliary.MethodCallProxy$PrecomputedMethodGraph: net.bytebuddy.implementation.auxiliary.MethodCallProxy$PrecomputedMethodGraph INSTANCE>;
v = virtualinvoke v.<net.bytebuddy.ByteBuddy: net.bytebuddy.ByteBuddy 'with'(net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler)>(v);
v = <net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy$Default: net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy$Default NO_CONSTRUCTORS>;
v = virtualinvoke v.<net.bytebuddy.ByteBuddy: net.bytebuddy.dynamic.DynamicType$Builder subclass(java.lang.Class,net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy)>(class "Ljava/lang/Object;", v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Builder name(java.lang.String)>(v);
v = <net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.description.modifier.ModifierContributor$ForType[] DEFAULT_TYPE_MODIFIER>;
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Builder modifiers(net.bytebuddy.description.modifier.ModifierContributor$ForType[])>(v);
v = newarray (java.lang.reflect.Type)[2];
v[0] = class "Ljava/lang/Runnable;";
v[1] = class "Ljava/util/concurrent/Callable;";
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition$Optional implement(java.lang.reflect.Type[])>(v);
v = new net.bytebuddy.implementation.auxiliary.MethodCallProxy$MethodCall;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.bytecode.assign.Assigner assigner>;
specialinvoke v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy$MethodCall: void <init>(net.bytebuddy.description.method.MethodDescription,net.bytebuddy.implementation.bytecode.assign.Assigner)>(v, v);
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition$Optional: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition intercept(net.bytebuddy.implementation.Implementation)>(v);
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: boolean serializableProxy>;
if v == 0 goto label;
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/io/Serializable;";
goto label;
label:
v = newarray (java.lang.Class)[0];
label:
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition$Optional implement(java.lang.reflect.Type[])>(v);
v = newarray (net.bytebuddy.description.modifier.ModifierContributor$ForMethod)[0];
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition$Optional: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ParameterDefinition$Initial defineConstructor(net.bytebuddy.description.modifier.ModifierContributor$ForMethod[])>(v);
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ParameterDefinition$Initial: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ExceptionDefinition withParameters(java.util.Collection)>(v);
v = <net.bytebuddy.implementation.auxiliary.MethodCallProxy$ConstructorCall: net.bytebuddy.implementation.auxiliary.MethodCallProxy$ConstructorCall INSTANCE>;
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ExceptionDefinition: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition intercept(net.bytebuddy.implementation.Implementation)>(v);
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = newarray (net.bytebuddy.description.modifier.ModifierContributor$ForField)[1];
v = <net.bytebuddy.description.modifier.Visibility: net.bytebuddy.description.modifier.Visibility PRIVATE>;
v[0] = v;
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Builder$FieldDefinition$Optional$Valuable defineField(java.lang.String,net.bytebuddy.description.type.TypeDefinition,net.bytebuddy.description.modifier.ModifierContributor$ForField[])>(v, v, v);
goto label;
label:
v = interfaceinvoke v.<net.bytebuddy.dynamic.DynamicType$Builder: net.bytebuddy.dynamic.DynamicType$Unloaded make()>();
return v;
}
public boolean equals(java.lang.Object)
{
net.bytebuddy.implementation.bytecode.assign.Assigner v, v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy v;
net.bytebuddy.implementation.Implementation$SpecialMethodInvocation v, v;
java.lang.Class v, v;
java.lang.Object v;
boolean v, v, v, v;
v := @this: net.bytebuddy.implementation.auxiliary.MethodCallProxy;
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.implementation.auxiliary.MethodCallProxy: boolean serializableProxy>;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: boolean serializableProxy>;
if v == v goto label;
return 0;
label:
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation>;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.bytecode.assign.Assigner assigner>;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.bytecode.assign.Assigner assigner>;
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.implementation.bytecode.assign.Assigner v;
net.bytebuddy.implementation.auxiliary.MethodCallProxy v;
net.bytebuddy.implementation.Implementation$SpecialMethodInvocation v;
int v, v, v, v, v, v, v, v, v;
java.lang.Class v;
boolean v;
v := @this: net.bytebuddy.implementation.auxiliary.MethodCallProxy;
v = virtualinvoke v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: int hashCode()>();
v = v * 31;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
v = v * 31;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: boolean serializableProxy>;
v = v + v;
v = v * 31;
v = v.<net.bytebuddy.implementation.auxiliary.MethodCallProxy: net.bytebuddy.implementation.bytecode.assign.Assigner assigner>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
return v;
}
}