ef.smali
.class final Lcom/google/protobuf/ef;
.super Ljava/lang/Object;
.source "RopeByteString.java"
# instance fields
.field final bnj:Ljava/util/Stack;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Stack",
"<",
"Lcom/google/protobuf/ByteString;",
">;"
}
.end annotation
.end field
# direct methods
.method private constructor <init>()V
.registers 2
.prologue
.line 564
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 568
new-instance v0, Ljava/util/Stack;
invoke-direct {v0}, Ljava/util/Stack;-><init>()V
iput-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
return-void
.end method
.method synthetic constructor <init>(B)V
.registers 2
.prologue
.line 564
invoke-direct {p0}, Lcom/google/protobuf/ef;-><init>()V
return-void
.end method
.method private static dV(I)I
.registers 2
.prologue
.line 657
# getter for: Lcom/google/protobuf/RopeByteString;->bni:[I
invoke-static {}, Lcom/google/protobuf/RopeByteString;->access$600()[I
move-result-object v0
invoke-static {v0, p0}, Ljava/util/Arrays;->binarySearch([II)I
move-result v0
.line 658
if-gez v0, :cond_f
.line 661
add-int/lit8 v0, v0, 0x1
neg-int v0, v0
.line 662
add-int/lit8 v0, v0, -0x1
.line 665
:cond_f
return v0
.end method
# virtual methods
.method final f(Lcom/google/protobuf/ByteString;)V
.registers 8
.prologue
const/4 v5, 0x0
.line 590
move-object v1, p1
:goto_2
invoke-virtual {v1}, Lcom/google/protobuf/ByteString;->isBalanced()Z
move-result v0
if-eqz v0, :cond_a9
.line 1618
invoke-virtual {v1}, Lcom/google/protobuf/ByteString;->size()I
move-result v0
invoke-static {v0}, Lcom/google/protobuf/ef;->dV(I)I
move-result v2
.line 1619
# getter for: Lcom/google/protobuf/RopeByteString;->bni:[I
invoke-static {}, Lcom/google/protobuf/RopeByteString;->access$600()[I
move-result-object v0
add-int/lit8 v3, v2, 0x1
aget v3, v0, v3
.line 1625
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->isEmpty()Z
move-result v0
if-nez v0, :cond_2e
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/ByteString;
invoke-virtual {v0}, Lcom/google/protobuf/ByteString;->size()I
move-result v0
if-lt v0, v3, :cond_34
.line 1626
:cond_2e
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0, v1}, Ljava/util/Stack;->push(Ljava/lang/Object;)Ljava/lang/Object;
:goto_33
return-void
.line 1628
:cond_34
# getter for: Lcom/google/protobuf/RopeByteString;->bni:[I
invoke-static {}, Lcom/google/protobuf/RopeByteString;->access$600()[I
move-result-object v0
aget v4, v0, v2
.line 1631
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->pop()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/ByteString;
move-object v2, v0
.line 1632
:goto_43
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->isEmpty()Z
move-result v0
if-nez v0, :cond_68
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
.line 1633
invoke-virtual {v0}, Ljava/util/Stack;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/ByteString;
invoke-virtual {v0}, Lcom/google/protobuf/ByteString;->size()I
move-result v0
if-ge v0, v4, :cond_68
.line 1634
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->pop()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/ByteString;
.line 1635
new-instance v3, Lcom/google/protobuf/RopeByteString;
invoke-direct {v3, v0, v2, v5}, Lcom/google/protobuf/RopeByteString;-><init>(Lcom/google/protobuf/ByteString;Lcom/google/protobuf/ByteString;Lcom/google/protobuf/RopeByteString$1;)V
move-object v2, v3
.line 1636
goto :goto_43
.line 1639
:cond_68
new-instance v0, Lcom/google/protobuf/RopeByteString;
invoke-direct {v0, v2, v1, v5}, Lcom/google/protobuf/RopeByteString;-><init>(Lcom/google/protobuf/ByteString;Lcom/google/protobuf/ByteString;Lcom/google/protobuf/RopeByteString$1;)V
move-object v1, v0
.line 1642
:goto_6e
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->isEmpty()Z
move-result v0
if-nez v0, :cond_a3
.line 1643
invoke-virtual {v1}, Lcom/google/protobuf/ByteString;->size()I
move-result v0
invoke-static {v0}, Lcom/google/protobuf/ef;->dV(I)I
move-result v0
.line 1644
# getter for: Lcom/google/protobuf/RopeByteString;->bni:[I
invoke-static {}, Lcom/google/protobuf/RopeByteString;->access$600()[I
move-result-object v2
add-int/lit8 v0, v0, 0x1
aget v2, v2, v0
.line 1645
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/ByteString;
invoke-virtual {v0}, Lcom/google/protobuf/ByteString;->size()I
move-result v0
if-ge v0, v2, :cond_a3
.line 1646
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/util/Stack;->pop()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/ByteString;
.line 1647
new-instance v2, Lcom/google/protobuf/RopeByteString;
invoke-direct {v2, v0, v1, v5}, Lcom/google/protobuf/RopeByteString;-><init>(Lcom/google/protobuf/ByteString;Lcom/google/protobuf/ByteString;Lcom/google/protobuf/RopeByteString$1;)V
move-object v1, v2
.line 1648
goto :goto_6e
.line 1652
:cond_a3
iget-object v0, p0, Lcom/google/protobuf/ef;->bnj:Ljava/util/Stack;
invoke-virtual {v0, v1}, Ljava/util/Stack;->push(Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_33
.line 592
:cond_a9
instance-of v0, v1, Lcom/google/protobuf/RopeByteString;
if-eqz v0, :cond_bd
move-object v0, v1
.line 593
check-cast v0, Lcom/google/protobuf/RopeByteString;
.line 594
# getter for: Lcom/google/protobuf/RopeByteString;->left:Lcom/google/protobuf/ByteString;
invoke-static {v0}, Lcom/google/protobuf/RopeByteString;->access$400(Lcom/google/protobuf/RopeByteString;)Lcom/google/protobuf/ByteString;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/google/protobuf/ef;->f(Lcom/google/protobuf/ByteString;)V
.line 595
# getter for: Lcom/google/protobuf/RopeByteString;->right:Lcom/google/protobuf/ByteString;
invoke-static {v0}, Lcom/google/protobuf/RopeByteString;->access$500(Lcom/google/protobuf/RopeByteString;)Lcom/google/protobuf/ByteString;
move-result-object v1
goto/16 :goto_2
.line 597
:cond_bd
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Has a new type of ByteString been created? Found "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 599
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method