JSONPath$v.smali
.class Lcom/tradplus/ads/common/serialization/JSONPath$v;
.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 = "v"
.end annotation
# instance fields
.field private final a:Ljava/lang/String;
.field private final b:J
.field private final c:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;Z)V
.registers 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v0
iput-wide v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
iput-boolean p2, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
return-void
.end method
.method static synthetic a(Lcom/tradplus/ads/common/serialization/JSONPath$v;)Z
.registers 1
iget-boolean p0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
return p0
.end method
.method static synthetic b(Lcom/tradplus/ads/common/serialization/JSONPath$v;)Ljava/lang/String;
.registers 1
iget-object p0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
return-object p0
.end method
# virtual methods
.method public eval(Lcom/tradplus/ads/common/serialization/JSONPath;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
iget-boolean p2, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-eqz p2, :cond_f
new-instance p2, Ljava/util/ArrayList;
invoke-direct {p2}, Ljava/util/ArrayList;-><init>()V
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
invoke-virtual {p1, p3, v0, p2}, Lcom/tradplus/ads/common/serialization/JSONPath;->a(Ljava/lang/Object;Ljava/lang/String;Ljava/util/List;)V
return-object p2
:cond_f
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
iget-wide v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
invoke-virtual {p1, p3, p2, v0, v1}, Lcom/tradplus/ads/common/serialization/JSONPath;->a(Ljava/lang/Object;Ljava/lang/String;J)Ljava/lang/Object;
move-result-object p1
return-object p1
.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 20
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object/from16 v2, p3
iget-object v3, v1, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->lexer:Lcom/tradplus/ads/common/serialization/parser/JSONLexer;
check-cast v3, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;
iget-boolean v4, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-eqz v4, :cond_19
iget-object v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
if-nez v4, :cond_19
new-instance v4, Lcom/tradplus/ads/common/serialization/JSONArray;
invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/JSONArray;-><init>()V
iput-object v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
:cond_19
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v4
const/4 v5, -0x1
const/16 v6, 0xe
const/4 v7, 0x4
const/4 v8, 0x2
const/4 v9, 0x3
const/16 v10, 0x10
if-ne v4, v6, :cond_e3
iget-object v4, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
const-string v11, "*"
invoke-virtual {v11, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_32
return-void
:cond_32
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
iget-boolean v4, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-eqz v4, :cond_3e
iget-object v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
check-cast v4, Lcom/tradplus/ads/common/serialization/JSONArray;
goto :goto_43
:cond_3e
new-instance v4, Lcom/tradplus/ads/common/serialization/JSONArray;
invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/JSONArray;-><init>()V
:goto_43
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v11
const/16 v12, 0xc
const/4 v13, 0x0
if-eq v11, v12, :cond_5f
if-eq v11, v6, :cond_56
packed-switch v11, :pswitch_data_172
goto :goto_9c
:pswitch_52
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
goto :goto_9c
:cond_56
iget-boolean v11, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-eqz v11, :cond_5b
goto :goto_63
:cond_5b
:goto_5b
invoke-virtual {v3, v13}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->skipObject(Z)V
goto :goto_9c
:cond_5f
iget-boolean v11, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-eqz v11, :cond_67
:goto_63
invoke-virtual/range {p0 .. p3}, Lcom/tradplus/ads/common/serialization/JSONPath$v;->extract(Lcom/tradplus/ads/common/serialization/JSONPath;Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Lcom/tradplus/ads/common/serialization/JSONPath$b;)V
goto :goto_9c
:cond_67
iget-wide v14, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
invoke-virtual {v3, v14, v15, v11}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->seekObjectToField(JZ)I
move-result v11
if-ne v11, v9, :cond_94
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v11
if-eq v11, v8, :cond_81
if-eq v11, v7, :cond_7c
invoke-virtual/range {p2 .. p2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object v11
goto :goto_88
:cond_7c
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v11
goto :goto_85
:cond_81
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->integerValue()Ljava/lang/Number;
move-result-object v11
:goto_85
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
:goto_88
invoke-virtual {v4, v11}, Lcom/tradplus/ads/common/serialization/JSONArray;->add(Ljava/lang/Object;)Z
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v11
const/16 v12, 0xd
if-ne v11, v12, :cond_5b
goto :goto_ba
:cond_94
if-ne v11, v5, :cond_97
goto :goto_43
:cond_97
iget-boolean v11, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-nez v11, :cond_d9
goto :goto_5b
:goto_9c
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v11
const/16 v12, 0xf
if-ne v11, v12, :cond_b4
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
iget-boolean v1, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-nez v1, :cond_b3
invoke-virtual {v4}, Lcom/tradplus/ads/common/serialization/JSONArray;->size()I
move-result v1
if-lez v1, :cond_b3
iput-object v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
:cond_b3
return-void
:cond_b4
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v11
if-ne v11, v10, :cond_be
:goto_ba
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
goto :goto_43
:cond_be
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "illegal json : "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->info()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v1
:cond_d9
new-instance v1, Ljava/lang/UnsupportedOperationException;
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->info()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v1
:cond_e3
iget-boolean v4, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-nez v4, :cond_11a
iget-wide v5, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
invoke-virtual {v3, v5, v6, v4}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->seekObjectToField(JZ)I
move-result v4
if-ne v4, v9, :cond_119
iget-boolean v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->b:Z
if-eqz v4, :cond_119
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v4
if-eq v4, v8, :cond_10c
if-eq v4, v9, :cond_107
if-eq v4, v7, :cond_102
invoke-virtual/range {p2 .. p2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object v1
goto :goto_113
:cond_102
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v1
goto :goto_110
:cond_107
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->decimalValue()Ljava/math/BigDecimal;
move-result-object v1
goto :goto_110
:cond_10c
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->integerValue()Ljava/lang/Number;
move-result-object v1
:goto_110
invoke-virtual {v3, v10}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
:goto_113
iget-boolean v3, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->b:Z
if-eqz v3, :cond_119
iput-object v1, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
:cond_119
return-void
:cond_11a
:goto_11a
iget-wide v11, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
iget-boolean v4, v0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
invoke-virtual {v3, v11, v12, v4}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->seekObjectToField(JZ)I
move-result v4
if-ne v4, v5, :cond_125
return-void
:cond_125
if-ne v4, v9, :cond_168
iget-boolean v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->b:Z
if-eqz v4, :cond_11a
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v4
if-eq v4, v8, :cond_144
if-eq v4, v9, :cond_13f
if-eq v4, v7, :cond_13a
invoke-virtual/range {p2 .. p2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object v4
goto :goto_14b
:cond_13a
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v4
goto :goto_148
:cond_13f
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->decimalValue()Ljava/math/BigDecimal;
move-result-object v4
goto :goto_148
:cond_144
invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->integerValue()Ljava/lang/Number;
move-result-object v4
:goto_148
invoke-virtual {v3, v10}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
:goto_14b
iget-boolean v6, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->b:Z
if-eqz v6, :cond_11a
iget-object v6, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
instance-of v11, v6, Ljava/util/List;
if-eqz v11, :cond_161
check-cast v6, Ljava/util/List;
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v11
if-nez v11, :cond_164
instance-of v11, v4, Ljava/util/List;
if-eqz v11, :cond_164
:cond_161
iput-object v4, v2, Lcom/tradplus/ads/common/serialization/JSONPath$b;->c:Ljava/lang/Object;
goto :goto_11a
:cond_164
invoke-interface {v6, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_11a
:cond_168
const/4 v6, 0x1
if-eq v4, v6, :cond_16d
if-ne v4, v8, :cond_11a
:cond_16d
invoke-virtual/range {p0 .. p3}, Lcom/tradplus/ads/common/serialization/JSONPath$v;->extract(Lcom/tradplus/ads/common/serialization/JSONPath;Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Lcom/tradplus/ads/common/serialization/JSONPath$b;)V
goto :goto_11a
nop
:pswitch_data_172
.packed-switch 0x2
:pswitch_52
:pswitch_52
:pswitch_52
:pswitch_52
:pswitch_52
:pswitch_52
:pswitch_52
.end packed-switch
.end method
.method public remove(Lcom/tradplus/ads/common/serialization/JSONPath;Ljava/lang/Object;)Z
.registers 5
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
iget-boolean v1, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
invoke-virtual {p1, p2, v0, v1}, Lcom/tradplus/ads/common/serialization/JSONPath;->a(Ljava/lang/Object;Ljava/lang/String;Z)Z
move-result p1
return p1
.end method
.method public setValue(Lcom/tradplus/ads/common/serialization/JSONPath;Ljava/lang/Object;Ljava/lang/Object;)V
.registers 16
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->c:Z
if-eqz v0, :cond_f
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
iget-wide v4, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
move-object v1, p1
move-object v2, p2
move-object v6, p3
invoke-virtual/range {v1 .. v6}, Lcom/tradplus/ads/common/serialization/JSONPath;->a(Ljava/lang/Object;Ljava/lang/String;JLjava/lang/Object;)V
goto :goto_19
:cond_f
iget-object v8, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->a:Ljava/lang/String;
iget-wide v9, p0, Lcom/tradplus/ads/common/serialization/JSONPath$v;->b:J
move-object v6, p1
move-object v7, p2
move-object v11, p3
invoke-virtual/range {v6 .. v11}, Lcom/tradplus/ads/common/serialization/JSONPath;->b(Ljava/lang/Object;Ljava/lang/String;JLjava/lang/Object;)Z
:goto_19
return-void
.end method