PatriciaTrie$a.smali

.class final Lorg/ardverk/collection/PatriciaTrie$a;
.super Lorg/ardverk/collection/PatriciaTrie$d;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lorg/ardverk/collection/PatriciaTrie;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x10
    name = "a"
.end annotation

.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lorg/ardverk/collection/PatriciaTrie$a$a;,
        Lorg/ardverk/collection/PatriciaTrie$a$b;
    }
.end annotation


# instance fields
.field final synthetic a:Lorg/ardverk/collection/PatriciaTrie;

.field private final c:Lorg/ardverk/collection/PatriciaTrie$b;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lorg/ardverk/collection/PatriciaTrie",
            "<TK;TV;>.b;"
        }
    .end annotation
.end field

.field private d:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry",
            "<TK;TV;>;"
        }
    .end annotation
.end field

.field private e:I


# direct methods
.method public constructor <init>(Lorg/ardverk/collection/PatriciaTrie;Lorg/ardverk/collection/PatriciaTrie$b;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lorg/ardverk/collection/PatriciaTrie",
            "<TK;TV;>.b;)V"
        }
    .end annotation

    iput-object p1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->a:Lorg/ardverk/collection/PatriciaTrie;

    invoke-direct {p0, p1, p2}, Lorg/ardverk/collection/PatriciaTrie$d;-><init>(Lorg/ardverk/collection/PatriciaTrie;Lorg/ardverk/collection/PatriciaTrie$e;)V

    const/4 v0, -0x1

    iput v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->e:I

    iput-object p2, p0, Lorg/ardverk/collection/PatriciaTrie$a;->c:Lorg/ardverk/collection/PatriciaTrie$b;

    return-void
.end method


# virtual methods
.method public iterator()Ljava/util/Iterator;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Iterator",
            "<",
            "Ljava/util/Map$Entry",
            "<TK;TV;>;>;"
        }
    .end annotation

    iget-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->a:Lorg/ardverk/collection/PatriciaTrie;

    iget v0, v0, Lorg/ardverk/collection/PatriciaTrie;->modCount:I

    iget v1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->e:I

    if-eq v0, v1, :cond_1c

    iget-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->a:Lorg/ardverk/collection/PatriciaTrie;

    iget-object v1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->c:Lorg/ardverk/collection/PatriciaTrie$b;

    invoke-static {v1}, Lorg/ardverk/collection/PatriciaTrie$b;->b(Lorg/ardverk/collection/PatriciaTrie$b;)Ljava/lang/Object;

    move-result-object v1

    # invokes: Lorg/ardverk/collection/PatriciaTrie;->subtree(Ljava/lang/Object;)Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
    invoke-static {v0, v1}, Lorg/ardverk/collection/PatriciaTrie;->access$900(Lorg/ardverk/collection/PatriciaTrie;Ljava/lang/Object;)Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    move-result-object v0

    iput-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->d:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->a:Lorg/ardverk/collection/PatriciaTrie;

    iget v0, v0, Lorg/ardverk/collection/PatriciaTrie;->modCount:I

    iput v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->e:I

    :cond_1c
    iget-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->d:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-nez v0, :cond_29

    invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :goto_28
    return-object v0

    :cond_29
    iget-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->a:Lorg/ardverk/collection/PatriciaTrie;

    iget-object v1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->c:Lorg/ardverk/collection/PatriciaTrie$b;

    invoke-static {v1}, Lorg/ardverk/collection/PatriciaTrie$b;->b(Lorg/ardverk/collection/PatriciaTrie$b;)Ljava/lang/Object;

    move-result-object v1

    invoke-virtual {v0, v1}, Lorg/ardverk/collection/PatriciaTrie;->lengthInBits(Ljava/lang/Object;)I

    move-result v0

    iget-object v1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->d:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v1, v1, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    if-lt v0, v1, :cond_43

    new-instance v0, Lorg/ardverk/collection/PatriciaTrie$a$b;

    iget-object v1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->d:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    invoke-direct {v0, p0, v1}, Lorg/ardverk/collection/PatriciaTrie$a$b;-><init>(Lorg/ardverk/collection/PatriciaTrie$a;Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;)V

    goto :goto_28

    :cond_43
    new-instance v0, Lorg/ardverk/collection/PatriciaTrie$a$a;

    iget-object v1, p0, Lorg/ardverk/collection/PatriciaTrie$a;->d:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget-object v2, p0, Lorg/ardverk/collection/PatriciaTrie$a;->c:Lorg/ardverk/collection/PatriciaTrie$b;

    invoke-static {v2}, Lorg/ardverk/collection/PatriciaTrie$b;->b(Lorg/ardverk/collection/PatriciaTrie$b;)Ljava/lang/Object;

    move-result-object v2

    invoke-direct {v0, p0, v1, v2}, Lorg/ardverk/collection/PatriciaTrie$a$a;-><init>(Lorg/ardverk/collection/PatriciaTrie$a;Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;Ljava/lang/Object;)V

    goto :goto_28
.end method

.method public size()I
    .registers 2

    iget-object v0, p0, Lorg/ardverk/collection/PatriciaTrie$a;->c:Lorg/ardverk/collection/PatriciaTrie$b;

    invoke-static {v0}, Lorg/ardverk/collection/PatriciaTrie$b;->a(Lorg/ardverk/collection/PatriciaTrie$b;)I

    move-result v0

    return v0
.end method