public class org.apache.commons.lang.EnumUtils extends java.lang.Object
{
private static final java.lang.String CANNOT_STORE_S_S_VALUES_IN_S_BITS;
private static final java.lang.String ENUM_CLASS_MUST_BE_DEFINED;
private static final java.lang.String NULL_ELEMENTS_NOT_PERMITTED;
private static final java.lang.String S_DOES_NOT_SEEM_TO_BE_AN_ENUM_TYPE;
private static java.lang.Class asEnum(java.lang.Class)
{
java.lang.Class v;
java.lang.Object[] v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "EnumClass must be defined.");
v = virtualinvoke v.<java.lang.Class: boolean isEnum()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <org.apache.commons.lang.Validate: void isTrue(boolean,java.lang.String,java.lang.Object[])>(v, "%s does not seem to be an Enum type", v);
return v;
}
private static java.lang.Class checkBitVectorable(java.lang.Class)
{
java.lang.Object[] v, v;
java.lang.Integer v, v;
int v, v;
java.lang.Class v, v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.Class;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Class asEnum(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = lengthof v;
if v > 64 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[3];
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(64);
v[2] = v;
staticinvoke <org.apache.commons.lang.Validate: void isTrue(boolean,java.lang.String,java.lang.Object[])>(v, "Cannot store %s %s values in %s bits", v);
return v;
}
public static transient long generateBitVector(java.lang.Class, java.lang.Enum[])
{
java.util.List v;
java.lang.Enum[] v;
java.lang.Class v;
long v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Enum[];
staticinvoke <org.apache.commons.lang.Validate: java.lang.Object[] noNullElements(java.lang.Object[])>(v);
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = staticinvoke <org.apache.commons.lang.EnumUtils: long generateBitVector(java.lang.Class,java.lang.Iterable)>(v, v);
return v;
}
public static long generateBitVector(java.lang.Class, java.lang.Iterable)
{
java.util.Iterator v;
long v, v;
java.lang.Iterable v;
int v;
java.lang.Class v;
java.lang.Object v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Iterable;
staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Class checkBitVectorable(java.lang.Class)>(v);
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "values");
v = 0L;
v = interfaceinvoke v.<java.lang.Iterable: 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()>();
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "null elements not permitted");
v = virtualinvoke v.<java.lang.Enum: int ordinal()>();
v = 1L << v;
v = v | v;
goto label;
label:
return v;
}
public static transient long[] generateBitVectors(java.lang.Class, java.lang.Enum[])
{
java.lang.Object[] v;
long v, v, v;
long[] v;
int v, v, v, v, v, v, v, v;
java.util.EnumSet v;
boolean v;
java.util.Iterator v;
java.lang.Enum[] v;
java.lang.Class v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Enum[];
staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Class asEnum(java.lang.Class)>(v);
staticinvoke <org.apache.commons.lang.Validate: java.lang.Object[] noNullElements(java.lang.Object[])>(v);
v = staticinvoke <java.util.EnumSet: java.util.EnumSet noneOf(java.lang.Class)>(v);
staticinvoke <java.util.Collections: boolean addAll(java.util.Collection,java.lang.Object[])>(v, v);
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = lengthof v;
v = v - 1;
v = v / 64;
v = v + 1;
v = newarray (long)[v];
v = virtualinvoke v.<java.util.EnumSet: 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.Enum: int ordinal()>();
v = v / 64;
v = v[v];
v = virtualinvoke v.<java.lang.Enum: int ordinal()>();
v = v % 64;
v = 1L << v;
v = v | v;
v[v] = v;
goto label;
label:
staticinvoke <org.apache.commons.lang.ArrayUtils: void reverse(long[])>(v);
return v;
}
public static long[] generateBitVectors(java.lang.Class, java.lang.Iterable)
{
java.lang.Object[] v;
long v, v, v;
java.lang.Iterable v;
long[] v;
int v, v, v, v, v, v, v, v;
java.util.EnumSet v;
boolean v;
java.util.Iterator v;
java.util.function.Consumer v;
java.lang.Class v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Iterable;
staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Class asEnum(java.lang.Class)>(v);
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "values");
v = staticinvoke <java.util.EnumSet: java.util.EnumSet noneOf(java.lang.Class)>(v);
v = staticinvoke <org.apache.commons.lang.EnumUtils$lambda_generateBitVectors_0__160: java.util.function.Consumer bootstrap$(java.util.EnumSet)>(v);
interfaceinvoke v.<java.lang.Iterable: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = lengthof v;
v = v - 1;
v = v / 64;
v = v + 1;
v = newarray (long)[v];
v = virtualinvoke v.<java.util.EnumSet: 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.Enum: int ordinal()>();
v = v / 64;
v = v[v];
v = virtualinvoke v.<java.lang.Enum: int ordinal()>();
v = v % 64;
v = 1L << v;
v = v | v;
v[v] = v;
goto label;
label:
staticinvoke <org.apache.commons.lang.ArrayUtils: void reverse(long[])>(v);
return v;
}
public static java.lang.Enum getEnum(java.lang.Class, java.lang.String)
{
java.lang.Class v;
java.lang.String v;
java.lang.Enum v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Enum getEnum(java.lang.Class,java.lang.String,java.lang.Enum)>(v, v, null);
return v;
}
public static java.lang.Enum getEnum(java.lang.Class, java.lang.String, java.lang.Enum)
{
java.lang.Enum v, v;
java.lang.Class v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Enum;
if v != null goto label;
return v;
label:
v = staticinvoke <java.lang.Enum: java.lang.Enum valueOf(java.lang.Class,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
return v;
catch java.lang.IllegalArgumentException from label to label with label;
}
public static java.lang.Enum getEnumIgnoreCase(java.lang.Class, java.lang.String)
{
java.lang.Class v;
java.lang.String v;
java.lang.Enum v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Enum getEnumIgnoreCase(java.lang.Class,java.lang.String,java.lang.Enum)>(v, v, null);
return v;
}
public static java.lang.Enum getEnumIgnoreCase(java.lang.Class, java.lang.String, java.lang.Enum)
{
java.lang.Enum v, v;
java.lang.Class v;
java.lang.String v;
java.util.function.Function v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Enum;
v = staticinvoke <org.apache.commons.lang.EnumUtils$name__161: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Enum getFirstEnumIgnoreCase(java.lang.Class,java.lang.String,java.util.function.Function,java.lang.Enum)>(v, v, v, v);
return v;
}
public static java.util.List getEnumList(java.lang.Class)
{
java.util.List v;
java.lang.Object[] v;
java.lang.Class v;
java.util.ArrayList v;
v := @parameter: java.lang.Class;
v = new java.util.ArrayList;
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public static java.util.Map getEnumMap(java.lang.Class)
{
java.lang.Class v;
java.util.function.Function v;
java.util.Map v;
v := @parameter: java.lang.Class;
v = staticinvoke <org.apache.commons.lang.EnumUtils$name__162: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.util.Map getEnumMap(java.lang.Class,java.util.function.Function)>(v, v);
return v;
}
public static java.util.Map getEnumMap(java.lang.Class, java.util.function.Function)
{
java.lang.Object[] v;
java.util.function.Function v, v, v;
java.util.stream.Stream v;
java.lang.Class v;
java.lang.Object v;
java.util.stream.Collector v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Function;
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream of(java.lang.Object[])>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.lang.EnumUtils$apply__163: java.util.function.Function bootstrap$(java.util.function.Function)>(v);
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static java.lang.Enum getEnumSystemProperty(java.lang.Class, java.lang.String, java.lang.Enum)
{
java.lang.Enum v, v;
java.lang.Class v;
java.lang.String v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Enum;
if v == null goto label;
if v != null goto label;
label:
v = v;
goto label;
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>(v);
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Enum getEnum(java.lang.Class,java.lang.String,java.lang.Enum)>(v, v, v);
label:
return v;
}
public static java.lang.Enum getFirstEnumIgnoreCase(java.lang.Class, java.lang.String, java.util.function.Function, java.lang.Enum)
{
java.lang.Object[] v;
java.util.function.Predicate v;
java.util.function.Function v;
java.util.stream.Stream v, v;
java.lang.Enum v;
java.util.Optional v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Function;
v := @parameter: java.lang.Enum;
if v == null goto label;
v = virtualinvoke v.<java.lang.Class: boolean isEnum()>();
if v != 0 goto label;
label:
return v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream of(java.lang.Object[])>(v);
v = staticinvoke <org.apache.commons.lang.EnumUtils$lambda_getFirstEnumIgnoreCase_1__164: java.util.function.Predicate bootstrap$(java.lang.String,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
return v;
}
public static boolean isValidEnum(java.lang.Class, java.lang.String)
{
java.lang.Enum v;
java.lang.Class v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Enum getEnum(java.lang.Class,java.lang.String)>(v, v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isValidEnumIgnoreCase(java.lang.Class, java.lang.String)
{
java.lang.Enum v;
java.lang.Class v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Enum getEnumIgnoreCase(java.lang.Class,java.lang.String)>(v, v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.util.EnumSet processBitVector(java.lang.Class, long)
{
long[] v;
java.lang.Class v, v;
long v;
java.util.EnumSet v;
v := @parameter: java.lang.Class;
v := @parameter: long;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Class checkBitVectorable(java.lang.Class)>(v);
virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = newarray (long)[1];
v[0] = v;
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.util.EnumSet processBitVectors(java.lang.Class,long[])>(v, v);
return v;
}
public static transient java.util.EnumSet processBitVectors(java.lang.Class, long[])
{
java.lang.Object[] v;
long v, v, v;
long[] v, v;
byte v;
java.lang.Enum v;
int v, v, v, v, v, v, v;
java.util.EnumSet v;
java.lang.Class v, v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v := @parameter: long[];
v = staticinvoke <org.apache.commons.lang.EnumUtils: java.lang.Class asEnum(java.lang.Class)>(v);
v = staticinvoke <java.util.EnumSet: java.util.EnumSet noneOf(java.lang.Class)>(v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "values");
v = staticinvoke <org.apache.commons.lang.ArrayUtils: long[] clone(long[])>(v);
staticinvoke <org.apache.commons.lang.ArrayUtils: void reverse(long[])>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Object[] getEnumConstants()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.Enum: int ordinal()>();
v = v / 64;
v = lengthof v;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.Enum: int ordinal()>();
v = v % 64;
v = 1L << v;
v = v & v;
v = v cmp 0L;
if v == 0 goto label;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
return v;
}
public void <init>()
{
org.apache.commons.lang.EnumUtils v;
v := @this: org.apache.commons.lang.EnumUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
}