public abstract class com.google.common.reflect.Invokable extends java.lang.Object implements java.lang.reflect.AnnotatedElement, java.lang.reflect.Member
{
private final java.lang.reflect.AccessibleObject accessibleObject;
private final java.lang.reflect.Member member;
void <init>(java.lang.reflect.AccessibleObject)
{
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: java.lang.reflect.AccessibleObject;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject> = v;
v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member> = v;
return;
}
public static com.google.common.reflect.Invokable 'from'(java.lang.reflect.Method)
{
com.google.common.reflect.Invokable$MethodInvokable v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v = new com.google.common.reflect.Invokable$MethodInvokable;
specialinvoke v.<com.google.common.reflect.Invokable$MethodInvokable: void <init>(java.lang.reflect.Method)>(v);
return v;
}
public static com.google.common.reflect.Invokable 'from'(java.lang.reflect.Constructor)
{
java.lang.reflect.Constructor v;
com.google.common.reflect.Invokable$ConstructorInvokable v;
v := @parameter: java.lang.reflect.Constructor;
v = new com.google.common.reflect.Invokable$ConstructorInvokable;
specialinvoke v.<com.google.common.reflect.Invokable$ConstructorInvokable: void <init>(java.lang.reflect.Constructor)>(v);
return v;
}
public final boolean isAnnotationPresent(java.lang.Class)
{
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
java.lang.Class v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: java.lang.Class;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
v = virtualinvoke v.<java.lang.reflect.AccessibleObject: boolean isAnnotationPresent(java.lang.Class)>(v);
return v;
}
public final java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)
{
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
java.lang.'annotation'.Annotation v;
java.lang.Class v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: java.lang.Class;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
v = virtualinvoke v.<java.lang.reflect.AccessibleObject: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
return v;
}
public final java.lang.'annotation'.Annotation[] getAnnotations()
{
java.lang.'annotation'.Annotation[] v;
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
v = virtualinvoke v.<java.lang.reflect.AccessibleObject: java.lang.'annotation'.Annotation[] getAnnotations()>();
return v;
}
public final java.lang.'annotation'.Annotation[] getDeclaredAnnotations()
{
java.lang.'annotation'.Annotation[] v;
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
v = virtualinvoke v.<java.lang.reflect.AccessibleObject: java.lang.'annotation'.Annotation[] getDeclaredAnnotations()>();
return v;
}
public abstract java.lang.reflect.TypeVariable[] getTypeParameters();
public final void setAccessible(boolean)
{
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: boolean;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
virtualinvoke v.<java.lang.reflect.AccessibleObject: void setAccessible(boolean)>(v);
return;
}
public final boolean trySetAccessible()
{
java.lang.RuntimeException v;
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
v := @this: com.google.common.reflect.Invokable;
label:
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
virtualinvoke v.<java.lang.reflect.AccessibleObject: void setAccessible(boolean)>(1);
label:
return 1;
label:
v := @caughtexception;
return 0;
catch java.lang.RuntimeException from label to label with label;
}
public final boolean isAccessible()
{
java.lang.reflect.AccessibleObject v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.AccessibleObject accessibleObject>;
v = virtualinvoke v.<java.lang.reflect.AccessibleObject: boolean isAccessible()>();
return v;
}
public final java.lang.String getName()
{
java.lang.String v;
com.google.common.reflect.Invokable v;
java.lang.reflect.Member v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = interfaceinvoke v.<java.lang.reflect.Member: java.lang.String getName()>();
return v;
}
public final int getModifiers()
{
int v;
com.google.common.reflect.Invokable v;
java.lang.reflect.Member v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = interfaceinvoke v.<java.lang.reflect.Member: int getModifiers()>();
return v;
}
public final boolean isSynthetic()
{
com.google.common.reflect.Invokable v;
boolean v;
java.lang.reflect.Member v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = interfaceinvoke v.<java.lang.reflect.Member: boolean isSynthetic()>();
return v;
}
public final boolean isPublic()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
return v;
}
public final boolean isProtected()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isProtected(int)>(v);
return v;
}
public final boolean isPackagePrivate()
{
com.google.common.reflect.Invokable v;
boolean v, v, v, v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: boolean isPrivate()>();
if v != 0 goto label;
v = virtualinvoke v.<com.google.common.reflect.Invokable: boolean isPublic()>();
if v != 0 goto label;
v = virtualinvoke v.<com.google.common.reflect.Invokable: boolean isProtected()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public final boolean isPrivate()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPrivate(int)>(v);
return v;
}
public final boolean isStatic()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
return v;
}
public final boolean isFinal()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isFinal(int)>(v);
return v;
}
public final boolean isAbstract()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isAbstract(int)>(v);
return v;
}
public final boolean isNative()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isNative(int)>(v);
return v;
}
public final boolean isSynchronized()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isSynchronized(int)>(v);
return v;
}
final boolean isVolatile()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isVolatile(int)>(v);
return v;
}
final boolean isTransient()
{
int v;
com.google.common.reflect.Invokable v;
boolean v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isTransient(int)>(v);
return v;
}
public boolean equals(java.lang.Object)
{
java.lang.reflect.Member v, v;
com.google.common.reflect.TypeToken v, v;
com.google.common.reflect.Invokable v;
java.lang.Object v;
boolean v, v, v, v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: java.lang.Object;
v = v instanceof com.google.common.reflect.Invokable;
if v == 0 goto label;
v = virtualinvoke v.<com.google.common.reflect.Invokable: com.google.common.reflect.TypeToken getOwnerType()>();
v = virtualinvoke v.<com.google.common.reflect.Invokable: com.google.common.reflect.TypeToken getOwnerType()>();
v = virtualinvoke v.<com.google.common.reflect.TypeToken: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
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;
label:
return 0;
}
public int hashCode()
{
int v;
com.google.common.reflect.Invokable v;
java.lang.reflect.Member v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
return v;
}
public java.lang.String toString()
{
java.lang.String v;
com.google.common.reflect.Invokable v;
java.lang.reflect.Member v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
return v;
}
public abstract boolean isOverridable();
public abstract boolean isVarArgs();
public final transient java.lang.Object invoke(java.lang.Object, java.lang.Object[]) throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException
{
java.lang.Object[] v;
com.google.common.reflect.Invokable v;
java.lang.Object v, v, v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object[];
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.Object invokeInternal(java.lang.Object,java.lang.Object[])>(v, v);
return v;
}
public final com.google.common.reflect.TypeToken getReturnType()
{
com.google.common.reflect.TypeToken v;
java.lang.reflect.Type v;
com.google.common.reflect.Invokable v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.reflect.Type getGenericReturnType()>();
v = staticinvoke <com.google.common.reflect.TypeToken: com.google.common.reflect.TypeToken of(java.lang.reflect.Type)>(v);
return v;
}
public final com.google.common.collect.ImmutableList getParameters()
{
com.google.common.reflect.Parameter v;
java.lang.'annotation'.Annotation[][] v;
java.lang.reflect.AnnotatedType v;
com.google.common.reflect.TypeToken v;
java.lang.'annotation'.Annotation[] v;
com.google.common.collect.ImmutableList v;
java.lang.reflect.Type v;
com.google.common.reflect.Invokable v;
int v, v;
java.lang.reflect.Type[] v;
java.lang.reflect.AnnotatedType[] v;
com.google.common.collect.ImmutableList$Builder v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.reflect.Type[] getGenericParameterTypes()>();
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.'annotation'.Annotation[][] getParameterAnnotations()>();
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.reflect.AnnotatedType[] getAnnotatedParameterTypes()>();
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList$Builder builder()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = new com.google.common.reflect.Parameter;
v = v[v];
v = staticinvoke <com.google.common.reflect.TypeToken: com.google.common.reflect.TypeToken of(java.lang.reflect.Type)>(v);
v = v[v];
v = v[v];
specialinvoke v.<com.google.common.reflect.Parameter: void <init>(com.google.common.reflect.Invokable,int,com.google.common.reflect.TypeToken,java.lang.'annotation'.Annotation[],java.lang.reflect.AnnotatedType)>(v, v, v, v, v);
virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList$Builder add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList build()>();
return v;
}
public final com.google.common.collect.ImmutableList getExceptionTypes()
{
com.google.common.reflect.TypeToken v;
com.google.common.collect.ImmutableList v;
java.lang.reflect.Type v;
com.google.common.reflect.Invokable v;
int v, v;
java.lang.reflect.Type[] v;
com.google.common.collect.ImmutableList$Builder v;
v := @this: com.google.common.reflect.Invokable;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList$Builder builder()>();
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.reflect.Type[] getGenericExceptionTypes()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <com.google.common.reflect.TypeToken: com.google.common.reflect.TypeToken of(java.lang.reflect.Type)>(v);
virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList$Builder add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList build()>();
return v;
}
public final com.google.common.reflect.Invokable returning(java.lang.Class)
{
com.google.common.reflect.Invokable v, v;
java.lang.Class v;
com.google.common.reflect.TypeToken v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: java.lang.Class;
v = staticinvoke <com.google.common.reflect.TypeToken: com.google.common.reflect.TypeToken of(java.lang.Class)>(v);
v = virtualinvoke v.<com.google.common.reflect.Invokable: com.google.common.reflect.Invokable returning(com.google.common.reflect.TypeToken)>(v);
return v;
}
public final com.google.common.reflect.Invokable returning(com.google.common.reflect.TypeToken)
{
com.google.common.reflect.TypeToken v, v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
java.lang.IllegalArgumentException v;
com.google.common.reflect.Invokable v;
java.lang.StringBuilder v;
v := @this: com.google.common.reflect.Invokable;
v := @parameter: com.google.common.reflect.TypeToken;
v = virtualinvoke v.<com.google.common.reflect.Invokable: com.google.common.reflect.TypeToken getReturnType()>();
v = virtualinvoke v.<com.google.common.reflect.TypeToken: boolean isSupertypeOf(com.google.common.reflect.TypeToken)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<com.google.common.reflect.Invokable: com.google.common.reflect.TypeToken getReturnType()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 35 + v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
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[])>("Invokable is known to return \u, not \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public final java.lang.Class getDeclaringClass()
{
java.lang.Class v;
com.google.common.reflect.Invokable v;
java.lang.reflect.Member v;
v := @this: com.google.common.reflect.Invokable;
v = v.<com.google.common.reflect.Invokable: java.lang.reflect.Member member>;
v = interfaceinvoke v.<java.lang.reflect.Member: java.lang.Class getDeclaringClass()>();
return v;
}
public com.google.common.reflect.TypeToken getOwnerType()
{
java.lang.Class v;
com.google.common.reflect.TypeToken v;
com.google.common.reflect.Invokable v;
v := @this: com.google.common.reflect.Invokable;
v = virtualinvoke v.<com.google.common.reflect.Invokable: java.lang.Class getDeclaringClass()>();
v = staticinvoke <com.google.common.reflect.TypeToken: com.google.common.reflect.TypeToken of(java.lang.Class)>(v);
return v;
}
abstract java.lang.Object invokeInternal(java.lang.Object, java.lang.Object[]) throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException;
abstract java.lang.reflect.Type[] getGenericParameterTypes();
abstract java.lang.reflect.AnnotatedType[] getAnnotatedParameterTypes();
abstract java.lang.reflect.Type[] getGenericExceptionTypes();
abstract java.lang.'annotation'.Annotation[][] getParameterAnnotations();
abstract java.lang.reflect.Type getGenericReturnType();
public abstract java.lang.reflect.AnnotatedType getAnnotatedReturnType();
}