a.smali
.class public Lcom/hankcs/hanlp/b/a/a;
.super Ljava/lang/Object;
# direct methods
.method protected static a([CLcom/hankcs/hanlp/collection/a/a;)Ljava/lang/String;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([C",
"Lcom/hankcs/hanlp/collection/a/a",
"<",
"Ljava/lang/String;",
">;)",
"Ljava/lang/String;"
}
.end annotation
array-length v0, p0
new-array v1, v0, [Ljava/lang/String;
array-length v0, p0
new-array v2, v0, [I
new-instance v0, Lcom/hankcs/hanlp/b/a/a$1;
invoke-direct {v0, v2, v1}, Lcom/hankcs/hanlp/b/a/a$1;-><init>([I[Ljava/lang/String;)V
invoke-virtual {p1, p0, v0}, Lcom/hankcs/hanlp/collection/a/a;->a([CLcom/hankcs/hanlp/collection/a/a$b;)V
new-instance v3, Ljava/lang/StringBuilder;
array-length v0, p0
invoke-direct {v3, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v0, 0x0
:goto_15
array-length v4, v1
if-ge v0, v4, :cond_2d
aget-object v4, v1, v0
if-nez v4, :cond_24
aget-char v4, p0, v0
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v0, v0, 0x1
goto :goto_15
:cond_24
aget-object v4, v1, v0
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget v4, v2, v0
add-int/2addr v0, v4
goto :goto_15
:cond_2d
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method static a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;)Z
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/hankcs/hanlp/collection/a/a",
"<",
"Ljava/lang/String;",
">;)Z"
}
.end annotation
const/4 v0, 0x0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v2, ".bin"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/hankcs/hanlp/a/b/a;->a(Ljava/lang/String;)Lcom/hankcs/hanlp/a/b/a;
move-result-object v1
if-nez v1, :cond_1c
:goto_1b
return v0
:cond_1c
invoke-virtual {v1}, Lcom/hankcs/hanlp/a/b/a;->a()I
move-result v2
new-array v2, v2, [Ljava/lang/String;
:goto_22
array-length v3, v2
if-ge v0, v3, :cond_2e
invoke-virtual {v1}, Lcom/hankcs/hanlp/a/b/a;->c()Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
add-int/lit8 v0, v0, 0x1
goto :goto_22
:cond_2e
invoke-virtual {p1, v1, v2}, Lcom/hankcs/hanlp/collection/a/a;->a(Lcom/hankcs/hanlp/a/b/a;[Ljava/lang/Object;)Z
const/4 v0, 0x1
goto :goto_1b
.end method
.method static a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;Ljava/util/Set;)Z
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/hankcs/hanlp/collection/a/a",
"<",
"Ljava/lang/String;",
">;",
"Ljava/util/Set",
"<",
"Ljava/util/Map$Entry",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;>;)Z"
}
.end annotation
const/4 v1, 0x0
invoke-virtual {p1}, Lcom/hankcs/hanlp/collection/a/a;->a()I
move-result v0
invoke-interface {p2}, Ljava/util/Set;->size()I
move-result v2
if-eq v0, v2, :cond_15
sget-object v0, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;
const-string/jumbo v2, "\u952e\u503c\u5bf9\u4e0d\u5339\u914d"
invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V
move v0, v1
:goto_14
return v0
:cond_15
:try_start_15
new-instance v2, Ljava/io/DataOutputStream;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string/jumbo v3, ".bin"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/hankcs/hanlp/a/b/c;->b(Ljava/lang/String;)Ljava/io/OutputStream;
move-result-object v0
invoke-direct {v2, v0}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
invoke-interface {p2}, Ljava/util/Set;->size()I
move-result v0
invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;->writeInt(I)V
invoke-interface {p2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_3d
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_63
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v4
array-length v0, v4
invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;->writeInt(I)V
array-length v5, v4
move v0, v1
:goto_59
if-ge v0, v5, :cond_3d
aget-char v6, v4, v0
invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;->writeChar(I)V
add-int/lit8 v0, v0, 0x1
goto :goto_59
:cond_63
invoke-virtual {p1, v2}, Lcom/hankcs/hanlp/collection/a/a;->a(Ljava/io/DataOutputStream;)V
invoke-virtual {v2}, Ljava/io/DataOutputStream;->close()V
:try_end_69
.catch Ljava/lang/Exception; {:try_start_15 .. :try_end_69} :catch_6b
const/4 v0, 0x1
goto :goto_14
:catch_6b
move-exception v0
sget-object v0, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v3, "\u7f13\u5b58\u503cdat"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string/jumbo v3, "\u5931\u8d25"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V
move v0, v1
goto :goto_14
.end method
.method static a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;Z)Z
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/hankcs/hanlp/collection/a/a",
"<",
"Ljava/lang/String;",
">;Z)Z"
}
.end annotation
const/4 v2, 0x0
const/4 v1, 0x1
if-eqz p2, :cond_6f
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string/jumbo v3, ".reverse"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:goto_18
invoke-static {v0, p1}, Lcom/hankcs/hanlp/b/a/a;->a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;)Z
move-result v3
if-eqz v3, :cond_20
move v0, v1
:goto_1f
return v0
:cond_20
new-instance v3, Ljava/util/TreeMap;
invoke-direct {v3}, Ljava/util/TreeMap;-><init>()V
new-array v4, v1, [Ljava/lang/String;
aput-object p0, v4, v2
invoke-static {v3, p2, v4}, Lcom/hankcs/hanlp/b/a/a;->a(Ljava/util/Map;Z[Ljava/lang/String;)Z
move-result v4
if-nez v4, :cond_31
move v0, v2
goto :goto_1f
:cond_31
sget-object v2, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v5, "\u6b63\u5728\u6784\u5efaAhoCorasickDoubleArrayTrie\uff0c\u6765\u6e90\uff1a"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/util/logging/Logger;->info(Ljava/lang/String;)V
invoke-virtual {p1, v3}, Lcom/hankcs/hanlp/collection/a/a;->a(Ljava/util/TreeMap;)V
sget-object v2, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v5, "\u6b63\u5728\u7f13\u5b58\u53cc\u6570\u7ec4"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/util/logging/Logger;->info(Ljava/lang/String;)V
invoke-virtual {v3}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set;
move-result-object v2
invoke-static {v0, p1, v2}, Lcom/hankcs/hanlp/b/a/a;->a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;Ljava/util/Set;)Z
move v0, v1
goto :goto_1f
:cond_6f
move-object v0, p0
goto :goto_18
.end method
.method static varargs a(Ljava/util/Map;Z[Ljava/lang/String;)Z
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;Z[",
"Ljava/lang/String;",
")Z"
}
.end annotation
const/4 v1, 0x0
new-instance v0, Lcom/hankcs/hanlp/a/a/b;
const-string/jumbo v2, "="
invoke-direct {v0, v2}, Lcom/hankcs/hanlp/a/a/b;-><init>(Ljava/lang/String;)V
array-length v3, p2
move v2, v1
:goto_b
if-ge v2, v3, :cond_1a
aget-object v4, p2, v2
invoke-virtual {v0, v4}, Lcom/hankcs/hanlp/a/a/b;->a(Ljava/lang/String;)Z
move-result v4
if-nez v4, :cond_17
move v0, v1
:goto_16
return v0
:cond_17
add-int/lit8 v2, v2, 0x1
goto :goto_b
:cond_1a
if-eqz p1, :cond_20
invoke-virtual {v0}, Lcom/hankcs/hanlp/a/a/b;->b()Lcom/hankcs/hanlp/a/a/b;
move-result-object v0
:cond_20
invoke-virtual {v0}, Lcom/hankcs/hanlp/a/a/b;->a()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_28
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_40
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-interface {p0, v2, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_28
:cond_40
const/4 v0, 0x1
goto :goto_16
.end method