.class Lcom/alibaba/fastjson/JSONPath$RangeSegement; .super Ljava/lang/Object; .source "JSONPath.java" # interfaces .implements Lcom/alibaba/fastjson/JSONPath$Segement; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/alibaba/fastjson/JSONPath; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x8 name = "RangeSegement" .end annotation # instance fields .field private final end:I .field private final start:I .field private final step:I # direct methods .method public constructor (III)V .locals 0 .line 1125 invoke-direct {p0}, Ljava/lang/Object;->()V .line 1126 iput p1, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->start:I .line 1127 iput p2, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->end:I .line 1128 iput p3, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->step:I return-void .end method # virtual methods .method public eval(Lcom/alibaba/fastjson/JSONPath;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 5 .line 1132 sget-object v0, Lcom/alibaba/fastjson/JSONPath$SizeSegement;->instance:Lcom/alibaba/fastjson/JSONPath$SizeSegement; invoke-virtual {v0, p1, p2, p3}, Lcom/alibaba/fastjson/JSONPath$SizeSegement;->eval(Lcom/alibaba/fastjson/JSONPath;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Integer; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I move-result p2 .line 1133 iget v0, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->start:I if-ltz v0, :cond_0 iget v0, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->start:I goto :goto_0 :cond_0 iget v0, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->start:I add-int/2addr v0, p2 .line 1134 :goto_0 iget v1, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->end:I if-ltz v1, :cond_1 iget v1, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->end:I goto :goto_1 :cond_1 iget v1, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->end:I add-int/2addr v1, p2 .line 1136 :goto_1 new-instance v2, Ljava/util/ArrayList; sub-int v3, v1, v0 iget v4, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->step:I div-int/2addr v3, v4 add-int/lit8 v3, v3, 0x1 invoke-direct {v2, v3}, Ljava/util/ArrayList;->(I)V :goto_2 if-gt v0, v1, :cond_2 if-ge v0, p2, :cond_2 .line 1138 invoke-virtual {p1, p3, v0}, Lcom/alibaba/fastjson/JSONPath;->getArrayItem(Ljava/lang/Object;I)Ljava/lang/Object; move-result-object v3 .line 1139 invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 1137 iget v3, p0, Lcom/alibaba/fastjson/JSONPath$RangeSegement;->step:I add-int/2addr v0, v3 goto :goto_2 :cond_2 return-object v2 .end method