public final class oadd.com.google.common.primitives.UnsignedBytes extends java.lang.Object
{
public static final byte MAX_POWER_OF_TWO;
public static final byte MAX_VALUE;
private static final int UNSIGNED_MASK;
private void <init>()
{
oadd.com.google.common.primitives.UnsignedBytes v;
v := @this: oadd.com.google.common.primitives.UnsignedBytes;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static int toInt(byte)
{
short v;
byte v;
v := @parameter: byte;
v = v & 255;
return v;
}
public static byte checkedCast(long)
{
byte v;
int v;
long v, v;
boolean v;
v := @parameter: long;
v = v >> 8;
v = v cmp 0L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,long)>(v, "out of range: %s", v);
return v;
}
public static byte saturatedCast(long)
{
byte v, v;
int v, v;
long v;
v := @parameter: long;
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(-1);
v = v cmp v;
if v <= 0 goto label;
return -1;
label:
v = v cmp 0L;
if v >= 0 goto label;
return 0;
label:
return v;
}
public static int compare(byte, byte)
{
byte v, v;
int v, v, v;
v := @parameter: byte;
v := @parameter: byte;
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
v = v - v;
return v;
}
public static transient byte min(byte[])
{
byte[] v;
byte v, v;
int v, v, v, v, v;
boolean v;
v := @parameter: byte[];
v = lengthof v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v = v[0];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
if v >= v goto label;
v = v;
label:
v = v + 1;
goto label;
label:
return v;
}
public static transient byte max(byte[])
{
byte[] v;
byte v, v;
int v, v, v, v, v;
boolean v;
v := @parameter: byte[];
v = lengthof v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v = v[0];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
if v <= v goto label;
v = v;
label:
v = v + 1;
goto label;
label:
return v;
}
public static java.lang.String toString(byte)
{
java.lang.String v;
byte v;
v := @parameter: byte;
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: java.lang.String toString(byte,int)>(v, 10);
return v;
}
public static java.lang.String toString(byte, int)
{
byte v;
int v, v;
java.lang.String v;
boolean v;
v := @parameter: byte;
v := @parameter: int;
if v < 2 goto label;
if v > 36 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,int)>(v, "radix (%s) must be between Character.MIN_RADIX and Character.MAX_RADIX", v);
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
v = staticinvoke <java.lang.Integer: java.lang.String toString(int,int)>(v, v);
return v;
}
public static byte parseUnsignedByte(java.lang.String)
{
java.lang.String v;
byte v;
v := @parameter: java.lang.String;
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: byte parseUnsignedByte(java.lang.String,int)>(v, 10);
return v;
}
public static byte parseUnsignedByte(java.lang.String, int)
{
java.lang.NumberFormatException v;
int v, v, v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, v);
v = v >> 8;
if v != 0 goto label;
return v;
label:
v = new java.lang.NumberFormatException;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(25);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("out of range: \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
}
public static transient java.lang.String join(java.lang.String, byte[])
{
byte[] v;
byte v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
java.lang.StringBuilder v, v;
v := @parameter: java.lang.String;
v := @parameter: byte[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
if v != 0 goto label;
return "";
label:
v = new java.lang.StringBuilder;
v = lengthof v;
v = virtualinvoke v.<java.lang.String: int length()>();
v = 3 + v;
v = v * v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = v[0];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: int toInt(byte)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v[v];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: java.lang.String toString(byte)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.util.Comparator lexicographicalComparator()
{
java.util.Comparator v;
v = <oadd.com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder: java.util.Comparator BEST_COMPARATOR>;
return v;
}
static java.util.Comparator lexicographicalComparatorJavaImpl()
{
oadd.com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator v;
v = <oadd.com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator: oadd.com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator INSTANCE>;
return v;
}
private static byte flip(byte)
{
short v;
byte v;
v := @parameter: byte;
v = v ^ 128;
return v;
}
public static void sort(byte[])
{
int v;
byte[] v;
v := @parameter: byte[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: void sort(byte[],int,int)>(v, 0, v);
return;
}
public static void sort(byte[], int, int)
{
byte[] v;
byte v, v, v, v;
int v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.base.Preconditions: void checkPositionIndexes(int,int,int)>(v, v, v);
v = v;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: byte flip(byte)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
staticinvoke <java.util.Arrays: void sort(byte[],int,int)>(v, v, v);
v = v;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: byte flip(byte)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
public static void sortDescending(byte[])
{
int v;
byte[] v;
v := @parameter: byte[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.primitives.UnsignedBytes: void sortDescending(byte[],int,int)>(v, 0, v);
return;
}
public static void sortDescending(byte[], int, int)
{
byte[] v;
byte v, v, v, v;
int v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.base.Preconditions: void checkPositionIndexes(int,int,int)>(v, v, v);
v = v;
label:
if v >= v goto label;
v = v[v];
v = v ^ 127;
v[v] = v;
v = v + 1;
goto label;
label:
staticinvoke <java.util.Arrays: void sort(byte[],int,int)>(v, v, v);
v = v;
label:
if v >= v goto label;
v = v[v];
v = v ^ 127;
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
}