.class public Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer; .super Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer; .source "UUIDDeserializer.java" # annotations .annotation system Ldalvik/annotation/Signature; value = { "Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer<", "Ljava/util/UUID;", ">;" } .end annotation # static fields .field public static final HEX_DIGITS:[I .field private static final serialVersionUID:J = 0x1L # direct methods .method public static constructor ()V .locals 4 const/16 v0, 0x7f new-array v0, v0, [I .line 1 sput-object v0, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->HEX_DIGITS:[I const/4 v1, -0x1 .line 2 invoke-static {v0, v1}, Ljava/util/Arrays;->fill([II)V const/4 v0, 0x0 move v1, v0 :goto_0 const/16 v2, 0xa if-ge v1, v2, :cond_0 .line 3 sget-object v2, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->HEX_DIGITS:[I add-int/lit8 v3, v1, 0x30 aput v1, v2, v3 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 :goto_1 const/4 v1, 0x6 if-ge v0, v1, :cond_1 .line 4 sget-object v1, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->HEX_DIGITS:[I add-int/lit8 v2, v0, 0x61 add-int/lit8 v3, v0, 0xa aput v3, v1, v2 add-int/lit8 v2, v0, 0x41 .line 5 aput v3, v1, v2 add-int/lit8 v0, v0, 0x1 goto :goto_1 :cond_1 return-void .end method .method public constructor ()V .locals 1 .line 1 const-class v0, Ljava/util/UUID; invoke-direct {p0, v0}, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;->(Ljava/lang/Class;)V return-void .end method .method public static _badChar(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;C)I .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation const/4 p1, 0x3 new-array p1, p1, [Ljava/lang/Object; .line 1 invoke-static {p3}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 const/4 v1, 0x0 aput-object v0, p1, v1 invoke-static {p3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object p3 const/4 v0, 0x1 aput-object p3, p1, v0 const/4 p3, 0x2 aput-object p0, p1, p3 const-string p3, "Non-hex character \'%c\' (value 0x%s), not valid for UUID String: input String \'%s\'" invoke-static {p3, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 .line 2 invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/DeserializationContext;->getParser()Lcom/fasterxml/jackson/core/JsonParser; move-result-object p2 const-class p3, Ljava/util/UUID; invoke-static {p2, p1, p0, p3}, Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;->from(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/exc/InvalidFormatException; move-result-object p0 throw p0 .end method .method private _badFormat(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/DeserializationContext;->getParser()Lcom/fasterxml/jackson/core/JsonParser; move-result-object p2 const/4 v0, 0x1 new-array v0, v0, [Ljava/lang/Object; const/4 v1, 0x0 aput-object p1, v0, v1 const-string v1, "UUID has to be represented by standard 36-char representation: input String \'%s\'" invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;->handledType()Ljava/lang/Class; move-result-object v1 invoke-static {p2, v0, p1, v1}, Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;->from(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/exc/InvalidFormatException; move-result-object p1 throw p1 .end method .method private _fromBytes([BLcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; .locals 4 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 array-length v0, p1 const/16 v1, 0x10 if-ne v0, v1, :cond_0 .line 2 new-instance p2, Ljava/util/UUID; const/4 v0, 0x0 invoke-static {p1, v0}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_long([BI)J move-result-wide v0 const/16 v2, 0x8 invoke-static {p1, v2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_long([BI)J move-result-wide v2 invoke-direct {p2, v0, v1, v2, v3}, Ljava/util/UUID;->(JJ)V return-object p2 .line 3 :cond_0 invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/DeserializationContext;->getParser()Lcom/fasterxml/jackson/core/JsonParser; move-result-object p2 const-string v0, "Can only construct UUIDs from byte[16]; got " invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 array-length v1, p1 const-string v2, " bytes" invoke-static {v0, v1, v2}, Landroid/support/v4/media/c;->a(Ljava/lang/StringBuilder;ILjava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;->handledType()Ljava/lang/Class; move-result-object v1 invoke-static {p2, v0, p1, v1}, Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;->from(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/exc/InvalidFormatException; move-result-object p1 throw p1 .end method .method private static _int([BI)I .locals 2 .line 1 aget-byte v0, p0, p1 shl-int/lit8 v0, v0, 0x18 add-int/lit8 v1, p1, 0x1 aget-byte v1, p0, v1 and-int/lit16 v1, v1, 0xff shl-int/lit8 v1, v1, 0x10 or-int/2addr v0, v1 add-int/lit8 v1, p1, 0x2 aget-byte v1, p0, v1 and-int/lit16 v1, v1, 0xff shl-int/lit8 v1, v1, 0x8 or-int/2addr v0, v1 add-int/lit8 p1, p1, 0x3 aget-byte p0, p0, p1 and-int/lit16 p0, p0, 0xff or-int/2addr p0, v0 return p0 .end method .method private static _long([BI)J .locals 3 .line 1 invoke-static {p0, p1}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_int([BI)I move-result v0 int-to-long v0, v0 const/16 v2, 0x20 shl-long/2addr v0, v2 add-int/lit8 p1, p1, 0x4 .line 2 invoke-static {p0, p1}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_int([BI)I move-result p0 int-to-long p0, p0 shl-long/2addr p0, v2 ushr-long/2addr p0, v2 or-long/2addr p0, v0 return-wide p0 .end method .method public static byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I .locals 6 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v0 add-int/lit8 v1, p1, 0x1 .line 2 invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C move-result v2 const/16 v3, 0x7f if-gt v0, v3, :cond_0 if-gt v2, v3, :cond_0 .line 3 sget-object v4, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->HEX_DIGITS:[I aget v5, v4, v0 shl-int/lit8 v5, v5, 0x4 aget v4, v4, v2 or-int/2addr v4, v5 if-ltz v4, :cond_0 return v4 :cond_0 if-gt v0, v3, :cond_2 .line 4 sget-object v3, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->HEX_DIGITS:[I aget v3, v3, v0 if-gez v3, :cond_1 goto :goto_0 .line 5 :cond_1 invoke-static {p0, v1, p2, v2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_badChar(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;C)I move-result p0 return p0 .line 6 :cond_2 :goto_0 invoke-static {p0, p1, p2, v0}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_badChar(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;C)I move-result p0 return p0 .end method .method public static intFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 invoke-static {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v0 shl-int/lit8 v0, v0, 0x18 add-int/lit8 v1, p1, 0x2 invoke-static {p0, v1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v1 shl-int/lit8 v1, v1, 0x10 add-int/2addr v0, v1 add-int/lit8 v1, p1, 0x4 invoke-static {p0, v1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v1 shl-int/lit8 v1, v1, 0x8 add-int/2addr v0, v1 add-int/lit8 p1, p1, 0x6 invoke-static {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result p0 add-int/2addr p0, v0 return p0 .end method .method public static shortFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 invoke-static {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v0 shl-int/lit8 v0, v0, 0x8 add-int/lit8 p1, p1, 0x2 invoke-static {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->byteFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result p0 add-int/2addr p0, v0 return p0 .end method # virtual methods .method public bridge synthetic _deserialize(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object; .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_deserialize(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; move-result-object p1 return-object p1 .end method .method public _deserialize(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; .locals 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 const/16 v1, 0x18 const/16 v2, 0x24 if-eq v0, v2, :cond_1 .line 3 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 if-ne v0, v1, :cond_0 .line 4 invoke-static {}, Lcom/fasterxml/jackson/core/Base64Variants;->getDefaultVariant()Lcom/fasterxml/jackson/core/Base64Variant; move-result-object v0 invoke-virtual {v0, p1}, Lcom/fasterxml/jackson/core/Base64Variant;->decode(Ljava/lang/String;)[B move-result-object p1 .line 5 invoke-direct {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_fromBytes([BLcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; move-result-object p1 return-object p1 .line 6 :cond_0 invoke-direct {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_badFormat(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)V :cond_1 const/16 v0, 0x8 .line 7 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v2, 0x2d if-ne v0, v2, :cond_2 const/16 v0, 0xd invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v0 if-ne v0, v2, :cond_2 const/16 v0, 0x12 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v0 if-ne v0, v2, :cond_2 const/16 v0, 0x17 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v0 if-eq v0, v2, :cond_3 .line 8 :cond_2 invoke-direct {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_badFormat(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DeserializationContext;)V :cond_3 const/4 v0, 0x0 .line 9 invoke-static {p1, v0, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->intFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v0 int-to-long v2, v0 const/16 v0, 0x20 shl-long/2addr v2, v0 const/16 v4, 0x9 .line 10 invoke-static {p1, v4, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->shortFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v4 int-to-long v4, v4 const/16 v6, 0x10 shl-long/2addr v4, v6 const/16 v7, 0xe .line 11 invoke-static {p1, v7, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->shortFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v7 int-to-long v7, v7 or-long/2addr v4, v7 add-long/2addr v2, v4 const/16 v4, 0x13 .line 12 invoke-static {p1, v4, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->shortFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v4 shl-int/2addr v4, v6 invoke-static {p1, v1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->shortFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result v1 or-int/2addr v1, v4 int-to-long v4, v1 shl-long/2addr v4, v0 const/16 v1, 0x1c .line 13 invoke-static {p1, v1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->intFromChars(Ljava/lang/String;ILcom/fasterxml/jackson/databind/DeserializationContext;)I move-result p1 int-to-long p1, p1 shl-long/2addr p1, v0 ushr-long/2addr p1, v0 or-long/2addr p1, v4 .line 14 new-instance v0, Ljava/util/UUID; invoke-direct {v0, v2, v3, p1, p2}, Ljava/util/UUID;->(JJ)V return-object v0 .end method .method public bridge synthetic _deserializeEmbedded(Ljava/lang/Object;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object; .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_deserializeEmbedded(Ljava/lang/Object;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; move-result-object p1 return-object p1 .end method .method public _deserializeEmbedded(Ljava/lang/Object;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2 instance-of v0, p1, [B if-eqz v0, :cond_0 .line 3 check-cast p1, [B invoke-direct {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/UUIDDeserializer;->_fromBytes([BLcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/UUID; move-result-object p1 return-object p1 .line 4 :cond_0 invoke-super {p0, p1, p2}, Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;->_deserializeEmbedded(Ljava/lang/Object;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/lang/Object; const/4 p1, 0x0 return-object p1 .end method