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=6, 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: 14
4: 15
5: 15
6: 6
7: 3
8: 1
9: 15
10: 15
11: 15
12: 13
default: 15
}
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
invokedynamic apply()Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
java/time/Duration.ofSeconds(JJ)Ljava/time/Duration; (6)
(Ljava/lang/Long;Ljava/lang/Integer;)Ljava/time/Duration;
invokestatic com.fasterxml.jackson.datatype.jsr310.DecimalUtils.extractSecondsAndNanos:(Ljava/math/BigDecimal;Ljava/util/function/BiFunction;)Ljava/lang/Object;
checkcast java.time.Duration
areturn
end local 3 3: 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 5
4: aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getLongValue:()J
invokestatic java.time.Duration.ofSeconds:(J)Ljava/time/Duration;
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.jackson.core.JsonParser.getLongValue:()J
invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
areturn
6: 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 4
start local 4 7: aload 4
invokevirtual java.lang.String.length:()I
ifne 9
8: aconst_null
areturn
9: StackMap locals: com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.databind.DeserializationContext top java.lang.String
StackMap stack:
aload 4
invokestatic java.time.Duration.parse:(Ljava/lang/CharSequence;)Ljava/time/Duration;
10: areturn
11: StackMap locals:
StackMap stack: java.time.DateTimeException
astore 5
start local 5 12: aload 0
aload 2
aload 5
aload 4
invokevirtual com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer._handleDateTimeException:(Lcom/fasterxml/jackson/databind/DeserializationContext;Ljava/time/DateTimeException;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.time.Duration
areturn
end local 5 end local 4 13: 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
14: 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
15: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
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
16: 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
17: invokevirtual com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer._handleUnexpectedToken:(Lcom/fasterxml/jackson/databind/DeserializationContext;Lcom/fasterxml/jackson/core/JsonParser;[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 18 0 this Lcom/fasterxml/jackson/datatype/jsr310/deser/DurationDeserializer;
0 18 1 parser Lcom/fasterxml/jackson/core/JsonParser;
0 18 2 context Lcom/fasterxml/jackson/databind/DeserializationContext;
2 3 3 value Ljava/math/BigDecimal;
7 13 4 string Ljava/lang/String;
12 13 5 e Ljava/time/DateTimeException;
Exception table:
from to target type
9 10 11 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"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles