ELUtils.smali
.class public Lcom/taobao/weex/dom/binding/ELUtils;
.super Ljava/lang/Object;
.source "ELUtils.java"
# static fields
.field public static final BINDING:Ljava/lang/String; = "@binding"
.field public static final COMPONENT_PROPS:Ljava/lang/String; = "@componentProps"
.field public static final EXCLUDES_BINDING:[Ljava/lang/String;
.field public static final IS_COMPONENT_ROOT:Ljava/lang/String; = "@isComponentRoot"
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string v0, "clickEventParams"
.line 46
filled-new-array {v0}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/taobao/weex/dom/binding/ELUtils;->EXCLUDES_BINDING:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static bindingBlock(Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"value"
}
.end annotation
.line 74
instance-of v0, p0, Lcom/alibaba/fastjson/JSONObject;
if-eqz v0, :cond_62
.line 75
move-object v0, p0
check-cast v0, Lcom/alibaba/fastjson/JSONObject;
const-string v1, "@binding"
.line 76
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_22
.line 77
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 78
instance-of v3, v2, Lcom/taobao/weex/el/parse/Token;
if-nez v3, :cond_22
.line 79
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/taobao/weex/el/parse/Parser;->parse(Ljava/lang/String;)Lcom/taobao/weex/el/parse/Token;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
.line 82
:cond_22
invoke-virtual {v0}, Lcom/alibaba/fastjson/JSONObject;->keySet()Ljava/util/Set;
move-result-object v2
.line 83
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_2a
:goto_2a
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_a4
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 84
invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
instance-of v4, v4, Lcom/alibaba/fastjson/JSONObject;
if-eqz v4, :cond_2a
.line 85
invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/alibaba/fastjson/JSONObject;
invoke-virtual {v4, v1}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_2a
.line 86
invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/alibaba/fastjson/JSONObject;
.line 87
invoke-virtual {v3, v1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
.line 88
instance-of v5, v4, Lcom/taobao/weex/el/parse/Token;
if-nez v5, :cond_2a
.line 89
invoke-virtual {v4}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Lcom/taobao/weex/el/parse/Parser;->parse(Ljava/lang/String;)Lcom/taobao/weex/el/parse/Token;
move-result-object v4
invoke-virtual {v3, v1, v4}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_2a
.line 93
:cond_62
instance-of v0, p0, Lcom/alibaba/fastjson/JSONArray;
if-eqz v0, :cond_7a
.line 94
move-object v0, p0
check-cast v0, Lcom/alibaba/fastjson/JSONArray;
const/4 v1, 0x0
.line 95
:goto_6a
invoke-virtual {v0}, Lcom/alibaba/fastjson/JSONArray;->size()I
move-result v2
if-ge v1, v2, :cond_a4
.line 96
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Lcom/taobao/weex/dom/binding/ELUtils;->bindingBlock(Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v1, v1, 0x1
goto :goto_6a
.line 98
:cond_7a
instance-of v0, p0, Ljava/lang/String;
if-eqz v0, :cond_a4
.line 99
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
const-string/jumbo v1, "{"
.line 100
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_94
.line 101
invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject;
move-result-object p0
invoke-static {p0}, Lcom/taobao/weex/dom/binding/ELUtils;->bindingBlock(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_94
const-string v1, "["
.line 102
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_a4
.line 103
invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->parseArray(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONArray;
move-result-object p0
invoke-static {p0}, Lcom/taobao/weex/dom/binding/ELUtils;->bindingBlock(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:cond_a4
return-object p0
.end method
.method public static isBinding(Ljava/lang/Object;)Z
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"value"
}
.end annotation
.line 52
instance-of v0, p0, Lcom/alibaba/fastjson/JSONObject;
const-string v1, "@binding"
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v0, :cond_11
.line 53
check-cast p0, Lcom/alibaba/fastjson/JSONObject;
.line 54
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_39
return v3
.line 57
:cond_11
instance-of v0, p0, Lcom/alibaba/fastjson/JSONArray;
if-eqz v0, :cond_2c
.line 58
check-cast p0, Lcom/alibaba/fastjson/JSONArray;
move v0, v2
.line 59
:goto_18
invoke-virtual {p0}, Lcom/alibaba/fastjson/JSONArray;->size()I
move-result v1
if-ge v0, v1, :cond_39
.line 60
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Lcom/taobao/weex/dom/binding/ELUtils;->isBinding(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_29
return v3
:cond_29
add-int/lit8 v0, v0, 0x1
goto :goto_18
.line 64
:cond_2c
instance-of v0, p0, Ljava/lang/String;
if-eqz v0, :cond_39
.line 65
check-cast p0, Ljava/lang/String;
invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result p0
if-ltz p0, :cond_39
move v2, v3
:cond_39
return v2
.end method
.method public static vforBlock(Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"vfor"
}
.end annotation
.line 110
instance-of v0, p0, Lcom/alibaba/fastjson/JSONObject;
if-eqz v0, :cond_23
.line 111
move-object v0, p0
check-cast v0, Lcom/alibaba/fastjson/JSONObject;
const-string v1, "@expression"
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_52
.line 112
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 113
instance-of v3, v2, Lcom/taobao/weex/el/parse/Token;
if-nez v3, :cond_52
.line 114
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/taobao/weex/el/parse/Parser;->parse(Ljava/lang/String;)Lcom/taobao/weex/el/parse/Token;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_52
.line 117
:cond_23
instance-of v0, p0, Ljava/lang/String;
if-eqz v0, :cond_34
.line 118
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/alibaba/fastjson/JSONObject;->parseObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject;
move-result-object p0
invoke-static {p0}, Lcom/taobao/weex/dom/binding/ELUtils;->vforBlock(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.line 120
:cond_34
invoke-static {}, Lcom/taobao/weex/WXEnvironment;->isApkDebugable()Z
move-result v0
if-eqz v0, :cond_52
.line 121
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v1, "weex vfor is illegal "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string/jumbo v1, "weex"
invoke-static {v1, v0}, Lcom/taobao/weex/utils/WXLogUtils;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_52
:goto_52
return-object p0
.end method