public class org.jvnet.hk.config.InjectionManager$InjectMethods extends java.lang.Object implements java.lang.Runnable
{
private final org.jvnet.hk.config.InjectionManager$InjectClass iClass;
final org.jvnet.hk.config.InjectionManager this$0;
public void <init>(org.jvnet.hk.config.InjectionManager, org.jvnet.hk.config.InjectionManager$InjectClass)
{
org.jvnet.hk.config.InjectionManager v;
org.jvnet.hk.config.InjectionManager$InjectClass v;
org.jvnet.hk.config.InjectionManager$InjectMethods v;
v := @this: org.jvnet.hk.config.InjectionManager$InjectMethods;
v := @parameter: org.jvnet.hk.config.InjectionManager;
v := @parameter: org.jvnet.hk.config.InjectionManager$InjectClass;
v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager$InjectClass iClass> = v;
return;
}
public void run()
{
org.jvnet.hk.config.InjectionManager$InjectMethods v;
org.jvnet.hk.config.InjectionManager$InjectContext v, v;
org.jvnet.hk.config.InjectionResolver v;
java.lang.reflect.Method[] v;
java.util.ArrayList v;
org.jvnet.hk.config.InjectionResolver[] v;
org.jvnet.hk.config.InjectionManager v;
org.jvnet.hk.config.InjectionManager$InjectClass v, v, v, v;
int v, v, v, v, v;
org.jvnet.hk.config.WorkManager v;
java.lang.reflect.Method v;
java.util.concurrent.ExecutorService v;
org.jvnet.hk.config.InjectionManager$InjectMethod v;
java.lang.'annotation'.Annotation v;
java.lang.Class v, v;
v := @this: org.jvnet.hk.config.InjectionManager$InjectMethods;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager$InjectClass iClass>;
v = v.<org.jvnet.hk.config.InjectionManager$InjectClass: java.lang.Class classType>;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getDeclaredMethods()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager$InjectClass iClass>;
v = v.<org.jvnet.hk.config.InjectionManager$InjectClass: org.jvnet.hk.config.InjectionManager$InjectContext ic>;
v = v.<org.jvnet.hk.config.InjectionManager$InjectContext: org.jvnet.hk.config.InjectionResolver[] targets>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v.<org.jvnet.hk.config.InjectionResolver: java.lang.Class type>;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
if v == null goto label;
v = new org.jvnet.hk.config.InjectionManager$InjectMethod;
v = v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager this$0>;
v = v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager$InjectClass iClass>;
specialinvoke v.<org.jvnet.hk.config.InjectionManager$InjectMethod: void <init>(org.jvnet.hk.config.InjectionManager,org.jvnet.hk.config.InjectionManager$InjectClass,java.lang.reflect.Method,java.lang.'annotation'.Annotation,org.jvnet.hk.config.InjectionResolver)>(v, v, v, v, v);
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = new org.jvnet.hk.config.WorkManager;
v = v.<org.jvnet.hk.config.InjectionManager$InjectMethods: org.jvnet.hk.config.InjectionManager$InjectClass iClass>;
v = v.<org.jvnet.hk.config.InjectionManager$InjectClass: org.jvnet.hk.config.InjectionManager$InjectContext ic>;
v = v.<org.jvnet.hk.config.InjectionManager$InjectContext: java.util.concurrent.ExecutorService es>;
v = virtualinvoke v.<java.util.ArrayList: int size()>();
specialinvoke v.<org.jvnet.hk.config.WorkManager: void <init>(java.util.concurrent.Executor,int)>(v, v);
virtualinvoke v.<org.jvnet.hk.config.WorkManager: void executeAll(java.util.Collection)>(v);
virtualinvoke v.<org.jvnet.hk.config.WorkManager: void awaitCompletion()>();
return;
}
}