public class com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer extends com.fasterxml.jackson.databind.deser.BeanDeserializer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer
super_class: com.fasterxml.jackson.databind.deser.BeanDeserializer
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final java.lang.String PROP_NAME_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "message"
protected static final java.lang.String PROP_NAME_SUPPRESSED;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "suppressed"
public void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializer);
descriptor: (Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.fasterxml.jackson.databind.deser.BeanDeserializer.<init>:(Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBase;)V
1: aload 0
iconst_0
putfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._vanillaProcessing:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;
0 3 1 baseDeserializer Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;
MethodParameters:
Name Flags
baseDeserializer
protected void <init>(com.fasterxml.jackson.databind.deser.BeanDeserializer, com.fasterxml.jackson.databind.util.NameTransformer);
descriptor: (Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;Lcom/fasterxml/jackson/databind/util/NameTransformer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.fasterxml.jackson.databind.deser.BeanDeserializer.<init>:(Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBase;Lcom/fasterxml/jackson/databind/util/NameTransformer;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;
0 2 1 src Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;
0 2 2 unwrapper Lcom/fasterxml/jackson/databind/util/NameTransformer;
MethodParameters:
Name Flags
src
unwrapper
public com.fasterxml.jackson.databind.JsonDeserializer<java.lang.Object> unwrappingDeserializer(com.fasterxml.jackson.databind.util.NameTransformer);
descriptor: (Lcom/fasterxml/jackson/databind/util/NameTransformer;)Lcom/fasterxml/jackson/databind/JsonDeserializer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;
if_acmpeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer
dup
aload 0
aload 1
invokespecial com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.<init>:(Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;Lcom/fasterxml/jackson/databind/util/NameTransformer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;
0 3 1 unwrapper Lcom/fasterxml/jackson/databind/util/NameTransformer;
Signature: (Lcom/fasterxml/jackson/databind/util/NameTransformer;)Lcom/fasterxml/jackson/databind/JsonDeserializer<Ljava/lang/Object;>;
MethodParameters:
Name Flags
unwrapper
public java.lang.Object deserializeFromObject(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext);
descriptor: (Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._propertyBasedCreator:Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedCreator;
ifnull 2
1: aload 0
aload 1
aload 2
invokevirtual com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._deserializeUsingPropertyBased:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._delegateDeserializer:Lcom/fasterxml/jackson/databind/JsonDeserializer;
ifnull 6
3: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._valueInstantiator:Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
aload 2
4: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._delegateDeserializer:Lcom/fasterxml/jackson/databind/JsonDeserializer;
aload 1
aload 2
invokevirtual com.fasterxml.jackson.databind.JsonDeserializer.deserialize:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
5: invokevirtual com.fasterxml.jackson.databind.deser.ValueInstantiator.createUsingDelegate:(Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/lang/Object;)Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._beanType:Lcom/fasterxml/jackson/databind/JavaType;
invokevirtual com.fasterxml.jackson.databind.JavaType.isAbstract:()Z
ifeq 10
7: aload 2
aload 0
invokevirtual com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.handledType:()Ljava/lang/Class;
aload 0
invokevirtual com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.getValueInstantiator:()Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
aload 1
8: ldc "abstract type (need to add/enable type information?)"
iconst_0
anewarray java.lang.Object
9: invokevirtual com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator:(Ljava/lang/Class;Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._valueInstantiator:Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
invokevirtual com.fasterxml.jackson.databind.deser.ValueInstantiator.canCreateFromString:()Z
istore 3
start local 3 11: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._valueInstantiator:Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
invokevirtual com.fasterxml.jackson.databind.deser.ValueInstantiator.canCreateUsingDefault:()Z
istore 4
start local 4 12: iload 3
ifne 16
iload 4
ifne 16
13: aload 2
aload 0
invokevirtual com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.handledType:()Ljava/lang/Class;
aload 0
invokevirtual com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.getValueInstantiator:()Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
aload 1
14: ldc "Throwable needs a default constructor, a single-String-arg constructor; or explicit @JsonCreator"
iconst_0
anewarray java.lang.Object
15: invokevirtual com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator:(Ljava/lang/Class;Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
16: StackMap locals: int int
StackMap stack:
aconst_null
astore 5
start local 5 17: aconst_null
astore 6
start local 6 18: aconst_null
astore 7
start local 7 19: iconst_0
istore 8
start local 8 20: goto 49
21: StackMap locals: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.databind.DeserializationContext int int java.lang.Throwable java.lang.Object[] java.lang.Throwable[] int
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.currentName:()Ljava/lang/String;
astore 9
start local 9 22: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._beanProperties:Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap;
aload 9
invokevirtual com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap.find:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/deser/SettableBeanProperty;
astore 10
start local 10 23: aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.nextToken:()Lcom/fasterxml/jackson/core/JsonToken;
pop
24: aload 10
ifnull 34
25: aload 5
ifnull 28
26: aload 10
aload 1
aload 2
aload 5
invokevirtual com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserializeAndSet:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/lang/Object;)V
27: goto 48
28: StackMap locals: java.lang.String com.fasterxml.jackson.databind.deser.SettableBeanProperty
StackMap stack:
aload 6
ifnonnull 31
29: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._beanProperties:Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap;
invokevirtual com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap.size:()I
istore 11
start local 11 30: iload 11
iload 11
iadd
anewarray java.lang.Object
astore 6
end local 11 31: StackMap locals:
StackMap stack:
aload 6
iload 8
iinc 8 1
aload 10
aastore
32: aload 6
iload 8
iinc 8 1
aload 10
aload 1
aload 2
invokevirtual com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
aastore
33: goto 48
34: StackMap locals:
StackMap stack:
ldc "message"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
35: iload 3
ifeq 41
36: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._valueInstantiator:Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
aload 2
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getValueAsString:()Ljava/lang/String;
invokevirtual com.fasterxml.jackson.databind.deser.ValueInstantiator.createFromString:(Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 5
37: goto 48
38: StackMap locals:
StackMap stack:
ldc "suppressed"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
39: aload 2
aload 1
ldc [Ljava/lang/Throwable;
invokevirtual com.fasterxml.jackson.databind.DeserializationContext.readValue:(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Throwable[]
astore 7
40: goto 48
41: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._ignorableProps:Ljava/util/Set;
ifnull 44
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._ignorableProps:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 44
42: aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.skipChildren:()Lcom/fasterxml/jackson/core/JsonParser;
pop
43: goto 48
44: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._anySetter:Lcom/fasterxml/jackson/databind/deser/SettableAnyProperty;
ifnull 47
45: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._anySetter:Lcom/fasterxml/jackson/databind/deser/SettableAnyProperty;
aload 1
aload 2
aload 5
aload 9
invokevirtual com.fasterxml.jackson.databind.deser.SettableAnyProperty.deserializeAndSet:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/lang/Object;Ljava/lang/String;)V
46: goto 48
47: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 5
aload 9
invokevirtual com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.handleUnknownProperty:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/lang/Object;Ljava/lang/String;)V
end local 10 end local 9 48: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.nextToken:()Lcom/fasterxml/jackson/core/JsonToken;
pop
StackMap locals:
StackMap stack:
49: aload 1
getstatic com.fasterxml.jackson.core.JsonToken.END_OBJECT:Lcom/fasterxml/jackson/core/JsonToken;
invokevirtual com.fasterxml.jackson.core.JsonParser.hasToken:(Lcom/fasterxml/jackson/core/JsonToken;)Z
ifeq 21
50: aload 5
ifnonnull 55
51: iload 3
ifeq 54
52: aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._valueInstantiator:Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
aload 2
aconst_null
invokevirtual com.fasterxml.jackson.databind.deser.ValueInstantiator.createFromString:(Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 5
53: goto 55
54: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer._valueInstantiator:Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;
aload 2
invokevirtual com.fasterxml.jackson.databind.deser.ValueInstantiator.createUsingDefault:(Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 5
55: StackMap locals:
StackMap stack:
aload 6
ifnull 63
56: iconst_0
istore 9
start local 9 57: iload 8
istore 10
start local 10 58: goto 62
59: StackMap locals: int int
StackMap stack:
aload 6
iload 9
aaload
checkcast com.fasterxml.jackson.databind.deser.SettableBeanProperty
astore 11
start local 11 60: aload 11
aload 5
aload 6
iload 9
iconst_1
iadd
aaload
invokevirtual com.fasterxml.jackson.databind.deser.SettableBeanProperty.set:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 11 61: iinc 9 2
StackMap locals:
StackMap stack:
62: iload 9
iload 10
if_icmplt 59
end local 10 end local 9 63: StackMap locals:
StackMap stack:
aload 7
ifnull 69
64: aload 7
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 68
StackMap locals: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.databind.DeserializationContext int int java.lang.Throwable java.lang.Object[] java.lang.Throwable[] int top int int java.lang.Throwable[]
StackMap stack:
65: aload 12
iload 10
aaload
astore 9
start local 9 66: aload 5
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
end local 9 67: iinc 10 1
StackMap locals:
StackMap stack:
68: iload 10
iload 11
if_icmplt 65
69: StackMap locals: com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.databind.DeserializationContext int int java.lang.Throwable java.lang.Object[] java.lang.Throwable[] int
StackMap stack:
aload 5
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;
0 70 1 p Lcom/fasterxml/jackson/core/JsonParser;
0 70 2 ctxt Lcom/fasterxml/jackson/databind/DeserializationContext;
11 70 3 hasStringCreator Z
12 70 4 hasDefaultCtor Z
17 70 5 throwable Ljava/lang/Throwable;
18 70 6 pending [Ljava/lang/Object;
19 70 7 suppressed [Ljava/lang/Throwable;
20 70 8 pendingIx I
22 48 9 propName Ljava/lang/String;
23 48 10 prop Lcom/fasterxml/jackson/databind/deser/SettableBeanProperty;
30 31 11 len I
57 63 9 i I
58 63 10 len I
60 61 11 prop Lcom/fasterxml/jackson/databind/deser/SettableBeanProperty;
66 67 9 s Ljava/lang/Throwable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
ctxt
}
SourceFile: "ThrowableDeserializer.java"