public final class oadd.org.codehaus.commons.compiler.util.Numbers extends java.lang.Object
{
private static final int[] INT_LIMITS;
private static final long[] LONG_LIMITS;
private void <init>()
{
oadd.org.codehaus.commons.compiler.util.Numbers v;
v := @this: oadd.org.codehaus.commons.compiler.util.Numbers;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static int parseUnsignedInt(java.lang.String, int) throws java.lang.NumberFormatException
{
int[] v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
char v;
java.lang.NumberFormatException v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.NumberFormatException;
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>("null");
throw v;
label:
if v < 2 goto label;
if v <= 36 goto label;
label:
v = new java.lang.NumberFormatException;
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[])>("Invalid radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <oadd.org.codehaus.commons.compiler.util.Numbers: int[] INT_LIMITS>;
v = v[v];
v = 0;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
if v < 0 goto label;
if v == 2 goto label;
if v < v goto label;
label:
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("For input string \"\u0001\" and radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: int digit(char,int)>(v, v);
v = (int) -1;
if v != v goto label;
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("For input string \"\u0001\" and radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v * v;
v = v + v;
if v >= 0 goto label;
if v < 0 goto label;
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("For input string \"\u0001\" and radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return v;
}
public static long parseUnsignedLong(java.lang.String, int) throws java.lang.NumberFormatException
{
long v, v, v;
long[] v;
byte v, v, v, v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
char v;
java.lang.NumberFormatException v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.NumberFormatException;
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>("null");
throw v;
label:
if v < 2 goto label;
if v <= 36 goto label;
label:
v = new java.lang.NumberFormatException;
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[])>("Invalid radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <oadd.org.codehaus.commons.compiler.util.Numbers: long[] LONG_LIMITS>;
v = v[v];
v = 0L;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = v cmp 0L;
if v < 0 goto label;
if v == 2 goto label;
v = v cmp v;
if v < 0 goto label;
label:
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("For input string \"\u0001\" and radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: int digit(char,int)>(v, v);
v = (int) -1;
if v != v goto label;
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("For input string \"\u0001\" and radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v * v;
v = v + v;
v = v cmp 0L;
if v >= 0 goto label;
v = v cmp 0L;
if v < 0 goto label;
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("For input string \"\u0001\" and radix \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return v;
}
static void <clinit>()
{
long[] v;
int[] v;
v = newarray (int)[37];
v[0] = 0;
v[1] = 0;
v[2] = -2147483648;
v[3] = 1431655766;
v[4] = 1073741824;
v[5] = 858993460;
v[6] = 715827883;
v[7] = 613566757;
v[8] = 536870912;
v[9] = 477218589;
v[10] = 429496730;
v[11] = 390451573;
v[12] = 357913942;
v[13] = 330382100;
v[14] = 306783379;
v[15] = 286331154;
v[16] = 268435456;
v[17] = 252645136;
v[18] = 238609295;
v[19] = 226050911;
v[20] = 214748365;
v[21] = 204522253;
v[22] = 195225787;
v[23] = 186737709;
v[24] = 178956971;
v[25] = 171798692;
v[26] = 165191050;
v[27] = 159072863;
v[28] = 153391690;
v[29] = 148102321;
v[30] = 143165577;
v[31] = 138547333;
v[32] = 134217728;
v[33] = 130150525;
v[34] = 126322568;
v[35] = 122713352;
v[36] = 119304648;
<oadd.org.codehaus.commons.compiler.util.Numbers: int[] INT_LIMITS> = v;
v = newarray (long)[37];
v[0] = 0L;
v[1] = 0L;
v[2] = -9223372036854775808L;
v[3] = 6148914691236517206L;
v[4] = 4611686018427387904L;
v[5] = 3689348814741910324L;
v[6] = 3074457345618258603L;
v[7] = 2635249153387078803L;
v[8] = 2305843009213693952L;
v[9] = 2049638230412172402L;
v[10] = 1844674407370955162L;
v[11] = 1676976733973595602L;
v[12] = 1537228672809129302L;
v[13] = 1418980313362273202L;
v[14] = 1317624576693539402L;
v[15] = 1229782938247303442L;
v[16] = 1152921504606846976L;
v[17] = 1085102592571150096L;
v[18] = 1024819115206086201L;
v[19] = 970881267037344822L;
v[20] = 922337203685477581L;
v[21] = 878416384462359601L;
v[22] = 838488366986797801L;
v[23] = 802032351030850071L;
v[24] = 768614336404564651L;
v[25] = 737869762948382065L;
v[26] = 709490156681136601L;
v[27] = 683212743470724134L;
v[28] = 658812288346769701L;
v[29] = 636094623231363849L;
v[30] = 614891469123651721L;
v[31] = 595056260442243601L;
v[32] = 576460752303423488L;
v[33] = 558992244657865201L;
v[34] = 542551296285575048L;
v[35] = 527049830677415761L;
v[36] = 512409557603043101L;
<oadd.org.codehaus.commons.compiler.util.Numbers: long[] LONG_LIMITS> = v;
return;
}
}