class org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder extends org.glassfish.hk.utilities.binding.AbstractBindingBuilder
{
private final java.lang.Class service;
public void <init>(java.lang.Class, java.lang.reflect.Type)
{
java.lang.reflect.Type v;
java.util.Set v;
java.lang.Class v;
org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder v;
v := @this: org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.reflect.Type;
specialinvoke v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder: void <init>()>();
v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Class service> = v;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder: java.util.Set contracts>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
return;
}
void complete(org.glassfish.hk.api.DynamicConfiguration, org.glassfish.hk.api.HK2Loader)
{
java.lang.Integer v, v;
org.glassfish.hk.api.HK2Loader v, v, v;
org.glassfish.hk.utilities.ActiveDescriptorBuilder v, v, v, v;
boolean v, v, v, v, v, v;
java.util.Set v, v, v;
java.util.List v;
java.lang.reflect.Type v, v;
org.glassfish.hk.utilities.AbstractActiveDescriptor v;
java.lang.'annotation'.Annotation v, v;
org.glassfish.hk.api.DynamicConfiguration v;
int v;
java.lang.Boolean v, v, v, v;
org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder v;
java.lang.String v, v;
org.jvnet.hk.component.MultiMap v, v;
java.util.Iterator v, v, v, v;
java.lang.Class v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder;
v := @parameter: org.glassfish.hk.api.DynamicConfiguration;
v := @parameter: org.glassfish.hk.api.HK2Loader;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: org.glassfish.hk.api.HK2Loader loader>;
if v != null goto label;
v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: org.glassfish.hk.api.HK2Loader loader> = v;
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Class service>;
v = staticinvoke <org.glassfish.hk.utilities.BuilderHelper: org.glassfish.hk.utilities.ActiveDescriptorBuilder activeLink(java.lang.Class)>(v);
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.String name>;
v = interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder named(java.lang.String)>(v);
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: org.glassfish.hk.api.HK2Loader loader>;
v = interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder andLoadWith(org.glassfish.hk.api.HK2Loader)>(v);
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.String analyzer>;
v = interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder analyzeWith(java.lang.String)>(v);
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.'annotation'.Annotation scopeAnnotation>;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.'annotation'.Annotation scopeAnnotation>;
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder in(java.lang.'annotation'.Annotation)>(v);
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Class scope>;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Class scope>;
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder in(java.lang.Class)>(v);
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Integer ranked>;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Integer ranked>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder ofRank(int)>(v);
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: org.jvnet.hk.component.MultiMap metadata>;
v = virtualinvoke v.<org.jvnet.hk.component.MultiMap: java.util.Set keySet()>();
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 = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: org.jvnet.hk.component.MultiMap metadata>;
v = virtualinvoke v.<org.jvnet.hk.component.MultiMap: java.util.List get(java.lang.Object)>(v);
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()>();
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder has(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.util.Set qualifiers>;
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()>();
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder qualifiedBy(java.lang.'annotation'.Annotation)>(v);
goto label;
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.util.Set contracts>;
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()>();
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder 'to'(java.lang.reflect.Type)>(v);
goto label;
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Boolean proxiable>;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Boolean proxiable>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder proxy(boolean)>(v);
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Boolean proxyForSameScope>;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.Boolean proxyForSameScope>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder proxyForSameScope(boolean)>(v);
label:
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.reflect.Type implementationType>;
if v == null goto label;
v = v.<org.glassfish.hk.utilities.binding.AbstractBindingBuilder$ClassBasedBindingBuilder: java.lang.reflect.Type implementationType>;
interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.ActiveDescriptorBuilder asType(java.lang.reflect.Type)>(v);
label:
v = interfaceinvoke v.<org.glassfish.hk.utilities.ActiveDescriptorBuilder: org.glassfish.hk.utilities.AbstractActiveDescriptor build()>();
interfaceinvoke v.<org.glassfish.hk.api.DynamicConfiguration: org.glassfish.hk.api.ActiveDescriptor bind(org.glassfish.hk.api.Descriptor,boolean)>(v, 0);
return;
}
}