210 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
.class public Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;
 | 
						|
.super Lcom/fasterxml/jackson/databind/deser/std/StdScalarDeserializer;
 | 
						|
.source "NumberDeserializers.java"
 | 
						|
 | 
						|
 | 
						|
# annotations
 | 
						|
.annotation runtime Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl;
 | 
						|
.end annotation
 | 
						|
 | 
						|
.annotation system Ldalvik/annotation/EnclosingClass;
 | 
						|
    value = Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;
 | 
						|
.end annotation
 | 
						|
 | 
						|
.annotation system Ldalvik/annotation/InnerClass;
 | 
						|
    accessFlags = 0x9
 | 
						|
    name = "BigDecimalDeserializer"
 | 
						|
.end annotation
 | 
						|
 | 
						|
.annotation system Ldalvik/annotation/Signature;
 | 
						|
    value = {
 | 
						|
        "Lcom/fasterxml/jackson/databind/deser/std/StdScalarDeserializer<",
 | 
						|
        "Ljava/math/BigDecimal;",
 | 
						|
        ">;"
 | 
						|
    }
 | 
						|
.end annotation
 | 
						|
 | 
						|
 | 
						|
# static fields
 | 
						|
.field public static final instance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;
 | 
						|
 | 
						|
 | 
						|
# direct methods
 | 
						|
.method public static constructor <clinit>()V
 | 
						|
    .locals 1
 | 
						|
 | 
						|
    .line 1
 | 
						|
    new-instance v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;
 | 
						|
 | 
						|
    invoke-direct {v0}, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;-><init>()V
 | 
						|
 | 
						|
    sput-object v0, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;->instance:Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public constructor <init>()V
 | 
						|
    .locals 1
 | 
						|
 | 
						|
    .line 1
 | 
						|
    const-class v0, Ljava/math/BigDecimal;
 | 
						|
 | 
						|
    invoke-direct {p0, v0}, Lcom/fasterxml/jackson/databind/deser/std/StdScalarDeserializer;-><init>(Ljava/lang/Class;)V
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
 | 
						|
# virtual methods
 | 
						|
.method public bridge synthetic deserialize(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object;
 | 
						|
    .locals 0
 | 
						|
    .annotation system Ldalvik/annotation/Throws;
 | 
						|
        value = {
 | 
						|
            Ljava/io/IOException;,
 | 
						|
            Lcom/fasterxml/jackson/core/JsonProcessingException;
 | 
						|
        }
 | 
						|
    .end annotation
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;->deserialize(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/math/BigDecimal;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    return-object p1
 | 
						|
.end method
 | 
						|
 | 
						|
.method public deserialize(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/math/BigDecimal;
 | 
						|
    .locals 3
 | 
						|
    .annotation system Ldalvik/annotation/Throws;
 | 
						|
        value = {
 | 
						|
            Ljava/io/IOException;
 | 
						|
        }
 | 
						|
    .end annotation
 | 
						|
 | 
						|
    .line 2
 | 
						|
    invoke-virtual {p1}, Lcom/fasterxml/jackson/core/JsonParser;->getCurrentTokenId()I
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    const/4 v1, 0x3
 | 
						|
 | 
						|
    if-eq v0, v1, :cond_3
 | 
						|
 | 
						|
    const/4 v1, 0x6
 | 
						|
 | 
						|
    if-eq v0, v1, :cond_1
 | 
						|
 | 
						|
    const/4 v1, 0x7
 | 
						|
 | 
						|
    if-eq v0, v1, :cond_0
 | 
						|
 | 
						|
    const/16 v1, 0x8
 | 
						|
 | 
						|
    if-ne v0, v1, :cond_5
 | 
						|
 | 
						|
    .line 3
 | 
						|
    :cond_0
 | 
						|
    invoke-virtual {p1}, Lcom/fasterxml/jackson/core/JsonParser;->getDecimalValue()Ljava/math/BigDecimal;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    return-object p1
 | 
						|
 | 
						|
    .line 4
 | 
						|
    :cond_1
 | 
						|
    invoke-virtual {p1}, Lcom/fasterxml/jackson/core/JsonParser;->getText()Ljava/lang/String;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    .line 5
 | 
						|
    invoke-virtual {p1}, Ljava/lang/String;->length()I
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    if-nez v0, :cond_2
 | 
						|
 | 
						|
    const/4 p1, 0x0
 | 
						|
 | 
						|
    return-object p1
 | 
						|
 | 
						|
    .line 6
 | 
						|
    :cond_2
 | 
						|
    :try_start_0
 | 
						|
    new-instance v0, Ljava/math/BigDecimal;
 | 
						|
 | 
						|
    invoke-direct {v0, p1}, Ljava/math/BigDecimal;-><init>(Ljava/lang/String;)V
 | 
						|
    :try_end_0
 | 
						|
    .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
 | 
						|
 | 
						|
    return-object v0
 | 
						|
 | 
						|
    .line 7
 | 
						|
    :catch_0
 | 
						|
    iget-object v0, p0, Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;->_valueClass:Ljava/lang/Class;
 | 
						|
 | 
						|
    const-string v1, "not a valid representation"
 | 
						|
 | 
						|
    invoke-virtual {p2, p1, v0, v1}, Lcom/fasterxml/jackson/databind/DeserializationContext;->weirdStringException(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonMappingException;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    throw p1
 | 
						|
 | 
						|
    .line 8
 | 
						|
    :cond_3
 | 
						|
    sget-object v0, Lcom/fasterxml/jackson/databind/DeserializationFeature;->UNWRAP_SINGLE_VALUE_ARRAYS:Lcom/fasterxml/jackson/databind/DeserializationFeature;
 | 
						|
 | 
						|
    invoke-virtual {p2, v0}, Lcom/fasterxml/jackson/databind/DeserializationContext;->isEnabled(Lcom/fasterxml/jackson/databind/DeserializationFeature;)Z
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    if-eqz v0, :cond_5
 | 
						|
 | 
						|
    .line 9
 | 
						|
    invoke-virtual {p1}, Lcom/fasterxml/jackson/core/JsonParser;->nextToken()Lcom/fasterxml/jackson/core/JsonToken;
 | 
						|
 | 
						|
    .line 10
 | 
						|
    invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;->deserialize(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/math/BigDecimal;
 | 
						|
 | 
						|
    move-result-object v0
 | 
						|
 | 
						|
    .line 11
 | 
						|
    invoke-virtual {p1}, Lcom/fasterxml/jackson/core/JsonParser;->nextToken()Lcom/fasterxml/jackson/core/JsonToken;
 | 
						|
 | 
						|
    move-result-object v1
 | 
						|
 | 
						|
    sget-object v2, Lcom/fasterxml/jackson/core/JsonToken;->END_ARRAY:Lcom/fasterxml/jackson/core/JsonToken;
 | 
						|
 | 
						|
    if-ne v1, v2, :cond_4
 | 
						|
 | 
						|
    return-object v0
 | 
						|
 | 
						|
    :cond_4
 | 
						|
    const-string v0, "Attempted to unwrap single value array for single \'BigDecimal\' value but there was more than a single value in the array"
 | 
						|
 | 
						|
    .line 12
 | 
						|
    invoke-virtual {p2, p1, v2, v0}, Lcom/fasterxml/jackson/databind/DeserializationContext;->wrongTokenException(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/core/JsonToken;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonMappingException;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    throw p1
 | 
						|
 | 
						|
    .line 13
 | 
						|
    :cond_5
 | 
						|
    iget-object v0, p0, Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;->_valueClass:Ljava/lang/Class;
 | 
						|
 | 
						|
    invoke-virtual {p1}, Lcom/fasterxml/jackson/core/JsonParser;->getCurrentToken()Lcom/fasterxml/jackson/core/JsonToken;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    invoke-virtual {p2, v0, p1}, Lcom/fasterxml/jackson/databind/DeserializationContext;->mappingException(Ljava/lang/Class;Lcom/fasterxml/jackson/core/JsonToken;)Lcom/fasterxml/jackson/databind/JsonMappingException;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    throw p1
 | 
						|
.end method
 |