2022-06-10 21:38:30 +09:00

278 lines
7.3 KiB
Smali

.class public Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;
.super Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer;
.source "NumberSerializer.java"
# annotations
.annotation runtime Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer<",
"Ljava/lang/Number;",
">;"
}
.end annotation
# static fields
.field public static final instance:Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;
# instance fields
.field public final _isInt:Z
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
new-instance v0, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;
const-class v1, Ljava/lang/Number;
invoke-direct {v0, v1}, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;-><init>(Ljava/lang/Class;)V
sput-object v0, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;->instance:Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;
return-void
.end method
.method public constructor <init>(Ljava/lang/Class;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"+",
"Ljava/lang/Number;",
">;)V"
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, v0}, Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer;-><init>(Ljava/lang/Class;Z)V
.line 2
const-class v1, Ljava/math/BigInteger;
if-ne p1, v1, :cond_0
const/4 v0, 0x1
:cond_0
iput-boolean v0, p0, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;->_isInt:Z
return-void
.end method
# virtual methods
.method public acceptJsonFormatVisitor(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/fasterxml/jackson/databind/JsonMappingException;
}
.end annotation
.line 1
iget-boolean v0, p0, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;->_isInt:Z
if-eqz v0, :cond_0
.line 2
sget-object v0, Lcom/fasterxml/jackson/core/JsonParser$NumberType;->BIG_INTEGER:Lcom/fasterxml/jackson/core/JsonParser$NumberType;
invoke-virtual {p0, p1, p2, v0}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->visitIntFormat(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/core/JsonParser$NumberType;)V
goto :goto_0
.line 3
:cond_0
invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->handledType()Ljava/lang/Class;
move-result-object v0
.line 4
const-class v1, Ljava/math/BigDecimal;
if-ne v0, v1, :cond_1
.line 5
sget-object v0, Lcom/fasterxml/jackson/core/JsonParser$NumberType;->BIG_DECIMAL:Lcom/fasterxml/jackson/core/JsonParser$NumberType;
invoke-virtual {p0, p1, p2, v0}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->visitFloatFormat(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/core/JsonParser$NumberType;)V
goto :goto_0
.line 6
:cond_1
invoke-interface {p1, p2}, Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;->expectNumberFormat(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonNumberFormatVisitor;
:goto_0
return-void
.end method
.method public getSchema(Lcom/fasterxml/jackson/databind/SerializerProvider;Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JsonNode;
.locals 0
.line 1
iget-boolean p1, p0, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;->_isInt:Z
if-eqz p1, :cond_0
const-string p1, "integer"
goto :goto_0
:cond_0
const-string p1, "number"
:goto_0
const/4 p2, 0x1
invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->createSchemaNode(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode;
move-result-object p1
return-object p1
.end method
.method public serialize(Ljava/lang/Number;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
instance-of p3, p1, Ljava/math/BigDecimal;
if-eqz p3, :cond_0
.line 3
check-cast p1, Ljava/math/BigDecimal;
invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(Ljava/math/BigDecimal;)V
goto :goto_1
.line 4
:cond_0
instance-of p3, p1, Ljava/math/BigInteger;
if-eqz p3, :cond_1
.line 5
check-cast p1, Ljava/math/BigInteger;
invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(Ljava/math/BigInteger;)V
goto :goto_1
.line 6
:cond_1
instance-of p3, p1, Ljava/lang/Long;
if-eqz p3, :cond_2
.line 7
invoke-virtual {p1}, Ljava/lang/Number;->longValue()J
move-result-wide v0
invoke-virtual {p2, v0, v1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(J)V
goto :goto_1
.line 8
:cond_2
instance-of p3, p1, Ljava/lang/Double;
if-eqz p3, :cond_3
.line 9
invoke-virtual {p1}, Ljava/lang/Number;->doubleValue()D
move-result-wide v0
invoke-virtual {p2, v0, v1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(D)V
goto :goto_1
.line 10
:cond_3
instance-of p3, p1, Ljava/lang/Float;
if-eqz p3, :cond_4
.line 11
invoke-virtual {p1}, Ljava/lang/Number;->floatValue()F
move-result p1
invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(F)V
goto :goto_1
.line 12
:cond_4
instance-of p3, p1, Ljava/lang/Integer;
if-nez p3, :cond_6
instance-of p3, p1, Ljava/lang/Byte;
if-nez p3, :cond_6
instance-of p3, p1, Ljava/lang/Short;
if-eqz p3, :cond_5
goto :goto_0
.line 13
:cond_5
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(Ljava/lang/String;)V
goto :goto_1
.line 14
:cond_6
:goto_0
invoke-virtual {p1}, Ljava/lang/Number;->intValue()I
move-result p1
invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(I)V
:goto_1
return-void
.end method
.method public bridge synthetic serialize(Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
check-cast p1, Ljava/lang/Number;
invoke-virtual {p0, p1, p2, p3}, Lcom/fasterxml/jackson/databind/ser/std/NumberSerializer;->serialize(Ljava/lang/Number;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
return-void
.end method