public class net.bytebuddy.utility.JavaConstant$MethodHandle extends java.lang.Object implements net.bytebuddy.utility.JavaConstant
{
protected static final net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO;
protected static final net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType METHOD_TYPE;
protected static final net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles METHOD_HANDLES;
protected static final net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup METHOD_HANDLES_LOOKUP;
private final net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType;
private final net.bytebuddy.description.type.TypeDescription ownerType;
private final java.lang.String name;
private final net.bytebuddy.description.type.TypeDescription returnType;
private final java.util.List parameterTypes;
private static final boolean ACCESS_CONTROLLER;
protected void <init>(net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType, net.bytebuddy.description.type.TypeDescription, java.lang.String, net.bytebuddy.description.type.TypeDescription, java.util.List)
{
java.util.List v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.String v;
net.bytebuddy.description.type.TypeDescription v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v := @parameter: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
v := @parameter: java.lang.String;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
v := @parameter: java.util.List;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType> = v;
v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType> = v;
v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name> = v;
v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType> = v;
v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes> = v;
return;
}
private static java.lang.Object doPrivileged(java.security.PrivilegedAction)
{
java.lang.Object v, v;
java.security.PrivilegedAction v;
boolean v;
v := @parameter: java.security.PrivilegedAction;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: boolean ACCESS_CONTROLLER>;
if v == 0 goto label;
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return v;
label:
v = interfaceinvoke v.<java.security.PrivilegedAction: java.lang.Object run()>();
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofLoaded(java.lang.Object)
{
net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Object v, v;
v := @parameter: java.lang.Object;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles METHOD_HANDLES>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles: java.lang.Object publicLookup()>();
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle ofLoaded(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofLoaded(java.lang.Object, java.lang.Object)
{
boolean v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo v, v, v, v, v;
net.bytebuddy.description.type.TypeDescription v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
net.bytebuddy.ClassFileVersion v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType v, v;
net.bytebuddy.utility.JavaType v, v;
int v;
net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup v;
java.lang.String v, v, v;
net.bytebuddy.description.type.TypeList$ForLoadedTypes v;
java.lang.Class[] v;
java.lang.IllegalArgumentException v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Class v, v;
java.lang.Object v, v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = <net.bytebuddy.utility.JavaType: net.bytebuddy.utility.JavaType METHOD_HANDLE>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaType: boolean isInstance(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Expected method handle object: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <net.bytebuddy.utility.JavaType: net.bytebuddy.utility.JavaType METHOD_HANDLES_LOOKUP>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaType: boolean isInstance(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Expected method handle lookup object: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <net.bytebuddy.ClassFileVersion: net.bytebuddy.ClassFileVersion JAVA_V8>;
v = staticinvoke <net.bytebuddy.ClassFileVersion: net.bytebuddy.ClassFileVersion ofThisVm(net.bytebuddy.ClassFileVersion)>(v);
v = <net.bytebuddy.ClassFileVersion: net.bytebuddy.ClassFileVersion JAVA_V7>;
v = virtualinvoke v.<net.bytebuddy.ClassFileVersion: boolean isAtMost(net.bytebuddy.ClassFileVersion)>(v);
if v == 0 goto label;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo: java.lang.Object revealDirect(java.lang.Object)>(v);
goto label;
label:
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup METHOD_HANDLES_LOOKUP>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup: java.lang.Object revealDirect(java.lang.Object,java.lang.Object)>(v, v);
label:
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo: java.lang.Object getMethodType(java.lang.Object)>(v);
v = new net.bytebuddy.utility.JavaConstant$MethodHandle;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo: int getReferenceKind(java.lang.Object)>(v);
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType of(int)>(v);
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo: java.lang.Class getDeclaringClass(java.lang.Object)>(v);
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(v);
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo: java.lang.String getName(java.lang.Object)>(v);
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType METHOD_TYPE>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType: java.lang.Class returnType(java.lang.Object)>(v);
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(v);
v = new net.bytebuddy.description.type.TypeList$ForLoadedTypes;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType METHOD_TYPE>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType: java.lang.Class[] parameterArray(java.lang.Object)>(v);
specialinvoke v.<net.bytebuddy.description.type.TypeList$ForLoadedTypes: void <init>(java.lang.Class[])>(v);
specialinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle: void <init>(net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType,net.bytebuddy.description.type.TypeDescription,java.lang.String,net.bytebuddy.description.type.TypeDescription,java.util.List)>(v, v, v, v, v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle of(java.lang.reflect.Method)
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.description.method.MethodDescription$ForLoadedMethod v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v = new net.bytebuddy.description.method.MethodDescription$ForLoadedMethod;
specialinvoke v.<net.bytebuddy.description.method.MethodDescription$ForLoadedMethod: void <init>(java.lang.reflect.Method)>(v);
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle of(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle of(java.lang.reflect.Constructor)
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.reflect.Constructor v;
net.bytebuddy.description.method.MethodDescription$ForLoadedConstructor v;
v := @parameter: java.lang.reflect.Constructor;
v = new net.bytebuddy.description.method.MethodDescription$ForLoadedConstructor;
specialinvoke v.<net.bytebuddy.description.method.MethodDescription$ForLoadedConstructor: void <init>(java.lang.reflect.Constructor)>(v);
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle of(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle of(net.bytebuddy.description.method.MethodDescription$InDefinedShape)
{
net.bytebuddy.description.method.MethodDescription$InDefinedShape v;
net.bytebuddy.description.type.TypeDescription$Generic v;
net.bytebuddy.description.type.TypeList$Generic v;
net.bytebuddy.description.method.ParameterList v;
net.bytebuddy.description.type.TypeList v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.String v;
net.bytebuddy.description.type.TypeDescription v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @parameter: net.bytebuddy.description.method.MethodDescription$InDefinedShape;
v = new net.bytebuddy.utility.JavaConstant$MethodHandle;
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType of(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription getDeclaringType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: java.lang.String getInternalName()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription$Generic getReturnType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription$Generic: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: 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()>();
specialinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle: void <init>(net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType,net.bytebuddy.description.type.TypeDescription,java.lang.String,net.bytebuddy.description.type.TypeDescription,java.util.List)>(v, v, v, v, v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofSpecial(java.lang.reflect.Method, java.lang.Class)
{
net.bytebuddy.description.method.MethodDescription$ForLoadedMethod v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Class v;
net.bytebuddy.description.type.TypeDescription v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Class;
v = new net.bytebuddy.description.method.MethodDescription$ForLoadedMethod;
specialinvoke v.<net.bytebuddy.description.method.MethodDescription$ForLoadedMethod: void <init>(java.lang.reflect.Method)>(v);
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(v);
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle ofSpecial(net.bytebuddy.description.method.MethodDescription$InDefinedShape,net.bytebuddy.description.type.TypeDescription)>(v, v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofSpecial(net.bytebuddy.description.method.MethodDescription$InDefinedShape, net.bytebuddy.description.type.TypeDescription)
{
net.bytebuddy.description.method.MethodDescription$InDefinedShape v;
net.bytebuddy.description.type.TypeDescription$Generic v;
java.lang.IllegalArgumentException v;
net.bytebuddy.description.type.TypeList$Generic v;
net.bytebuddy.description.method.ParameterList v;
net.bytebuddy.description.type.TypeList v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.String v, v;
net.bytebuddy.description.type.TypeDescription v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
boolean v;
v := @parameter: net.bytebuddy.description.method.MethodDescription$InDefinedShape;
v := @parameter: net.bytebuddy.description.type.TypeDescription;
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: boolean isSpecializableFor(net.bytebuddy.description.type.TypeDescription)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (net.bytebuddy.description.method.MethodDescription$InDefinedShape,net.bytebuddy.description.type.TypeDescription)>(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[])>("Cannot specialize \u for \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new net.bytebuddy.utility.JavaConstant$MethodHandle;
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType ofSpecial(net.bytebuddy.description.method.MethodDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: java.lang.String getInternalName()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription$Generic getReturnType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription$Generic: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = interfaceinvoke v.<net.bytebuddy.description.method.MethodDescription$InDefinedShape: 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()>();
specialinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle: void <init>(net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType,net.bytebuddy.description.type.TypeDescription,java.lang.String,net.bytebuddy.description.type.TypeDescription,java.util.List)>(v, v, v, v, v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofGetter(java.lang.reflect.Field)
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.reflect.Field v;
net.bytebuddy.description.field.FieldDescription$ForLoadedField v;
v := @parameter: java.lang.reflect.Field;
v = new net.bytebuddy.description.field.FieldDescription$ForLoadedField;
specialinvoke v.<net.bytebuddy.description.field.FieldDescription$ForLoadedField: void <init>(java.lang.reflect.Field)>(v);
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle ofGetter(net.bytebuddy.description.field.FieldDescription$InDefinedShape)>(v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofGetter(net.bytebuddy.description.field.FieldDescription$InDefinedShape)
{
net.bytebuddy.description.field.FieldDescription$InDefinedShape v;
net.bytebuddy.description.type.TypeDescription$Generic v;
java.util.List v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.String v;
net.bytebuddy.description.type.TypeDescription v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @parameter: net.bytebuddy.description.field.FieldDescription$InDefinedShape;
v = new net.bytebuddy.utility.JavaConstant$MethodHandle;
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType ofGetter(net.bytebuddy.description.field.FieldDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.field.FieldDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription getDeclaringType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = interfaceinvoke v.<net.bytebuddy.description.field.FieldDescription$InDefinedShape: java.lang.String getInternalName()>();
v = interfaceinvoke v.<net.bytebuddy.description.field.FieldDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription$Generic getType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription$Generic: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
specialinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle: void <init>(net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType,net.bytebuddy.description.type.TypeDescription,java.lang.String,net.bytebuddy.description.type.TypeDescription,java.util.List)>(v, v, v, v, v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofSetter(java.lang.reflect.Field)
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.reflect.Field v;
net.bytebuddy.description.field.FieldDescription$ForLoadedField v;
v := @parameter: java.lang.reflect.Field;
v = new net.bytebuddy.description.field.FieldDescription$ForLoadedField;
specialinvoke v.<net.bytebuddy.description.field.FieldDescription$ForLoadedField: void <init>(java.lang.reflect.Field)>(v);
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle ofSetter(net.bytebuddy.description.field.FieldDescription$InDefinedShape)>(v);
return v;
}
public static net.bytebuddy.utility.JavaConstant$MethodHandle ofSetter(net.bytebuddy.description.field.FieldDescription$InDefinedShape)
{
net.bytebuddy.description.field.FieldDescription$InDefinedShape v;
net.bytebuddy.description.type.TypeDescription$Generic v;
java.util.List v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Class v;
java.lang.String v;
net.bytebuddy.description.type.TypeDescription v, v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @parameter: net.bytebuddy.description.field.FieldDescription$InDefinedShape;
v = new net.bytebuddy.utility.JavaConstant$MethodHandle;
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType ofSetter(net.bytebuddy.description.field.FieldDescription$InDefinedShape)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.field.FieldDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription getDeclaringType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = interfaceinvoke v.<net.bytebuddy.description.field.FieldDescription$InDefinedShape: java.lang.String getInternalName()>();
v = <java.lang.Void: java.lang.Class TYPE>;
v = staticinvoke <net.bytebuddy.description.type.TypeDescription$ForLoadedType: net.bytebuddy.description.type.TypeDescription of(java.lang.Class)>(v);
v = interfaceinvoke v.<net.bytebuddy.description.field.FieldDescription$InDefinedShape: net.bytebuddy.description.type.TypeDescription$Generic getType()>();
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription$Generic: net.bytebuddy.description.type.TypeDescription asErasure()>();
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
specialinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle: void <init>(net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType,net.bytebuddy.description.type.TypeDescription,java.lang.String,net.bytebuddy.description.type.TypeDescription,java.util.List)>(v, v, v, v, v);
return v;
}
public static java.lang.Class lookupType(java.lang.Object)
{
net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup v;
java.lang.Class v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup METHOD_HANDLES_LOOKUP>;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup: java.lang.Class lookupClass(java.lang.Object)>(v);
return v;
}
public java.lang.Object toDescription()
{
net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfMethodHandleDesc v;
net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfClassDesc v;
int v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Object v, v, v;
java.lang.String v, v, v;
net.bytebuddy.description.type.TypeDescription v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfDirectMethodHandleDesc$ForKind v;
boolean v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = <net.bytebuddy.utility.JavaConstant$Simple: net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfMethodHandleDesc METHOD_HANDLE_DESC>;
v = <net.bytebuddy.utility.JavaConstant$Simple: net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfDirectMethodHandleDesc$ForKind DIRECT_METHOD_HANDLE_DESC_KIND>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: int getIdentifier()>();
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: boolean isInterface()>();
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfDirectMethodHandleDesc$ForKind: java.lang.Object valueOf(int,boolean)>(v, v);
v = <net.bytebuddy.utility.JavaConstant$Simple: net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfClassDesc CLASS_DESC>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getDescriptor()>();
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfClassDesc: java.lang.Object ofDescriptor(java.lang.String)>(v);
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String getDescriptor()>();
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$Simple$Dispatcher$OfMethodHandleDesc: java.lang.Object of(java.lang.Object,java.lang.Object,java.lang.String,java.lang.String)>(v, v, v, v);
return v;
}
public java.lang.Object accept(net.bytebuddy.utility.JavaConstant$Visitor)
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Object v;
net.bytebuddy.utility.JavaConstant$Visitor v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v := @parameter: net.bytebuddy.utility.JavaConstant$Visitor;
v = interfaceinvoke v.<net.bytebuddy.utility.JavaConstant$Visitor: java.lang.Object onMethodHandle(net.bytebuddy.utility.JavaConstant$MethodHandle)>(v);
return v;
}
public net.bytebuddy.description.type.TypeDescription getTypeDescription()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.description.type.TypeDescription v;
net.bytebuddy.utility.JavaType v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = <net.bytebuddy.utility.JavaType: net.bytebuddy.utility.JavaType METHOD_HANDLE>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaType: net.bytebuddy.description.type.TypeDescription getTypeStub()>();
return v;
}
public net.bytebuddy.implementation.bytecode.StackManipulation toStackManipulation()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.implementation.bytecode.constant.JavaConstantValue v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = new net.bytebuddy.implementation.bytecode.constant.JavaConstantValue;
specialinvoke v.<net.bytebuddy.implementation.bytecode.constant.JavaConstantValue: void <init>(net.bytebuddy.utility.JavaConstant)>(v);
return v;
}
public net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType getHandleType()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
return v;
}
public net.bytebuddy.description.type.TypeDescription getOwnerType()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.description.type.TypeDescription v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
return v;
}
public java.lang.String getName()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.String v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name>;
return v;
}
public net.bytebuddy.description.type.TypeDescription getReturnType()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.description.type.TypeDescription v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
return v;
}
public net.bytebuddy.description.type.TypeList getParameterTypes()
{
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.util.List v;
net.bytebuddy.description.type.TypeList$Explicit v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = new net.bytebuddy.description.type.TypeList$Explicit;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
specialinvoke v.<net.bytebuddy.description.type.TypeList$Explicit: void <init>(java.util.List)>(v);
return v;
}
public java.lang.String getDescriptor()
{
int[] v;
int v, v;
java.lang.String v, v, v, v, v;
boolean v;
java.util.Iterator v;
java.util.List v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Object v, v;
java.lang.StringBuilder v;
net.bytebuddy.description.type.TypeDescription v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = <net.bytebuddy.utility.JavaConstant$1: int[] $SwitchMap$net$bytebuddy$utility$JavaConstant$MethodHandle$HandleType>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: 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 = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getDescriptor()>();
return v;
label:
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getDescriptor()>();
return v;
label:
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
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 = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getDescriptor()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getDescriptor()>();
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[])>("()\u0001");
return v;
}
public int hashCode()
{
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
java.util.List v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
net.bytebuddy.description.type.TypeDescription v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: int hashCode()>();
v = 31 * v;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
v = 31 * v;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = v + v;
v = 31 * v;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
v = 31 * v;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
v = interfaceinvoke v.<java.util.List: int hashCode()>();
v = v + v;
return v;
}
public boolean equals(java.lang.Object)
{
java.lang.String v, v;
boolean v, v, v, v, v, v;
java.util.List v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Object v;
net.bytebuddy.description.type.TypeDescription v, v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v, v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof net.bytebuddy.utility.JavaConstant$MethodHandle;
if v != 0 goto label;
return 0;
label:
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
if v != v goto label;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
v = interfaceinvoke v.<java.util.List: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String toString()
{
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v, v;
java.util.Iterator v;
java.util.List v;
net.bytebuddy.utility.JavaConstant$MethodHandle v;
java.lang.Object v;
java.lang.StringBuilder v;
net.bytebuddy.description.type.TypeDescription v, v, v;
net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType v, v, v, v;
v := @this: net.bytebuddy.utility.JavaConstant$MethodHandle;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: java.lang.String name()>();
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: boolean isInterface()>();
if v == 0 goto label;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = virtualinvoke v.<net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: boolean isField()>();
if v != 0 goto label;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType handleType>;
v = <net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType: net.bytebuddy.utility.JavaConstant$MethodHandle$HandleType INVOKE_INTERFACE>;
if v == v goto label;
v = "@interface";
goto label;
label:
v = "";
label:
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription ownerType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getSimpleName()>();
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.String name>;
v = 1;
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: java.util.List parameterTypes>;
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()>();
if v == 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(44);
label:
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getSimpleName()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = v.<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.description.type.TypeDescription returnType>;
v = interfaceinvoke v.<net.bytebuddy.description.type.TypeDescription: java.lang.String getSimpleName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, 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/\u0001::\u0001()\u0001");
return v;
}
static void <clinit>()
{
java.security.PrivilegedAction v, v, v, v;
java.lang.ClassNotFoundException v;
java.lang.Object v, v, v, v;
java.lang.SecurityException v;
java.lang.String v;
boolean v;
goto label;
label:
v = staticinvoke <net.bytebuddy.utility.dispatcher.JavaDispatcher: java.security.PrivilegedAction of(java.lang.Class)>(class "Lnet/bytebuddy/utility/JavaConstant$MethodHandle$MethodHandleInfo;");
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandleInfo METHOD_HANDLE_INFO> = v;
v = staticinvoke <net.bytebuddy.utility.dispatcher.JavaDispatcher: java.security.PrivilegedAction of(java.lang.Class)>(class "Lnet/bytebuddy/utility/JavaConstant$MethodHandle$MethodType;");
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodType METHOD_TYPE> = v;
v = staticinvoke <net.bytebuddy.utility.dispatcher.JavaDispatcher: java.security.PrivilegedAction of(java.lang.Class)>(class "Lnet/bytebuddy/utility/JavaConstant$MethodHandle$MethodHandles;");
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles METHOD_HANDLES> = v;
v = staticinvoke <net.bytebuddy.utility.dispatcher.JavaDispatcher: java.security.PrivilegedAction of(java.lang.Class)>(class "Lnet/bytebuddy/utility/JavaConstant$MethodHandle$MethodHandles$Lookup;");
v = staticinvoke <net.bytebuddy.utility.JavaConstant$MethodHandle: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<net.bytebuddy.utility.JavaConstant$MethodHandle: net.bytebuddy.utility.JavaConstant$MethodHandle$MethodHandles$Lookup METHOD_HANDLES_LOOKUP> = v;
return;
label:
staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>("java.security.AccessController", 0, null);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("net.bytebuddy.securitymanager", "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
<net.bytebuddy.utility.JavaConstant$MethodHandle: boolean ACCESS_CONTROLLER> = v;
label:
goto label;
label:
v := @caughtexception;
<net.bytebuddy.utility.JavaConstant$MethodHandle: boolean ACCESS_CONTROLLER> = 0;
goto label;
label:
v := @caughtexception;
<net.bytebuddy.utility.JavaConstant$MethodHandle: boolean ACCESS_CONTROLLER> = 1;
goto label;
catch java.lang.ClassNotFoundException from label to label with label;
catch java.lang.SecurityException from label to label with label;
}
}