public class com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer extends com.fasterxml.jackson.databind.KeyDeserializer implements java.io.Serializable
{
private static final long serialVersionUID;
public static final int TYPE_BOOLEAN;
public static final int TYPE_BYTE;
public static final int TYPE_SHORT;
public static final int TYPE_CHAR;
public static final int TYPE_INT;
public static final int TYPE_LONG;
public static final int TYPE_FLOAT;
public static final int TYPE_DOUBLE;
public static final int TYPE_LOCALE;
public static final int TYPE_DATE;
public static final int TYPE_CALENDAR;
public static final int TYPE_UUID;
public static final int TYPE_URI;
public static final int TYPE_URL;
public static final int TYPE_CLASS;
public static final int TYPE_CURRENCY;
public static final int TYPE_BYTE_ARRAY;
protected final int _kind;
protected final java.lang.Class _keyClass;
protected final com.fasterxml.jackson.databind.deser.std.FromStringDeserializer _deser;
protected void <init>(int, java.lang.Class)
{
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
int v;
java.lang.Class v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: int;
v := @parameter: java.lang.Class;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: void <init>(int,java.lang.Class,com.fasterxml.jackson.databind.deser.std.FromStringDeserializer)>(v, v, null);
return;
}
protected void <init>(int, java.lang.Class, com.fasterxml.jackson.databind.deser.std.FromStringDeserializer)
{
com.fasterxml.jackson.databind.deser.std.FromStringDeserializer v;
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
int v;
java.lang.Class v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: int;
v := @parameter: java.lang.Class;
v := @parameter: com.fasterxml.jackson.databind.deser.std.FromStringDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.KeyDeserializer: void <init>()>();
v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: int _kind> = v;
v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass> = v;
v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: com.fasterxml.jackson.databind.deser.std.FromStringDeserializer _deser> = v;
return;
}
public static com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer forType(java.lang.Class)
{
com.fasterxml.jackson.databind.deser.std.FromStringDeserializer v, v;
byte v;
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v, v, v;
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer$StringKD v;
java.lang.Class v;
v := @parameter: java.lang.Class;
if v == class "Ljava/lang/String;" goto label;
if v == class "Ljava/lang/Object;" goto label;
if v == class "Ljava/lang/CharSequence;" goto label;
if v != class "Ljava/io/Serializable;" goto label;
label:
v = staticinvoke <com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer$StringKD: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer$StringKD forType(java.lang.Class)>(v);
return v;
label:
if v != class "Ljava/util/UUID;" goto label;
v = 12;
goto label;
label:
if v != class "Ljava/lang/Integer;" goto label;
v = 5;
goto label;
label:
if v != class "Ljava/lang/Long;" goto label;
v = 6;
goto label;
label:
if v != class "Ljava/util/Date;" goto label;
v = 10;
goto label;
label:
if v != class "Ljava/util/Calendar;" goto label;
v = 11;
goto label;
label:
if v != class "Ljava/lang/Boolean;" goto label;
v = 1;
goto label;
label:
if v != class "Ljava/lang/Byte;" goto label;
v = 2;
goto label;
label:
if v != class "Ljava/lang/Character;" goto label;
v = 4;
goto label;
label:
if v != class "Ljava/lang/Short;" goto label;
v = 3;
goto label;
label:
if v != class "Ljava/lang/Float;" goto label;
v = 7;
goto label;
label:
if v != class "Ljava/lang/Double;" goto label;
v = 8;
goto label;
label:
if v != class "Ljava/net/URI;" goto label;
v = 13;
goto label;
label:
if v != class "Ljava/net/URL;" goto label;
v = 14;
goto label;
label:
if v != class "Ljava/lang/Class;" goto label;
v = 15;
goto label;
label:
if v != class "Ljava/util/Locale;" goto label;
v = staticinvoke <com.fasterxml.jackson.databind.deser.std.FromStringDeserializer: com.fasterxml.jackson.databind.deser.std.FromStringDeserializer findDeserializer(java.lang.Class)>(class "Ljava/util/Locale;");
v = new com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: void <init>(int,java.lang.Class,com.fasterxml.jackson.databind.deser.std.FromStringDeserializer)>(9, v, v);
return v;
label:
if v != class "Ljava/util/Currency;" goto label;
v = staticinvoke <com.fasterxml.jackson.databind.deser.std.FromStringDeserializer: com.fasterxml.jackson.databind.deser.std.FromStringDeserializer findDeserializer(java.lang.Class)>(class "Ljava/util/Currency;");
v = new com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: void <init>(int,java.lang.Class,com.fasterxml.jackson.databind.deser.std.FromStringDeserializer)>(16, v, v);
return v;
label:
if v != class "[B" goto label;
v = 17;
goto label;
label:
return null;
label:
v = new com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: void <init>(int,java.lang.Class)>(v, v);
return v;
}
public java.lang.Object deserializeKey(java.lang.String, com.fasterxml.jackson.databind.DeserializationContext) throws java.io.IOException
{
java.lang.Object[] v, v;
com.fasterxml.jackson.databind.DeserializationFeature v;
com.fasterxml.jackson.databind.DeserializationConfig v;
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
java.lang.String v, v, v;
boolean v, v;
com.fasterxml.jackson.databind.DeserializationContext v;
java.lang.Exception v;
java.lang.Class v, v, v, v;
java.lang.Object v, v, v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: java.lang.String;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _parse(java.lang.String,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
if v == null goto label;
label:
return v;
label:
v := @caughtexception;
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[0] = v;
v = staticinvoke <com.fasterxml.jackson.databind.util.ClassUtil: java.lang.String exceptionMessage(java.lang.Throwable)>(v);
v[1] = v;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "not a valid representation, problem: (%s) %s", v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = staticinvoke <com.fasterxml.jackson.databind.util.ClassUtil: boolean isEnumType(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: com.fasterxml.jackson.databind.DeserializationConfig getConfig()>();
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature READ_UNKNOWN_ENUM_VALUES_AS_NULL>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationConfig: boolean isEnabled(com.fasterxml.jackson.databind.DeserializationFeature)>(v);
if v == 0 goto label;
return null;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "not a valid representation", v);
return v;
catch java.lang.Exception from label to label with label;
}
public java.lang.Class getKeyClass()
{
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
java.lang.Class v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
return v;
}
protected java.lang.Object _parse(java.lang.String, com.fasterxml.jackson.databind.DeserializationContext) throws java.lang.Exception
{
byte[] v;
java.lang.Float v;
java.lang.Integer v;
java.lang.Character v;
java.lang.Long v;
com.fasterxml.jackson.databind.deser.std.FromStringDeserializer v, v;
java.lang.Exception v, v, v;
java.lang.Object[] v, v, v, v, v;
java.lang.Double v;
long v;
java.util.Calendar v;
java.lang.String v, v, v, v;
com.fasterxml.jackson.databind.DeserializationContext v;
java.lang.IllegalStateException v;
java.net.URL v;
java.util.Date v, v;
java.lang.Short v;
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
java.net.URI v;
java.lang.Byte v;
boolean v, v;
java.util.UUID v;
com.fasterxml.jackson.core.Base64Variant v;
com.fasterxml.jackson.databind.DeserializationConfig v;
int v, v, v, v, v, v, v;
java.lang.Boolean v, v;
double v, v;
java.net.MalformedURLException v;
char v;
java.lang.IllegalArgumentException v, v, v;
java.lang.Class v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: java.lang.String;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: int _kind>;
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;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
default: goto label;
};
label:
v = "true";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
return v;
label:
v = "false";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "value not \'true\' or \'false\'", v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: int _parseInt(java.lang.String)>(v);
v = (int) -128;
if v < v goto label;
if v <= 255 goto label;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "overflow, value cannot be represented as 8-bit value", v);
return v;
label:
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: int _parseInt(java.lang.String)>(v);
v = (int) -32768;
if v < v goto label;
if v <= 32767 goto label;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "overflow, value cannot be represented as 16-bit value", v);
return v;
label:
v = staticinvoke <java.lang.Short: java.lang.Short valueOf(short)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 1 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "can only convert 1-character Strings", v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: int _parseInt(java.lang.String)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: long _parseLong(java.lang.String)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: double _parseDouble(java.lang.String)>(v);
v = staticinvoke <java.lang.Float: java.lang.Float valueOf(float)>(v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: double _parseDouble(java.lang.String)>(v);
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: com.fasterxml.jackson.databind.deser.std.FromStringDeserializer _deser>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.FromStringDeserializer: java.lang.Object _deserialize(java.lang.String,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: com.fasterxml.jackson.databind.deser.std.FromStringDeserializer _deser>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.FromStringDeserializer: java.lang.Object _deserialize(java.lang.String,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.util.Date parseDate(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.util.Date parseDate(java.lang.String)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.util.Calendar constructCalendar(java.util.Date)>(v);
return v;
label:
v = staticinvoke <java.util.UUID: java.util.UUID fromString(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
label:
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
label:
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Class findClass(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "unable to parse key as Class", v);
return v;
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: com.fasterxml.jackson.databind.DeserializationConfig getConfig()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationConfig: com.fasterxml.jackson.core.Base64Variant getBase64Variant()>();
v = virtualinvoke v.<com.fasterxml.jackson.core.Base64Variant: byte[] decode(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
label:
v = new java.lang.IllegalStateException;
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(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[])>("Internal error: unknown key type \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.net.MalformedURLException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
protected int _parseInt(java.lang.String) throws java.lang.IllegalArgumentException
{
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
int v;
java.lang.String v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
}
protected long _parseLong(java.lang.String) throws java.lang.IllegalArgumentException
{
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
long v;
java.lang.String v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
return v;
}
protected double _parseDouble(java.lang.String) throws java.lang.IllegalArgumentException
{
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
java.lang.String v;
double v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: java.lang.String;
v = staticinvoke <com.fasterxml.jackson.core.io.NumberInput: double parseDouble(java.lang.String)>(v);
return v;
}
protected java.lang.Object _weirdKey(com.fasterxml.jackson.databind.DeserializationContext, java.lang.String, java.lang.Exception) throws java.io.IOException
{
com.fasterxml.jackson.databind.DeserializationContext v;
java.lang.Object[] v;
java.lang.Exception v;
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
v := @this: com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Exception;
v = v.<com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer: java.lang.Class _keyClass>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <com.fasterxml.jackson.databind.util.ClassUtil: java.lang.String exceptionMessage(java.lang.Throwable)>(v);
v[0] = v;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleWeirdKey(java.lang.Class,java.lang.String,java.lang.String,java.lang.Object[])>(v, v, "problem: %s", v);
return v;
}
}