public class org.apache.dubbo.common.utils.CollectionUtils extends java.lang.Object
{
private static final java.util.Comparator SIMPLE_NAME_COMPARATOR;
private void <init>()
{
org.apache.dubbo.common.utils.CollectionUtils v;
v := @this: org.apache.dubbo.common.utils.CollectionUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.util.List sort(java.util.List)
{
java.util.List v;
boolean v;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
staticinvoke <java.util.Collections: void sort(java.util.List)>(v);
label:
return v;
}
public static java.util.List sortSimpleName(java.util.List)
{
int v;
java.util.List v;
java.util.Comparator v;
v := @parameter: java.util.List;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = <org.apache.dubbo.common.utils.CollectionUtils: java.util.Comparator SIMPLE_NAME_COMPARATOR>;
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
label:
return v;
}
public static java.util.Map splitAll(java.util.Map, java.lang.String)
{
java.util.Iterator v;
java.util.Set v;
java.util.HashMap v;
java.util.Map v, v;
java.lang.Object v, v, v;
java.lang.String v;
boolean v;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: java.util.Map split(java.util.List,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
public static java.util.Map joinAll(java.util.Map, java.lang.String)
{
java.util.Iterator v;
java.util.Set v;
java.util.HashMap v;
java.util.List v;
java.util.Map v;
java.lang.Object v, v, v;
java.lang.String v;
boolean v;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: java.util.List join(java.util.Map,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
public static java.util.Map split(java.util.List, java.lang.String)
{
java.util.Iterator v;
java.util.HashMap v;
java.util.List v;
int v, v, v;
java.lang.Object v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
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()>();
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(v);
v = (int) -1;
if v != v goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "");
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
public static java.util.List join(java.util.Map, java.lang.String)
{
java.util.Iterator v;
java.util.Set v;
java.util.ArrayList v;
java.util.Map v;
int v;
java.lang.Object v, v, v;
java.lang.String v, v;
boolean v, v;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
if v != 0 goto label;
return v;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("\u0001\u0001\u0001");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
public static java.lang.String join(java.util.List, java.lang.String)
{
java.util.Iterator v;
java.util.List v;
int v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v, v;
boolean v;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
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()>();
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static boolean mapEquals(java.util.Map, java.util.Map)
{
java.util.Iterator v;
java.util.Set v;
java.util.Map v, v;
int v, v;
java.lang.Object v, v, v, v;
boolean v, v;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
if v != null goto label;
if v != null goto label;
return 1;
label:
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = interfaceinvoke v.<java.util.Map: int size()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
if v == v goto label;
return 0;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean objectEquals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
return 1;
}
private static boolean objectEquals(java.lang.Object, java.lang.Object)
{
java.lang.Object v, v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v != null goto label;
if v != null goto label;
return 1;
label:
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
}
public static transient java.util.Map toStringMap(java.lang.String[])
{
java.lang.String[] v;
java.util.HashMap v;
java.lang.IllegalArgumentException v;
int v, v, v, v, v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String[];
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <org.apache.dubbo.common.utils.ArrayUtils: boolean isEmpty(java.lang.Object[])>(v);
if v == 0 goto label;
return v;
label:
v = lengthof v;
if v <= 0 goto label;
v = lengthof v;
v = v % 2;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("pairs must be even.");
throw v;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v + 1;
v = v[v];
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 2;
goto label;
label:
return v;
}
public static transient java.util.Map toMap(java.lang.Object[])
{
java.lang.Object[] v;
java.util.HashMap v;
java.lang.IllegalArgumentException v;
int v, v, v, v, v, v, v, v, v;
java.lang.Object v, v;
v := @parameter: java.lang.Object[];
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
return v;
label:
v = lengthof v;
v = v % 2;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Map pairs can not be odd number.");
throw v;
label:
v = lengthof v;
v = v / 2;
v = 0;
label:
if v >= v goto label;
v = 2 * v;
v = v[v];
v = 2 * v;
v = v + 1;
v = v[v];
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
return v;
}
public static boolean isEmpty(java.util.Collection)
{
boolean v, v;
java.util.Collection v;
v := @parameter: java.util.Collection;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isNotEmpty(java.util.Collection)
{
boolean v, v;
java.util.Collection v;
v := @parameter: java.util.Collection;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isEmptyMap(java.util.Map)
{
int v;
boolean v;
java.util.Map v;
v := @parameter: java.util.Map;
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: int size()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isNotEmptyMap(java.util.Map)
{
boolean v, v;
java.util.Map v;
v := @parameter: java.util.Map;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmptyMap(java.util.Map)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static transient java.util.Set ofSet(java.lang.Object[])
{
java.lang.Object[] v;
java.util.Set v, v;
byte v;
int v, v, v, v;
float v, v;
java.lang.Object v;
java.util.LinkedHashSet v;
v := @parameter: java.lang.Object[];
if v != null goto label;
v = 0;
goto label;
label:
v = lengthof v;
label:
v = v;
if v >= 1 goto label;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
label:
v = v + 1;
v = v * 1.0F;
v = 1.0F / v;
v = v cmpl 0.75F;
if v <= 0 goto label;
v = 0.75F;
label:
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>(int,float)>(v, v);
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
public static int size(java.util.Collection)
{
int v;
java.util.Collection v;
v := @parameter: java.util.Collection;
if v != null goto label;
v = 0;
goto label;
label:
v = interfaceinvoke v.<java.util.Collection: int size()>();
label:
return v;
}
public static boolean equals(java.util.Collection, java.util.Collection)
{
java.util.Collection v, v;
java.lang.RuntimeException v;
int v, v;
boolean v, v, v;
v := @parameter: java.util.Collection;
v := @parameter: java.util.Collection;
if v != v goto label;
return 1;
label:
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return 1;
label:
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: int size(java.util.Collection)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: int size(java.util.Collection)>(v);
if v == v goto label;
return 0;
label:
v = interfaceinvoke v.<java.util.Collection: boolean containsAll(java.util.Collection)>(v);
label:
return v;
label:
v := @caughtexception;
return 0;
catch java.lang.ClassCastException from label to label with label;
catch java.lang.NullPointerException from label to label with label;
}
public static transient int addAll(java.util.Collection, java.lang.Object[])
{
java.lang.Object[] v;
java.util.Collection v;
int v, v, v, v;
java.lang.Object v;
boolean v;
v := @parameter: java.util.Collection;
v := @parameter: java.lang.Object[];
if v != null goto label;
v = 0;
goto label;
label:
v = lengthof v;
label:
v = v;
if v == null goto label;
if v >= 1 goto label;
label:
return 0;
label:
v = 0;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
if v == 0 goto label;
v = v + 1;
label:
v = v + 1;
goto label;
label:
return v;
}
public static java.lang.Object first(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
java.lang.Object v, v;
boolean v, v;
v := @parameter: java.util.Collection;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return null;
label:
v = v instanceof java.util.List;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
label:
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
return v;
}
static void <clinit>()
{
java.util.Comparator v;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils$lambda_static_0__231: java.util.Comparator bootstrap$()>();
<org.apache.dubbo.common.utils.CollectionUtils: java.util.Comparator SIMPLE_NAME_COMPARATOR> = v;
return;
}
}