JSONPath$q.smali
.class Lcom/tradplus/ads/common/serialization/JSONPath$q;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/tradplus/ads/common/serialization/JSONPath$aa;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/tradplus/ads/common/serialization/JSONPath;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "q"
.end annotation
# instance fields
.field private final a:[Ljava/lang/String;
.field private final b:[J
# direct methods
.method public constructor <init>([Ljava/lang/String;)V
.registers 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->a:[Ljava/lang/String;
array-length v0, p1
new-array v0, v0, [J
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->b:[J
const/4 v0, 0x0
:goto_b
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->b:[J
array-length v2, v1
if-ge v0, v2, :cond_1b
aget-object v2, p1, v0
invoke-static {v2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v2
aput-wide v2, v1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_b
:cond_1b
return-void
.end method
# virtual methods
.method public eval(Lcom/tradplus/ads/common/serialization/JSONPath;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
new-instance p2, Ljava/util/ArrayList;
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->a:[Ljava/lang/String;
array-length v0, v0
invoke-direct {p2, v0}, Ljava/util/ArrayList;-><init>(I)V
const/4 v0, 0x0
:goto_9
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->a:[Ljava/lang/String;
array-length v2, v1
if-ge v0, v2, :cond_1e
aget-object v1, v1, v0
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->b:[J
aget-wide v3, v2, v0
invoke-virtual {p1, p3, v1, v3, v4}, Lcom/tradplus/ads/common/serialization/JSONPath;->a(Ljava/lang/Object;Ljava/lang/String;J)Ljava/lang/Object;
move-result-object v1
invoke-interface {p2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, v0, 0x1
goto :goto_9
:cond_1e
return-object p2
.end method
.method public extract(Lcom/tradplus/ads/common/serialization/JSONPath;Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Lcom/tradplus/ads/common/serialization/JSONPath$b;)V
.registers 9
iget-object p1, p2, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->lexer:Lcom/tradplus/ads/common/serialization/parser/JSONLexer;
check-cast p1, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;
iget-object v0, p3, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
if-nez v0, :cond_10
new-instance v0, Lcom/tradplus/ads/common/serialization/JSONArray;
invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/JSONArray;-><init>()V
iput-object v0, p3, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
goto :goto_12
:cond_10
check-cast v0, Lcom/tradplus/ads/common/serialization/JSONArray;
:goto_12
invoke-virtual {v0}, Lcom/tradplus/ads/common/serialization/JSONArray;->size()I
move-result p3
:goto_16
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->b:[J
array-length v1, v1
if-ge p3, v1, :cond_22
const/4 v1, 0x0
invoke-virtual {v0, v1}, Lcom/tradplus/ads/common/serialization/JSONArray;->add(Ljava/lang/Object;)Z
add-int/lit8 p3, p3, 0x1
goto :goto_16
:cond_22
:goto_22
iget-object p3, p0, Lcom/tradplus/ads/common/serialization/JSONPath$q;->b:[J
invoke-virtual {p1, p3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->seekObjectToField([J)I
move-result p3
iget v1, p1, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v2, 0x3
if-ne v1, v2, :cond_5b
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v1
const/4 v3, 0x2
const/16 v4, 0x10
if-eq v1, v3, :cond_4a
if-eq v1, v2, :cond_45
const/4 v2, 0x4
if-eq v1, v2, :cond_40
invoke-virtual {p2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object v1
goto :goto_51
:cond_40
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v1
goto :goto_4e
:cond_45
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->decimalValue()Ljava/math/BigDecimal;
move-result-object v1
goto :goto_4e
:cond_4a
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->integerValue()Ljava/lang/Number;
move-result-object v1
:goto_4e
invoke-virtual {p1, v4}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
:goto_51
invoke-virtual {v0, p3, v1}, Lcom/tradplus/ads/common/serialization/JSONArray;->set(ILjava/lang/Object;)Ljava/lang/Object;
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result p3
if-ne p3, v4, :cond_5b
goto :goto_22
:cond_5b
return-void
.end method