public class com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer extends com.fasterxml.jackson.databind.deser.BeanDeserializer
{
private static final long serialVersionUID;
protected static final java.lang.String PROP_NAME_MESSAGE;
protected static final java.lang.String PROP_NAME_SUPPRESSED;
protected static final java.lang.String PROP_NAME_LOCALIZED_MESSAGE;
public void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializer)
{
com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer v;
com.fasterxml.jackson.databind.deser.BeanDeserializer v;
v := @this: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer;
v := @parameter: com.fasterxml.jackson.databind.deser.BeanDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.BeanDeserializer: void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializerBase)>(v);
v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: boolean _vanillaProcessing> = 0;
return;
}
public static com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer construct(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.BeanDeserializer)
{
com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer v;
com.fasterxml.jackson.databind.DeserializationContext v;
com.fasterxml.jackson.databind.deser.BeanDeserializer v;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v := @parameter: com.fasterxml.jackson.databind.deser.BeanDeserializer;
v = new com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializer)>(v);
return v;
}
protected void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializer, com.fasterxml.jackson.databind.util.NameTransformer)
{
com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer v;
com.fasterxml.jackson.databind.deser.BeanDeserializer v;
com.fasterxml.jackson.databind.util.NameTransformer v;
v := @this: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer;
v := @parameter: com.fasterxml.jackson.databind.deser.BeanDeserializer;
v := @parameter: com.fasterxml.jackson.databind.util.NameTransformer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.BeanDeserializer: void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializerBase,com.fasterxml.jackson.databind.util.NameTransformer)>(v, v);
return;
}
public com.fasterxml.jackson.databind.JsonDeserializer unwrappingDeserializer(com.fasterxml.jackson.databind.util.NameTransformer)
{
com.fasterxml.jackson.databind.util.NameTransformer v;
com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer v, v;
java.lang.Class v;
v := @this: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer;
v := @parameter: com.fasterxml.jackson.databind.util.NameTransformer;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == class "Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;" goto label;
return v;
label:
v = new com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializer,com.fasterxml.jackson.databind.util.NameTransformer)>(v, v);
return v;
}
public java.lang.Object deserializeFromObject(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext) throws java.io.IOException
{
com.fasterxml.jackson.databind.JsonDeserializer v, v;
boolean v, v, v, v, v, v, v, v;
java.util.Set v, v;
com.fasterxml.jackson.databind.deser.SettableBeanProperty v;
java.lang.Throwable v;
com.fasterxml.jackson.databind.deser.SettableAnyProperty v, v;
java.lang.Object[] v, v, v;
com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator v;
com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer v;
int v, v, v, v, v, v, v, v, v;
com.fasterxml.jackson.core.JsonToken v;
com.fasterxml.jackson.databind.JavaType v;
java.lang.String v, v, v, v, v;
com.fasterxml.jackson.databind.DeserializationContext v;
com.fasterxml.jackson.core.JsonParser v;
com.fasterxml.jackson.databind.deser.ValueInstantiator v, v, v, v, v, v, v, v;
com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap v, v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v;
v := @this: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer;
v := @parameter: com.fasterxml.jackson.core.JsonParser;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator _propertyBasedCreator>;
if v == null goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: java.lang.Object _deserializeUsingPropertyBased(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.JsonDeserializer _delegateDeserializer>;
if v == null goto label;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator>;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.JsonDeserializer _delegateDeserializer>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonDeserializer: java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.ValueInstantiator: java.lang.Object createUsingDelegate(com.fasterxml.jackson.databind.DeserializationContext,java.lang.Object)>(v, v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.JavaType _beanType>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.JavaType: boolean isAbstract()>();
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: java.lang.Class handledType()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator getValueInstantiator()>();
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleMissingInstantiator(java.lang.Class,com.fasterxml.jackson.databind.deser.ValueInstantiator,com.fasterxml.jackson.core.JsonParser,java.lang.String,java.lang.Object[])>(v, v, v, "abstract type (need to add/enable type information?)", v);
return v;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.ValueInstantiator: boolean canCreateFromString()>();
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.ValueInstantiator: boolean canCreateUsingDefault()>();
if v != 0 goto label;
if v != 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: java.lang.Class handledType()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator getValueInstantiator()>();
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object handleMissingInstantiator(java.lang.Class,com.fasterxml.jackson.databind.deser.ValueInstantiator,com.fasterxml.jackson.core.JsonParser,java.lang.String,java.lang.Object[])>(v, v, v, "Throwable needs a default constructor, a single-String-arg constructor; or explicit @JsonCreator", v);
return v;
label:
v = null;
v = 0;
label:
v = <com.fasterxml.jackson.core.JsonToken: com.fasterxml.jackson.core.JsonToken END_OBJECT>;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: boolean hasToken(com.fasterxml.jackson.core.JsonToken)>(v);
if v != 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: java.lang.String currentName()>();
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap _beanProperties>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap: com.fasterxml.jackson.databind.deser.SettableBeanProperty find(java.lang.String)>(v);
virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonToken nextToken()>();
if v == null goto label;
if v != null goto label;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap _beanProperties>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap: int size()>();
v = v + v;
v = newarray (java.lang.Object)[v];
label:
v = v + 1;
v[v] = v;
v = v + 1;
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.SettableBeanProperty: java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)>(v, v);
v[v] = v;
goto label;
label:
v = "message";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
if v == 0 goto label;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator>;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: java.lang.String getValueAsString()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.deser.ValueInstantiator: java.lang.Object createFromString(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String)>(v, v);
goto label;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: java.util.Set _ignorableProps>;
if v == null goto label;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: java.util.Set _ignorableProps>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonParser skipChildren()>();
goto label;
label:
v = "suppressed";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.DeserializationContext: java.lang.Object readValue(com.fasterxml.jackson.core.JsonParser,java.lang.Class)>(v, class "[Ljava/lang/Throwable;");
goto label;
label:
v = "localizedMessage";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonParser skipChildren()>();
goto label;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.SettableAnyProperty _anySetter>;
if v == null goto label;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.SettableAnyProperty _anySetter>;
virtualinvoke v.<com.fasterxml.jackson.databind.deser.SettableAnyProperty: void deserializeAndSet(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Object,java.lang.String)>(v, v, v, v);
goto label;
label:
virtualinvoke v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: void handleUnknownProperty(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Object,java.lang.String)>(v, v, v, v);
label:
virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonToken nextToken()>();
goto label;
label:
if v != null goto label;
if v == 0 goto label;
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator>;
virtualinvoke v.<com.fasterxml.jackson.databind.deser.ValueInstantiator: java.lang.Object createFromString(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String)>(v, null);
goto label;
label:
v = v.<com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer: com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator>;
virtualinvoke v.<com.fasterxml.jackson.databind.deser.ValueInstantiator: java.lang.Object createUsingDefault(com.fasterxml.jackson.databind.DeserializationContext)>(v);
label:
if v == null goto label;
v = 0;
v = v;
label:
if v >= v goto label;
v = v[v];
v = v + 1;
v = v[v];
virtualinvoke v.<com.fasterxml.jackson.databind.deser.SettableBeanProperty: void set(java.lang.Object,java.lang.Object)>(v, v);
v = v + 2;
goto label;
label:
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<java.lang.Throwable: void addSuppressed(java.lang.Throwable)>(v);
v = v + 1;
goto label;
label:
return v;
}
}