NumberDeserializers.smali
.class public Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;
.super Ljava/lang/Object;
.source "NumberDeserializers.java"
# static fields
.field private static final _classNames:Ljava/util/HashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashSet",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
const/16 v4, 0xb
const/4 v0, 0x0
.line 22
new-instance v1, Ljava/util/HashSet;
invoke-direct {v1}, Ljava/util/HashSet;-><init>()V
sput-object v1, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;->_classNames:Ljava/util/HashSet;
.line 25
new-array v1, v4, [Ljava/lang/Class;
const-class v2, Ljava/lang/Boolean;
aput-object v2, v1, v0
const/4 v2, 0x1
const-class v3, Ljava/lang/Byte;
aput-object v3, v1, v2
const/4 v2, 0x2
const-class v3, Ljava/lang/Short;
aput-object v3, v1, v2
const/4 v2, 0x3
const-class v3, Ljava/lang/Character;
aput-object v3, v1, v2
const/4 v2, 0x4
const-class v3, Ljava/lang/Integer;
aput-object v3, v1, v2
const/4 v2, 0x5
const-class v3, Ljava/lang/Long;
aput-object v3, v1, v2
const/4 v2, 0x6
const-class v3, Ljava/lang/Float;
aput-object v3, v1, v2
const/4 v2, 0x7
const-class v3, Ljava/lang/Double;
aput-object v3, v1, v2
const/16 v2, 0x8
const-class v3, Ljava/lang/Number;
aput-object v3, v1, v2
const/16 v2, 0x9
const-class v3, Ljava/math/BigDecimal;
aput-object v3, v1, v2
const/16 v2, 0xa
const-class v3, Ljava/math/BigInteger;
aput-object v3, v1, v2
.line 37
:goto_45
if-ge v0, v4, :cond_55
aget-object v2, v1, v0
.line 38
sget-object v3, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;->_classNames:Ljava/util/HashSet;
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 37
add-int/lit8 v0, v0, 0x1
goto :goto_45
.line 40
:cond_55
return-void
.end method
.method public static find(Ljava/lang/Class;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonDeserializer;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/String;",
")",
"Lcom/fasterxml/jackson/databind/JsonDeserializer",
"<*>;"
}
.end annotation
.prologue
.line 43
invoke-virtual {p0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-eqz v0, :cond_3e
.line 44
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_d
.line 45
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;
.line 104
:goto_c
return-object v0
.line 47
:cond_d
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_14
.line 48
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;
goto :goto_c
.line 50
:cond_14
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_1b
.line 51
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;
goto :goto_c
.line 53
:cond_1b
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_22
.line 54
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;
goto :goto_c
.line 56
:cond_22
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_29
.line 57
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;
goto :goto_c
.line 59
:cond_29
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_30
.line 60
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;
goto :goto_c
.line 62
:cond_30
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_37
.line 63
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;
goto :goto_c
.line 65
:cond_37
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_97
.line 66
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;->primitiveInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;
goto :goto_c
.line 68
:cond_3e
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;->_classNames:Ljava/util/HashSet;
invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_94
.line 70
const-class v0, Ljava/lang/Integer;
if-ne p0, v0, :cond_4d
.line 71
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;
goto :goto_c
.line 73
:cond_4d
const-class v0, Ljava/lang/Boolean;
if-ne p0, v0, :cond_54
.line 74
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;
goto :goto_c
.line 76
:cond_54
const-class v0, Ljava/lang/Long;
if-ne p0, v0, :cond_5b
.line 77
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;
goto :goto_c
.line 79
:cond_5b
const-class v0, Ljava/lang/Double;
if-ne p0, v0, :cond_62
.line 80
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;
goto :goto_c
.line 82
:cond_62
const-class v0, Ljava/lang/Character;
if-ne p0, v0, :cond_69
.line 83
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;
goto :goto_c
.line 85
:cond_69
const-class v0, Ljava/lang/Byte;
if-ne p0, v0, :cond_70
.line 86
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;
goto :goto_c
.line 88
:cond_70
const-class v0, Ljava/lang/Short;
if-ne p0, v0, :cond_77
.line 89
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;
goto :goto_c
.line 91
:cond_77
const-class v0, Ljava/lang/Float;
if-ne p0, v0, :cond_7e
.line 92
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;->wrapperInstance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;
goto :goto_c
.line 94
:cond_7e
const-class v0, Ljava/lang/Number;
if-ne p0, v0, :cond_85
.line 95
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$NumberDeserializer;->instance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$NumberDeserializer;
goto :goto_c
.line 97
:cond_85
const-class v0, Ljava/math/BigDecimal;
if-ne p0, v0, :cond_8c
.line 98
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;->instance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;
goto :goto_c
.line 100
:cond_8c
const-class v0, Ljava/math/BigInteger;
if-ne p0, v0, :cond_97
.line 101
sget-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigIntegerDeserializer;->instance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigIntegerDeserializer;
goto/16 :goto_c
.line 104
:cond_94
const/4 v0, 0x0
goto/16 :goto_c
.line 107
:cond_97
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Internal error: can\'t find deserializer for "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method