public final class com.fasterxml.jackson.core.io.NumberInput extends java.lang.Object
{
private static final int LARGE_INT_SIZE;
public static final java.lang.String NASTY_SMALL_DOUBLE;
static final long L_BILLION;
static final java.lang.String MIN_LONG_STR_NO_SIGN;
static final java.lang.String MAX_LONG_STR;
public void <init>()
{
com.fasterxml.jackson.core.io.NumberInput v;
v := @this: com.fasterxml.jackson.core.io.NumberInput;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static int parseInt(char[], int, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v, v, v, v, v, v, v;
char[] v;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
if v <= 0 goto label;
v = v[v];
if v != 43 goto label;
v = v + 1;
v = v - 1;
label:
v = v + v;
v = v - 1;
v = v[v];
v = v - 48;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
default: goto label;
};
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 100000000;
v = v + v;
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 10000000;
v = v + v;
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 1000000;
v = v + v;
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 100000;
v = v + v;
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 10000;
v = v + v;
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 1000;
v = v + v;
label:
v = v;
v = v + 1;
v = v[v];
v = v - 48;
v = v * 100;
v = v + v;
label:
v = v[v];
v = v - 48;
v = v * 10;
v = v + v;
label:
return v;
}
public static int parseInt(java.lang.String)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
char v, v, v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 45 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = 1;
if v == 0 goto label;
if v == 1 goto label;
if v <= 10 goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
v = 2;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(1);
goto label;
label:
if v <= 9 goto label;
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
if v > 57 goto label;
if v >= 48 goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
v = v - 48;
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v > 57 goto label;
if v >= 48 goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
v = v * 10;
v = v - 48;
v = v + v;
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v > 57 goto label;
if v >= 48 goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
v = v * 10;
v = v - 48;
v = v + v;
if v >= v goto label;
label:
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v > 57 goto label;
if v >= 48 goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
v = v * 10;
v = v - 48;
v = v + v;
if v < v goto label;
label:
if v == 0 goto label;
v = neg v;
goto label;
label:
v = v;
label:
return v;
}
public static long parseLong(char[], int, int)
{
long v, v;
int v, v, v, v, v, v;
char[] v;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
v = v - 9;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: int parseInt(char[],int,int)>(v, v, v);
v = v * 1000000000L;
v = v + v;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: int parseInt(char[],int,int)>(v, v, 9);
v = v + v;
return v;
}
public static long parseLong(java.lang.String)
{
int v, v;
long v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v > 9 goto label;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: int parseInt(java.lang.String)>(v);
return v;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
return v;
}
public static boolean inLongRange(char[], int, int, boolean)
{
char v, v;
int v, v, v, v, v, v;
char[] v;
java.lang.String v, v;
boolean v, v;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
if v == 0 goto label;
v = <com.fasterxml.jackson.core.io.NumberInput: java.lang.String MIN_LONG_STR_NO_SIGN>;
goto label;
label:
v = <com.fasterxml.jackson.core.io.NumberInput: java.lang.String MAX_LONG_STR>;
label:
v = v;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
return 1;
label:
if v <= v goto label;
return 0;
label:
v = 0;
label:
if v >= v goto label;
v = v + v;
v = v[v];
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v - v;
if v == 0 goto label;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean inLongRange(java.lang.String, boolean)
{
char v, v;
int v, v, v, v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == 0 goto label;
v = <com.fasterxml.jackson.core.io.NumberInput: java.lang.String MIN_LONG_STR_NO_SIGN>;
goto label;
label:
v = <com.fasterxml.jackson.core.io.NumberInput: java.lang.String MAX_LONG_STR>;
label:
v = v;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
return 1;
label:
if v <= v goto label;
return 0;
label:
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v - v;
if v == 0 goto label;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static int parseAsInt(java.lang.String, int)
{
char v, v;
java.lang.NumberFormatException v, v;
int v, v, v, v;
java.lang.String v, v;
double v;
v := @parameter: java.lang.String;
v := @parameter: int;
if v != null goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
return v;
label:
v = 0;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 43 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
v = virtualinvoke v.<java.lang.String: int length()>();
goto label;
label:
if v != 45 goto label;
v = 1;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v > 57 goto label;
if v >= 48 goto label;
label:
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: double parseDouble(java.lang.String,boolean)>(v, 1);
label:
return v;
label:
v := @caughtexception;
return v;
label:
v = v + 1;
goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
return v;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
}
public static long parseAsLong(java.lang.String, long)
{
char v, v;
java.lang.NumberFormatException v, v;
long v, v;
int v, v;
java.lang.String v, v;
double v;
v := @parameter: java.lang.String;
v := @parameter: long;
if v != null goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
return v;
label:
v = 0;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 43 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
v = virtualinvoke v.<java.lang.String: int length()>();
goto label;
label:
if v != 45 goto label;
v = 1;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v > 57 goto label;
if v >= 48 goto label;
label:
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: double parseDouble(java.lang.String,boolean)>(v, 1);
label:
return v;
label:
v := @caughtexception;
return v;
label:
v = v + 1;
goto label;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
return v;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
}
public static double parseAsDouble(java.lang.String, double)
{
java.lang.String v;
double v, v;
v := @parameter: java.lang.String;
v := @parameter: double;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: double parseAsDouble(java.lang.String,double,boolean)>(v, v, 0);
return v;
}
public static double parseAsDouble(java.lang.String, double, boolean)
{
int v;
java.lang.NumberFormatException v;
java.lang.String v, v;
boolean v;
double v, v;
v := @parameter: java.lang.String;
v := @parameter: double;
v := @parameter: boolean;
if v != null goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
return v;
label:
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: double parseDouble(java.lang.String,boolean)>(v, v);
label:
return v;
label:
v := @caughtexception;
return v;
catch java.lang.NumberFormatException from label to label with label;
}
public static double parseDouble(java.lang.String) throws java.lang.NumberFormatException
{
java.lang.String v;
double v;
v := @parameter: java.lang.String;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: double parseDouble(java.lang.String,boolean)>(v, 0);
return v;
}
public static double parseDouble(java.lang.String, boolean) throws java.lang.NumberFormatException
{
java.lang.String v;
boolean v;
double v;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == 0 goto label;
v = staticinvoke <com.fasterxml.jackson.core.io.doubleparser.FastDoubleParser: double parseDouble(java.lang.CharSequence)>(v);
goto label;
label:
v = staticinvoke <java.lang.Double: double parseDouble(java.lang.String)>(v);
label:
return v;
}
public static float parseFloat(java.lang.String) throws java.lang.NumberFormatException
{
float v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: float parseFloat(java.lang.String,boolean)>(v, 0);
return v;
}
public static float parseFloat(java.lang.String, boolean) throws java.lang.NumberFormatException
{
float v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == 0 goto label;
v = staticinvoke <com.fasterxml.jackson.core.io.doubleparser.FastFloatParser: float parseFloat(java.lang.CharSequence)>(v);
goto label;
label:
v = staticinvoke <java.lang.Float: float parseFloat(java.lang.String)>(v);
label:
return v;
}
public static java.math.BigDecimal parseBigDecimal(java.lang.String) throws java.lang.NumberFormatException
{
java.math.BigDecimal v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <com.fasterxml.jackson.core.io.BigDecimalParser: java.math.BigDecimal parse(java.lang.String)>(v);
return v;
}
public static java.math.BigDecimal parseBigDecimal(char[], int, int) throws java.lang.NumberFormatException
{
java.math.BigDecimal v;
int v, v;
char[] v;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <com.fasterxml.jackson.core.io.BigDecimalParser: java.math.BigDecimal parse(char[],int,int)>(v, v, v);
return v;
}
public static java.math.BigDecimal parseBigDecimal(char[]) throws java.lang.NumberFormatException
{
char[] v;
java.math.BigDecimal v;
v := @parameter: char[];
v = staticinvoke <com.fasterxml.jackson.core.io.BigDecimalParser: java.math.BigDecimal parse(char[])>(v);
return v;
}
public static java.math.BigInteger parseBigInteger(java.lang.String) throws java.lang.NumberFormatException
{
java.math.BigDecimal v;
int v;
java.math.BigInteger v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 1250 goto label;
v = staticinvoke <com.fasterxml.jackson.core.io.BigDecimalParser: java.math.BigDecimal parse(java.lang.String)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigInteger toBigInteger()>();
return v;
label:
v = new java.math.BigInteger;
specialinvoke v.<java.math.BigInteger: void <init>(java.lang.String)>(v);
return v;
}
static void <clinit>()
{
java.lang.String v, v, v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(-9223372036854775808L);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
<com.fasterxml.jackson.core.io.NumberInput: java.lang.String MIN_LONG_STR_NO_SIGN> = v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(9223372036854775807L);
<com.fasterxml.jackson.core.io.NumberInput: java.lang.String MAX_LONG_STR> = v;
return;
}
}