FromStringDeserializer$Std.smali
.class public Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;
.super Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;
.source "FromStringDeserializer.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
# static fields
.field public static final STD_CHARSET:I = 0x9
.field public static final STD_CLASS:I = 0x4
.field public static final STD_CURRENCY:I = 0x6
.field public static final STD_FILE:I = 0x1
.field public static final STD_INET_ADDRESS:I = 0xb
.field public static final STD_INET_SOCKET_ADDRESS:I = 0xc
.field public static final STD_JAVA_TYPE:I = 0x5
.field public static final STD_LOCALE:I = 0x8
.field public static final STD_PATTERN:I = 0x7
.field public static final STD_TIME_ZONE:I = 0xa
.field public static final STD_URI:I = 0x3
.field public static final STD_URL:I = 0x2
.field private static final serialVersionUID:J = 0x1L
# instance fields
.field protected final _kind:I
# direct methods
.method protected constructor <init>(Ljava/lang/Class;I)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;I)V"
}
.end annotation
.prologue
.line 206
invoke-direct {p0, p1}, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;-><init>(Ljava/lang/Class;)V
.line 207
iput p2, p0, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_kind:I
.line 208
return-void
.end method
# virtual methods
.method protected _deserialize(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
.registers 8
.prologue
const/16 v4, 0x3a
const/4 v1, 0x0
.line 213
iget v0, p0, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_kind:I
packed-switch v0, :pswitch_data_ee
.line 280
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
.line 215
:pswitch_e
new-instance v0, Ljava/io/File;
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 278
:goto_13
return-object v0
.line 217
:pswitch_14
new-instance v0, Ljava/net/URL;
invoke-direct {v0, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
goto :goto_13
.line 219
:pswitch_1a
invoke-static {p1}, Ljava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;
move-result-object v0
goto :goto_13
.line 222
:pswitch_1f
:try_start_1f
invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/databind/DeserializationContext;->findClass(Ljava/lang/String;)Ljava/lang/Class;
:try_end_22
.catch Ljava/lang/Exception; {:try_start_1f .. :try_end_22} :catch_24
move-result-object v0
goto :goto_13
.line 223
:catch_24
move-exception v0
.line 224
iget-object v1, p0, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_valueClass:Ljava/lang/Class;
invoke-static {v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getRootCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
invoke-virtual {p2, v1, p1, v0}, Lcom/fasterxml/jackson/databind/DeserializationContext;->handleInstantiationProblem(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
goto :goto_13
.line 228
:pswitch_30
invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/DeserializationContext;->getTypeFactory()Lcom/fasterxml/jackson/databind/type/TypeFactory;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/fasterxml/jackson/databind/type/TypeFactory;->constructFromCanonical(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JavaType;
move-result-object v0
goto :goto_13
.line 231
:pswitch_39
invoke-static {p1}, Ljava/util/Currency;->getInstance(Ljava/lang/String;)Ljava/util/Currency;
move-result-object v0
goto :goto_13
.line 234
:pswitch_3e
invoke-static {p1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
goto :goto_13
.line 237
:pswitch_43
invoke-virtual {p0, p1}, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_firstHyphenOrUnderscore(Ljava/lang/String;)I
move-result v0
.line 238
if-gez v0, :cond_4f
.line 239
new-instance v0, Ljava/util/Locale;
invoke-direct {v0, p1}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
goto :goto_13
.line 241
:cond_4f
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
.line 242
add-int/lit8 v0, v0, 0x1
invoke-virtual {p1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v3
.line 243
invoke-virtual {p0, v3}, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_firstHyphenOrUnderscore(Ljava/lang/String;)I
move-result v4
.line 244
if-gez v4, :cond_65
.line 245
new-instance v0, Ljava/util/Locale;
invoke-direct {v0, v2, v3}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_13
.line 247
:cond_65
invoke-virtual {v3, v1, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
.line 248
new-instance v0, Ljava/util/Locale;
add-int/lit8 v4, v4, 0x1
invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v3
invoke-direct {v0, v2, v1, v3}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_13
.line 251
:pswitch_75
invoke-static {p1}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
goto :goto_13
.line 253
:pswitch_7a
invoke-static {p1}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v0
goto :goto_13
.line 255
:pswitch_7f
invoke-static {p1}, Ljava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
move-result-object v0
goto :goto_13
.line 257
:pswitch_84
const-string v0, "["
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_c3
.line 260
const/16 v0, 0x5d
invoke-virtual {p1, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v3
.line 261
const/4 v0, -0x1
if-ne v3, v0, :cond_a3
.line 262
new-instance v0, Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;
invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/DeserializationContext;->getParser()Lcom/fasterxml/jackson/core/JsonParser;
move-result-object v1
const-string v2, "Bracketed IPv6 address must contain closing bracket"
const-class v3, Ljava/net/InetSocketAddress;
invoke-direct {v0, v1, v2, p1, v3}, Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;-><init>(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)V
throw v0
.line 267
:cond_a3
invoke-virtual {p1, v4, v3}, Ljava/lang/String;->indexOf(II)I
move-result v0
.line 268
if-ltz v0, :cond_c1
add-int/lit8 v0, v0, 0x1
invoke-virtual {p1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 269
:goto_b3
new-instance v2, Ljava/net/InetSocketAddress;
add-int/lit8 v3, v3, 0x1
invoke-virtual {p1, v1, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1, v0}, Ljava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
move-object v0, v2
goto/16 :goto_13
:cond_c1
move v0, v1
.line 268
goto :goto_b3
.line 271
:cond_c3
invoke-virtual {p1, v4}, Ljava/lang/String;->indexOf(I)I
move-result v2
.line 272
if-ltz v2, :cond_e6
add-int/lit8 v0, v2, 0x1
invoke-virtual {p1, v4, v0}, Ljava/lang/String;->indexOf(II)I
move-result v0
if-gez v0, :cond_e6
.line 274
add-int/lit8 v0, v2, 0x1
invoke-virtual {p1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
.line 275
new-instance v0, Ljava/net/InetSocketAddress;
invoke-virtual {p1, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, v3}, Ljava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
goto/16 :goto_13
.line 278
:cond_e6
new-instance v0, Ljava/net/InetSocketAddress;
invoke-direct {v0, p1, v1}, Ljava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
goto/16 :goto_13
.line 213
nop
:pswitch_data_ee
.packed-switch 0x1
:pswitch_e
:pswitch_14
:pswitch_1a
:pswitch_1f
:pswitch_30
:pswitch_39
:pswitch_3e
:pswitch_43
:pswitch_75
:pswitch_7a
:pswitch_7f
:pswitch_84
.end packed-switch
.end method
.method protected _deserializeFromEmptyString()Ljava/lang/Object;
.registers 3
.prologue
.line 286
iget v0, p0, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_kind:I
const/4 v1, 0x3
if-ne v0, v1, :cond_c
.line 287
const-string v0, ""
invoke-static {v0}, Ljava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;
move-result-object v0
.line 293
:goto_b
return-object v0
.line 290
:cond_c
iget v0, p0, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer$Std;->_kind:I
const/16 v1, 0x8
if-ne v0, v1, :cond_15
.line 291
sget-object v0, Ljava/util/Locale;->ROOT:Ljava/util/Locale;
goto :goto_b
.line 293
:cond_15
invoke-super {p0}, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;->_deserializeFromEmptyString()Ljava/lang/Object;
move-result-object v0
goto :goto_b
.end method
.method protected _firstHyphenOrUnderscore(Ljava/lang/String;)I
.registers 6
.prologue
.line 299
const/4 v0, 0x0
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
:goto_5
if-ge v0, v1, :cond_17
.line 300
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v2
.line 301
const/16 v3, 0x5f
if-eq v2, v3, :cond_13
const/16 v3, 0x2d
if-ne v2, v3, :cond_14
.line 305
:cond_13
:goto_13
return v0
.line 299
:cond_14
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 305
:cond_17
const/4 v0, -0x1
goto :goto_13
.end method