public class com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer extends com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase<java.time.Duration>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer
super_class: com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer INSTANCE;
descriptor: Lcom/fasterxml/jackson/datatype/jsr310/deser/DurationDeserializer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer
dup
invokespecial com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer.<init>:()V
putstatic com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer.INSTANCE:Lcom/fasterxml/jackson/datatype/jsr310/deser/DurationDeserializer;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/time/Duration;
invokespecial com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase.<init>:(Ljava/lang/Class;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/datatype/jsr310/deser/DurationDeserializer;
public java.time.Duration deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext);
descriptor: (Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/time/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getCurrentTokenId:()I
tableswitch { // 3 - 12
3: 16
4: 17
5: 17
6: 8
7: 5
8: 1
9: 17
10: 17
11: 17
12: 15
default: 17
}
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getDecimalValue:()Ljava/math/BigDecimal;
astore 3
start local 3 2: aload 3
invokevirtual java.math.BigDecimal.longValue:()J
lstore 4
start local 4 3: aload 3
lload 4
invokestatic com.fasterxml.jackson.datatype.jsr310.DecimalUtils.extractNanosecondDecimal:(Ljava/math/BigDecimal;J)I
istore 6
start local 6 4: lload 4
iload 6
i2l
invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
areturn
end local 6 end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 2
getstatic com.fasterxml.jackson.databind.DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS:Lcom/fasterxml/jackson/databind/DeserializationFeature;
invokevirtual com.fasterxml.jackson.databind.DeserializationContext.isEnabled:(Lcom/fasterxml/jackson/databind/DeserializationFeature;)Z
ifeq 7
6: aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getLongValue:()J
invokestatic java.time.Duration.ofSeconds:(J)Ljava/time/Duration;
areturn
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getLongValue:()J
invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getText:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
start local 7 9: aload 7
invokevirtual java.lang.String.length:()I
ifne 11
10: aconst_null
areturn
11: StackMap locals: com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.databind.DeserializationContext top top top top java.lang.String
StackMap stack:
aload 7
invokestatic java.time.Duration.parse:(Ljava/lang/CharSequence;)Ljava/time/Duration;
12: areturn
13: StackMap locals:
StackMap stack: java.time.DateTimeException
astore 8
start local 8 14: aload 0
aload 1
aload 2
aload 8
aload 7
invokevirtual com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer._rethrowDateTimeException:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/time/DateTimeException;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.time.Duration
areturn
end local 8 end local 7 15: StackMap locals: com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.databind.DeserializationContext
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getEmbeddedObject:()Ljava/lang/Object;
checkcast java.time.Duration
areturn
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer._deserializeFromArray:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
checkcast java.time.Duration
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_3
anewarray com.fasterxml.jackson.core.JsonToken
dup
iconst_0
getstatic com.fasterxml.jackson.core.JsonToken.VALUE_STRING:Lcom/fasterxml/jackson/core/JsonToken;
aastore
dup
iconst_1
18: getstatic com.fasterxml.jackson.core.JsonToken.VALUE_NUMBER_INT:Lcom/fasterxml/jackson/core/JsonToken;
aastore
dup
iconst_2
getstatic com.fasterxml.jackson.core.JsonToken.VALUE_NUMBER_FLOAT:Lcom/fasterxml/jackson/core/JsonToken;
aastore
19: invokevirtual com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer._reportWrongToken:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;[Lcom/fasterxml/jackson/core/JsonToken;)Ljava/lang/Object;
checkcast java.time.Duration
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/fasterxml/jackson/datatype/jsr310/deser/DurationDeserializer;
0 20 1 parser Lcom/fasterxml/jackson/core/JsonParser;
0 20 2 context Lcom/fasterxml/jackson/databind/DeserializationContext;
2 5 3 value Ljava/math/BigDecimal;
3 5 4 seconds J
4 5 6 nanoseconds I
9 15 7 string Ljava/lang/String;
14 15 8 e Ljava/time/DateTimeException;
Exception table:
from to target type
11 12 13 Class java.time.DateTimeException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
parser
context
public java.lang.Object deserialize(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: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer.deserialize:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/time/Duration;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException, com.fasterxml.jackson.core.JsonProcessingException
public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer);
descriptor: (Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;Lcom/fasterxml/jackson/databind/jsontype/TypeDeserializer;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokespecial com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase.deserializeWithType:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;Lcom/fasterxml/jackson/databind/jsontype/TypeDeserializer;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
Signature: Lcom/fasterxml/jackson/datatype/jsr310/deser/JSR310DeserializerBase<Ljava/time/Duration;>;
SourceFile: "DurationDeserializer.java"