class org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl extends java.lang.Object implements org.aopalliance.intercept.MethodInvocation, org.glassfish.hk.api.HK2Invocation
{
private final java.lang.Object[] arguments;
private final java.lang.reflect.Method method;
private final java.lang.Object myself;
private final java.util.List interceptors;
private final int index;
private final java.lang.reflect.Method proceed;
private java.util.HashMap userData;
final org.jvnet.hk.internal.MethodInterceptorHandler this$0;
private void <init>(org.jvnet.hk.internal.MethodInterceptorHandler, java.lang.Object[], java.lang.reflect.Method, java.lang.Object, java.util.List, int, java.lang.reflect.Method, java.util.HashMap)
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.lang.Object[] v;
java.util.HashMap v;
java.util.List v;
org.jvnet.hk.internal.MethodInterceptorHandler v;
int v;
java.lang.Object v;
java.lang.reflect.Method v, v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v := @parameter: org.jvnet.hk.internal.MethodInterceptorHandler;
v := @parameter: java.lang.Object[];
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Object;
v := @parameter: java.util.List;
v := @parameter: int;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.util.HashMap;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: org.jvnet.hk.internal.MethodInterceptorHandler this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object[] arguments> = v;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method> = v;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object myself> = v;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.List interceptors> = v;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: int index> = v;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method proceed> = v;
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData> = v;
return;
}
public java.lang.Object[] getArguments()
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.lang.Object[] v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object[] arguments>;
return v;
}
public java.lang.reflect.AccessibleObject getStaticPart()
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.lang.reflect.Method v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method>;
return v;
}
public java.lang.Object getThis()
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.lang.Object v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object myself>;
return v;
}
public java.lang.reflect.Method getMethod()
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.lang.reflect.Method v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method>;
return v;
}
public java.lang.Object proceed() throws java.lang.Throwable
{
org.glassfish.hk.utilities.reflection.Logger v, v, v, v, v;
java.lang.reflect.Method v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v, v;
java.util.List v, v, v, v;
org.jvnet.hk.internal.ServiceLocatorImpl v;
java.lang.Throwable v, v;
java.lang.Object[] v, v;
java.util.HashMap v;
long v, v, v, v, v, v, v, v, v, v;
org.jvnet.hk.internal.MethodInterceptorHandler v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
java.lang.Class v, v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: int index>;
v = v + 1;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.List interceptors>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
v = 0L;
v = <org.jvnet.hk.internal.MethodInterceptorHandler: boolean DEBUG_INTERCEPTION>;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
label:
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object myself>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method proceed>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object[] arguments>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: org.jvnet.hk.internal.MethodInterceptorHandler this$0>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler: org.jvnet.hk.internal.ServiceLocatorImpl locator>;
v = virtualinvoke v.<org.jvnet.hk.internal.ServiceLocatorImpl: boolean getNeutralContextClassLoader()>();
v = staticinvoke <org.glassfish.hk.utilities.reflection.ReflectionHelper: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[],boolean)>(v, v, v, v);
label:
v = <org.jvnet.hk.internal.MethodInterceptorHandler: boolean DEBUG_INTERCEPTION>;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <org.glassfish.hk.utilities.reflection.Logger: org.glassfish.hk.utilities.reflection.Logger getLogger()>();
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.reflect.Method,long)>(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[])>("Time to call actual intercepted method \u is \u milliseconds");
virtualinvoke v.<org.glassfish.hk.utilities.reflection.Logger: void debug(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.jvnet.hk.internal.MethodInterceptorHandler: boolean DEBUG_INTERCEPTION>;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <org.glassfish.hk.utilities.reflection.Logger: org.glassfish.hk.utilities.reflection.Logger getLogger()>();
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.reflect.Method,long)>(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[])>("Time to call actual intercepted method \u is \u milliseconds");
virtualinvoke v.<org.glassfish.hk.utilities.reflection.Logger: void debug(java.lang.String)>(v);
label:
throw v;
label:
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.List interceptors>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = 0L;
v = <org.jvnet.hk.internal.MethodInterceptorHandler: boolean DEBUG_INTERCEPTION>;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = staticinvoke <org.glassfish.hk.utilities.reflection.Logger: org.glassfish.hk.utilities.reflection.Logger getLogger()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.List interceptors>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,int,java.lang.reflect.Method)>(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[])>("Invoking interceptor \u index \u in stack of \u of method \u0001");
virtualinvoke v.<org.glassfish.hk.utilities.reflection.Logger: void debug(java.lang.String)>(v);
label:
v = new org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: org.jvnet.hk.internal.MethodInterceptorHandler this$0>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object[] arguments>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method method>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.Object myself>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.List interceptors>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.lang.reflect.Method proceed>;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData>;
specialinvoke v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: void <init>(org.jvnet.hk.internal.MethodInterceptorHandler,java.lang.Object[],java.lang.reflect.Method,java.lang.Object,java.util.List,int,java.lang.reflect.Method,java.util.HashMap)>(v, v, v, v, v, v, v, v);
v = interfaceinvoke v.<org.aopalliance.intercept.MethodInterceptor: java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation)>(v);
label:
v = <org.jvnet.hk.internal.MethodInterceptorHandler: boolean DEBUG_INTERCEPTION>;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <org.glassfish.hk.utilities.reflection.Logger: org.glassfish.hk.utilities.reflection.Logger getLogger()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,long)>(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[])>("Interceptor \u index \u took an aggregate of \u milliseconds");
virtualinvoke v.<org.glassfish.hk.utilities.reflection.Logger: void debug(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.jvnet.hk.internal.MethodInterceptorHandler: boolean DEBUG_INTERCEPTION>;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <org.glassfish.hk.utilities.reflection.Logger: org.glassfish.hk.utilities.reflection.Logger getLogger()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,long)>(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[])>("Interceptor \u index \u took an aggregate of \u milliseconds");
virtualinvoke v.<org.glassfish.hk.utilities.reflection.Logger: void debug(java.lang.String)>(v);
label:
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void setUserData(java.lang.String, java.lang.Object)
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.util.HashMap v, v, v, v;
java.lang.IllegalArgumentException v;
java.lang.Object v;
java.lang.String v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData>;
if v != null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData> = v;
label:
if v != null goto label;
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData>;
virtualinvoke v.<java.util.HashMap: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData>;
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public java.lang.Object getUserData(java.lang.String)
{
org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl v;
java.lang.Object v;
java.util.HashMap v, v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @this: org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl;
v := @parameter: java.lang.String;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData>;
if v != null goto label;
return null;
label:
v = v.<org.jvnet.hk.internal.MethodInterceptorHandler$MethodInvocationImpl: java.util.HashMap userData>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
}