public class org.glassfish.hk.utilities.DuplicatePostProcessor extends java.lang.Object implements org.glassfish.hk.api.PopulatorPostProcessor
{
private final org.glassfish.hk.utilities.DuplicatePostProcessorMode mode;
private final java.util.HashSet strictDupSet;
private final java.util.HashSet implOnlyDupSet;
public void <init>()
{
org.glassfish.hk.utilities.DuplicatePostProcessorMode v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v = <org.glassfish.hk.utilities.DuplicatePostProcessorMode: org.glassfish.hk.utilities.DuplicatePostProcessorMode STRICT>;
specialinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessor: void <init>(org.glassfish.hk.utilities.DuplicatePostProcessorMode)>(v);
return;
}
public void <init>(org.glassfish.hk.utilities.DuplicatePostProcessorMode)
{
java.util.HashSet v, v;
org.glassfish.hk.utilities.DuplicatePostProcessorMode v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v := @parameter: org.glassfish.hk.utilities.DuplicatePostProcessorMode;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.glassfish.hk.utilities.DuplicatePostProcessor: java.util.HashSet strictDupSet> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.glassfish.hk.utilities.DuplicatePostProcessor: java.util.HashSet implOnlyDupSet> = v;
v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DuplicatePostProcessorMode mode> = v;
return;
}
public org.glassfish.hk.utilities.DuplicatePostProcessorMode getMode()
{
org.glassfish.hk.utilities.DuplicatePostProcessorMode v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DuplicatePostProcessorMode mode>;
return v;
}
public org.glassfish.hk.utilities.DescriptorImpl process(org.glassfish.hk.api.ServiceLocator, org.glassfish.hk.utilities.DescriptorImpl)
{
java.lang.AssertionError v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
int[] v;
int v, v;
java.lang.String v;
org.glassfish.hk.api.ServiceLocator v;
org.glassfish.hk.utilities.DescriptorImpl v, v, v;
org.glassfish.hk.utilities.DuplicatePostProcessorMode v, v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
v := @parameter: org.glassfish.hk.utilities.DescriptorImpl;
v = <org.glassfish.hk.utilities.DuplicatePostProcessor$3: int[] $SwitchMap$org$glassfish$hk2$utilities$DuplicatePostProcessorMode>;
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DuplicatePostProcessorMode mode>;
v = virtualinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessorMode: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = specialinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DescriptorImpl strict(org.glassfish.hk.api.ServiceLocator,org.glassfish.hk.utilities.DescriptorImpl)>(v, v);
return v;
label:
v = specialinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DescriptorImpl implementationOnly(org.glassfish.hk.api.ServiceLocator,org.glassfish.hk.utilities.DescriptorImpl)>(v, v);
return v;
label:
v = new java.lang.AssertionError;
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DuplicatePostProcessorMode mode>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.glassfish.hk.utilities.DuplicatePostProcessorMode)>(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[])>("UnkownMode: \u0001");
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
}
private org.glassfish.hk.utilities.DescriptorImpl implementationOnly(org.glassfish.hk.api.ServiceLocator, org.glassfish.hk.utilities.DescriptorImpl)
{
org.glassfish.hk.utilities.DuplicatePostProcessor$ImplOnlyKey v;
org.glassfish.hk.utilities.DuplicatePostProcessor$1 v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
java.util.HashSet v, v;
org.glassfish.hk.api.ActiveDescriptor v;
java.lang.String v;
org.glassfish.hk.api.ServiceLocator v;
org.glassfish.hk.utilities.DescriptorImpl v;
boolean v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
v := @parameter: org.glassfish.hk.utilities.DescriptorImpl;
v = virtualinvoke v.<org.glassfish.hk.utilities.DescriptorImpl: java.lang.String getImplementation()>();
if v != null goto label;
return v;
label:
v = new org.glassfish.hk.utilities.DuplicatePostProcessor$ImplOnlyKey;
specialinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessor$ImplOnlyKey: void <init>(org.glassfish.hk.api.Descriptor)>(v);
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: java.util.HashSet implOnlyDupSet>;
v = virtualinvoke v.<java.util.HashSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return null;
label:
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: java.util.HashSet implOnlyDupSet>;
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
v = new org.glassfish.hk.utilities.DuplicatePostProcessor$1;
specialinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessor$1: void <init>(org.glassfish.hk.utilities.DuplicatePostProcessor,java.lang.String,org.glassfish.hk.utilities.DescriptorImpl)>(v, v, v);
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: org.glassfish.hk.api.ActiveDescriptor getBestDescriptor(org.glassfish.hk.api.Filter)>(v);
if v == null goto label;
return null;
label:
return v;
}
private org.glassfish.hk.utilities.DescriptorImpl strict(org.glassfish.hk.api.ServiceLocator, org.glassfish.hk.utilities.DescriptorImpl)
{
java.util.HashSet v, v;
org.glassfish.hk.api.ActiveDescriptor v;
java.lang.String v, v, v;
org.glassfish.hk.utilities.DescriptorImpl v;
boolean v, v, v;
org.glassfish.hk.utilities.DuplicatePostProcessor$2 v;
java.util.Iterator v;
java.util.Set v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
java.lang.Object v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
v := @parameter: org.glassfish.hk.utilities.DescriptorImpl;
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: java.util.HashSet strictDupSet>;
v = virtualinvoke v.<java.util.HashSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return null;
label:
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: java.util.HashSet strictDupSet>;
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.glassfish.hk.utilities.DescriptorImpl: java.util.Set getAdvertisedContracts()>();
v = null;
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 = virtualinvoke v.<org.glassfish.hk.utilities.DescriptorImpl: java.lang.String getImplementation()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v;
goto label;
label:
v = virtualinvoke v.<org.glassfish.hk.utilities.DescriptorImpl: java.lang.String getName()>();
v = new org.glassfish.hk.utilities.DuplicatePostProcessor$2;
specialinvoke v.<org.glassfish.hk.utilities.DuplicatePostProcessor$2: void <init>(org.glassfish.hk.utilities.DuplicatePostProcessor,org.glassfish.hk.utilities.DescriptorImpl,java.lang.String,java.lang.String)>(v, v, v, v);
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: org.glassfish.hk.api.ActiveDescriptor getBestDescriptor(org.glassfish.hk.api.Filter)>(v);
if v == null goto label;
return null;
label:
return v;
}
public java.lang.String toString()
{
int v;
java.lang.String v;
org.glassfish.hk.utilities.DuplicatePostProcessorMode v;
org.glassfish.hk.utilities.DuplicatePostProcessor v;
v := @this: org.glassfish.hk.utilities.DuplicatePostProcessor;
v = v.<org.glassfish.hk.utilities.DuplicatePostProcessor: org.glassfish.hk.utilities.DuplicatePostProcessorMode mode>;
v = staticinvoke <java.lang.System: int identityHashCode(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.glassfish.hk.utilities.DuplicatePostProcessorMode,int)>(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[])>("DuplicateCodeProcessor(\u,\u)");
return v;
}
}