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