JSONArray.smali
.class public Lcom/alibaba/fastjson/JSONArray;
.super Lcom/alibaba/fastjson/JSON;
.source "JSONArray.java"
# interfaces
.implements Ljava/util/List;
.implements Ljava/lang/Cloneable;
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/alibaba/fastjson/JSON;",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;",
"Ljava/lang/Cloneable;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# instance fields
.field protected transient componentType:Ljava/lang/reflect/Type;
.field private final list:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field protected transient relatedArray:Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.registers 3
.line 1
invoke-direct {p0}, Lcom/alibaba/fastjson/JSON;-><init>()V
.line 2
new-instance v0, Ljava/util/ArrayList;
const/16 v1, 0xa
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
return-void
.end method
.method public constructor <init>(I)V
.registers 3
.line 5
invoke-direct {p0}, Lcom/alibaba/fastjson/JSON;-><init>()V
.line 6
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0, p1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
return-void
.end method
.method public constructor <init>(Ljava/util/List;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.line 3
invoke-direct {p0}, Lcom/alibaba/fastjson/JSON;-><init>()V
.line 4
iput-object p1, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
return-void
.end method
# virtual methods
.method public add(ILjava/lang/Object;)V
.registers 4
.line 2
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1, p2}, Ljava/util/List;->add(ILjava/lang/Object;)V
return-void
.end method
.method public add(Ljava/lang/Object;)Z
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public addAll(ILjava/util/Collection;)Z
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/Collection<",
"+",
"Ljava/lang/Object;",
">;)Z"
}
.end annotation
.line 2
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1, p2}, Ljava/util/List;->addAll(ILjava/util/Collection;)Z
move-result p1
return p1
.end method
.method public addAll(Ljava/util/Collection;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Ljava/lang/Object;",
">;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
move-result p1
return p1
.end method
.method public clear()V
.registers 2
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
return-void
.end method
.method public clone()Ljava/lang/Object;
.registers 4
.line 1
new-instance v0, Lcom/alibaba/fastjson/JSONArray;
new-instance v1, Ljava/util/ArrayList;
iget-object v2, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONArray;-><init>(Ljava/util/List;)V
return-object v0
.end method
.method public contains(Ljava/lang/Object;)Z
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public containsAll(Ljava/util/Collection;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"*>;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->containsAll(Ljava/util/Collection;)Z
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Object;
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public getBigDecimal(I)Ljava/math/BigDecimal;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBigDecimal(Ljava/lang/Object;)Ljava/math/BigDecimal;
move-result-object p1
return-object p1
.end method
.method public getBigInteger(I)Ljava/math/BigInteger;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBigInteger(Ljava/lang/Object;)Ljava/math/BigInteger;
move-result-object p1
return-object p1
.end method
.method public getBoolean(I)Ljava/lang/Boolean;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
return-object p1
.line 2
:cond_8
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBoolean(Ljava/lang/Object;)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.end method
.method public getBooleanValue(I)Z
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
return p1
.line 2
:cond_8
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBoolean(Ljava/lang/Object;)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
return p1
.end method
.method public getByte(I)Ljava/lang/Byte;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToByte(Ljava/lang/Object;)Ljava/lang/Byte;
move-result-object p1
return-object p1
.end method
.method public getByteValue(I)B
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
return p1
.line 2
:cond_8
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToByte(Ljava/lang/Object;)Ljava/lang/Byte;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Byte;->byteValue()B
move-result p1
return p1
.end method
.method public getComponentType()Ljava/lang/reflect/Type;
.registers 2
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->componentType:Ljava/lang/reflect/Type;
return-object v0
.end method
.method public getDate(I)Ljava/util/Date;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToDate(Ljava/lang/Object;)Ljava/util/Date;
move-result-object p1
return-object p1
.end method
.method public getDouble(I)Ljava/lang/Double;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToDouble(Ljava/lang/Object;)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public getDoubleValue(I)D
.registers 4
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_9
const-wide/16 v0, 0x0
return-wide v0
.line 2
:cond_9
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToDouble(Ljava/lang/Object;)Ljava/lang/Double;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v0
return-wide v0
.end method
.method public getFloat(I)Ljava/lang/Float;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToFloat(Ljava/lang/Object;)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public getFloatValue(I)F
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
return p1
.line 2
:cond_8
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToFloat(Ljava/lang/Object;)Ljava/lang/Float;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
move-result p1
return p1
.end method
.method public getIntValue(I)I
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
return p1
.line 2
:cond_8
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToInt(Ljava/lang/Object;)Ljava/lang/Integer;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
return p1
.end method
.method public getInteger(I)Ljava/lang/Integer;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToInt(Ljava/lang/Object;)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public getJSONArray(I)Lcom/alibaba/fastjson/JSONArray;
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
instance-of v0, p1, Lcom/alibaba/fastjson/JSONArray;
if-eqz v0, :cond_d
.line 3
check-cast p1, Lcom/alibaba/fastjson/JSONArray;
return-object p1
.line 4
:cond_d
invoke-static {p1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/alibaba/fastjson/JSONArray;
return-object p1
.end method
.method public getJSONObject(I)Lcom/alibaba/fastjson/JSONObject;
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
instance-of v0, p1, Lcom/alibaba/fastjson/JSONObject;
if-eqz v0, :cond_d
.line 3
check-cast p1, Lcom/alibaba/fastjson/JSONObject;
return-object p1
.line 4
:cond_d
invoke-static {p1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/alibaba/fastjson/JSONObject;
return-object p1
.end method
.method public getLong(I)Ljava/lang/Long;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToLong(Ljava/lang/Object;)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public getLongValue(I)J
.registers 4
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_9
const-wide/16 v0, 0x0
return-wide v0
.line 2
:cond_9
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToLong(Ljava/lang/Object;)Ljava/lang/Long;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v0
return-wide v0
.end method
.method public getObject(ILjava/lang/Class;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(I",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1, p2}, Lcom/alibaba/fastjson/util/TypeUtils;->castToJavaBean(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public getRelatedArray()Ljava/lang/Object;
.registers 2
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->relatedArray:Ljava/lang/Object;
return-object v0
.end method
.method public getShort(I)Ljava/lang/Short;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToShort(Ljava/lang/Object;)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public getShortValue(I)S
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
return p1
.line 2
:cond_8
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToShort(Ljava/lang/Object;)Ljava/lang/Short;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Short;->shortValue()S
move-result p1
return p1
.end method
.method public getString(I)Ljava/lang/String;
.registers 2
.line 1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object p1
.line 2
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.registers 2
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->hashCode()I
move-result v0
return v0
.end method
.method public indexOf(Ljava/lang/Object;)I
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public isEmpty()Z
.registers 2
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->lastIndexOf(Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public listIterator()Ljava/util/ListIterator;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ListIterator<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->listIterator()Ljava/util/ListIterator;
move-result-object v0
return-object v0
.end method
.method public listIterator(I)Ljava/util/ListIterator;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/ListIterator<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 2
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->listIterator(I)Ljava/util/ListIterator;
move-result-object p1
return-object p1
.end method
.method public remove(I)Ljava/lang/Object;
.registers 3
.line 2
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public remove(Ljava/lang/Object;)Z
.registers 3
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public removeAll(Ljava/util/Collection;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"*>;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->removeAll(Ljava/util/Collection;)Z
move-result p1
return p1
.end method
.method public retainAll(Ljava/util/Collection;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"*>;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->retainAll(Ljava/util/Collection;)Z
move-result p1
return p1
.end method
.method public set(ILjava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/JSONArray;->list:Ljava/util/List;
invoke-inter