public class com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer extends com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer
{
public static final com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer instance;
public void <init>()
{
com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer v;
v := @this: com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer: void <init>(java.lang.Class)>(class "Ljava/lang/Number;");
return;
}
public final com.fasterxml.jackson.databind.type.LogicalType logicalType()
{
com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer v;
com.fasterxml.jackson.databind.type.LogicalType v;
v := @this: com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer;
v = <com.fasterxml.jackson.databind.type.LogicalType: com.fasterxml.jackson.databind.type.LogicalType Integer>;
return v;
}
public java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext) throws java.io.IOException
{
java.lang.Integer v;
com.fasterxml.jackson.databind.DeserializationFeature v, v, v, v;
java.math.BigDecimal v, v;
byte v, v;
java.lang.Long v;
java.math.BigInteger v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v;
java.lang.Double v, v, v, v;
com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer v;
long v;
com.fasterxml.jackson.databind.cfg.CoercionAction v, v, v;
int v, v;
com.fasterxml.jackson.databind.JavaType v;
java.lang.String v, v;
java.lang.Number v, v;
com.fasterxml.jackson.databind.DeserializationContext v;
com.fasterxml.jackson.core.JsonParser v;
java.lang.IllegalArgumentException v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer;
v := @parameter: com.fasterxml.jackson.core.JsonParser;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: int currentTokenId()>();
tableswitch(v)
{
case 1: goto label;
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;
default: goto label;
};
label:
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: java.lang.String getText()>();
goto label;
label:
v = <com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: int F_MASK_INT_COERCIONS>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: boolean hasSomeOfFeatures(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Object _coerceIntegral(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: java.lang.Number getNumberValue()>();
return v;
label:
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature USE_BIG_DECIMAL_FOR_FLOATS>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: boolean isEnabled(com.fasterxml.jackson.databind.DeserializationFeature)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: boolean isNaN()>();
if v != 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: java.math.BigDecimal getDecimalValue()>();
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: java.lang.Number getNumberValue()>();
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Class _valueClass>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.String extractScalarFromObject(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.JsonDeserializer,java.lang.Class)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Object _deserializeFromArray(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: com.fasterxml.jackson.databind.JavaType getValueType(com.fasterxml.jackson.databind.DeserializationContext)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleUnexpectedToken(com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.core.JsonParser)>(v, v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: com.fasterxml.jackson.databind.cfg.CoercionAction _checkFromStringCoercion(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String)>(v, v);
v = <com.fasterxml.jackson.databind.cfg.CoercionAction: com.fasterxml.jackson.databind.cfg.CoercionAction AsNull>;
if v != v goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Object getNullValue(com.fasterxml.jackson.databind.DeserializationContext)>(v);
return v;
label:
v = <com.fasterxml.jackson.databind.cfg.CoercionAction: com.fasterxml.jackson.databind.cfg.CoercionAction AsEmpty>;
if v != v goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Object getEmptyValue(com.fasterxml.jackson.databind.DeserializationContext)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: boolean _hasTextualNull(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Object getNullValue(com.fasterxml.jackson.databind.DeserializationContext)>(v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: boolean _isPosInf(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(#Infinity);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: boolean _isNegInf(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(#-Infinity);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: boolean _isNaN(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(#NaN);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: boolean _isIntNumber(java.lang.String)>(v);
if v != 0 goto label;
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature USE_BIG_DECIMAL_FOR_FLOATS>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: boolean isEnabled(com.fasterxml.jackson.databind.DeserializationFeature)>(v);
if v == 0 goto label;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String)>(v);
label:
return v;
label:
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(java.lang.String)>(v);
label:
return v;
label:
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature USE_BIG_INTEGER_FOR_INTS>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: boolean isEnabled(com.fasterxml.jackson.databind.DeserializationFeature)>(v);
if v == 0 goto label;
v = new java.math.BigInteger;
specialinvoke v.<java.math.BigInteger: void <init>(java.lang.String)>(v);
label:
return v;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature USE_LONG_FOR_INTS>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: boolean isEnabled(com.fasterxml.jackson.databind.DeserializationFeature)>(v);
if v != 0 goto label;
v = v cmp 2147483647L;
if v > 0 goto label;
v = v cmp -2147483648L;
if v < 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
label:
return v;
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
label:
return v;
label:
v := @caughtexception;
v = v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Class _valueClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdStringValue(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "not a valid number", v);
return v;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer) throws java.io.IOException
{
com.fasterxml.jackson.databind.DeserializationContext v;
com.fasterxml.jackson.core.JsonParser v;
com.fasterxml.jackson.databind.jsontype.TypeDeserializer v;
int v;
com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer v;
java.lang.Object v, v;
v := @this: com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer;
v := @parameter: com.fasterxml.jackson.core.JsonParser;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v := @parameter: com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: int currentTokenId()>();
tableswitch(v)
{
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.jsontype.TypeDeserializer: java.lang.Object deserializeTypedFromScalar(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
return v;
}
static void <clinit>()
{
com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer v;
v = new com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: void <init>()>();
<com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer: com.fasterxml.jackson.databind.deser.std.NumberDeserializers$NumberDeserializer instance> = v;
return;
}
}