ObjectBuffer.smali
.class public final Lcom/fasterxml/jackson/databind/util/ObjectBuffer;
.super Ljava/lang/Object;
.source "ObjectBuffer.java"
# instance fields
.field private _freeBuffer:[Ljava/lang/Object;
.field private _head:Lcom/fasterxml/jackson/databind/util/LinkedNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/fasterxml/jackson/databind/util/LinkedNode",
"<[",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private _size:I
.field private _tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/fasterxml/jackson/databind/util/LinkedNode",
"<[",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 54
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method protected final _copyTo(Ljava/lang/Object;I[Ljava/lang/Object;I)V
.registers 10
.prologue
const/4 v3, 0x0
.line 195
.line 197
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_head:Lcom/fasterxml/jackson/databind/util/LinkedNode;
move-object v1, v0
move v2, v3
:goto_5
if-eqz v1, :cond_18
.line 198
invoke-virtual {v1}, Lcom/fasterxml/jackson/databind/util/LinkedNode;->value()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
.line 199
array-length v4, v0
.line 200
invoke-static {v0, v3, p1, v2, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 201
add-int/2addr v2, v4
.line 197
invoke-virtual {v1}, Lcom/fasterxml/jackson/databind/util/LinkedNode;->next()Lcom/fasterxml/jackson/databind/util/LinkedNode;
move-result-object v0
move-object v1, v0
goto :goto_5
.line 203
:cond_18
invoke-static {p3, v3, p1, v2, p4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 204
add-int v0, v2, p4
.line 207
if-eq v0, p2, :cond_3e
.line 208
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Should have gotten "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " entries, got "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 210
:cond_3e
return-void
.end method
.method protected final _reset()V
.registers 2
.prologue
.line 184
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
if-eqz v0, :cond_e
.line 185
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
invoke-virtual {v0}, Lcom/fasterxml/jackson/databind/util/LinkedNode;->value()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_freeBuffer:[Ljava/lang/Object;
.line 188
:cond_e
const/4 v0, 0x0
iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_head:Lcom/fasterxml/jackson/databind/util/LinkedNode;
.line 189
const/4 v0, 0x0
iput v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_size:I
.line 190
return-void
.end method
.method public final appendCompletedChunk([Ljava/lang/Object;)[Ljava/lang/Object;
.registers 4
.prologue
.line 91
new-instance v0, Lcom/fasterxml/jackson/databind/util/LinkedNode;
const/4 v1, 0x0
invoke-direct {v0, p1, v1}, Lcom/fasterxml/jackson/databind/util/LinkedNode;-><init>(Ljava/lang/Object;Lcom/fasterxml/jackson/databind/util/LinkedNode;)V
.line 92
iget-object v1, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_head:Lcom/fasterxml/jackson/databind/util/LinkedNode;
if-nez v1, :cond_1c
.line 93
iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_head:Lcom/fasterxml/jackson/databind/util/LinkedNode;
.line 98
:goto_e
array-length v0, p1
.line 99
iget v1, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_size:I
add-int/2addr v1, v0
iput v1, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_size:I
.line 101
const/16 v1, 0x4000
if-ge v0, v1, :cond_24
.line 102
add-int/2addr v0, v0
.line 106
:cond_19
:goto_19
new-array v0, v0, [Ljava/lang/Object;
return-object v0
.line 95
:cond_1c
iget-object v1, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
invoke-virtual {v1, v0}, Lcom/fasterxml/jackson/databind/util/LinkedNode;->linkNext(Lcom/fasterxml/jackson/databind/util/LinkedNode;)V
.line 96
iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_tail:Lcom/fasterxml/jackson/databind/util/LinkedNode;
goto :goto_e
.line 103
:cond_24
const/high16 v1, 0x40000
if-ge v0, v1, :cond_19
.line 104
shr-int/lit8 v1, v0, 0x2
add-int/2addr v0, v1
goto :goto_19
.end method
.method public final bufferedSize()I
.registers 2
.prologue
.line 173
iget v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_size:I
return v0
.end method
.method public final completeAndClearBuffer([Ljava/lang/Object;ILjava/util/List;)V
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/Object;",
"I",
"Ljava/util/List",
"<",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.prologue
const/4 v1, 0x0
.line 147
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_head:Lcom/fasterxml/jackson/databind/util/LinkedNode;
move-object v3, v0
:goto_4
if-eqz v3, :cond_1e
.line 148
invoke-virtual {v3}, Lcom/fasterxml/jackson/databind/util/LinkedNode;->value()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
.line 149
array-length v4, v0
move v2, v1
:goto_e
if-ge v2, v4, :cond_18
.line 150
aget-object v5, v0, v2
invoke-interface {p3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 149
add-int/lit8 v2, v2, 0x1
goto :goto_e
.line 147
:cond_18
invoke-virtual {v3}, Lcom/fasterxml/jackson/databind/util/LinkedNode;->next()Lcom/fasterxml/jackson/databind/util/LinkedNode;
move-result-object v0
move-object v3, v0
goto :goto_4
:cond_1e
move v0, v1
.line 154
:goto_1f
if-ge v0, p2, :cond_29
.line 155
aget-object v1, p1, v0
invoke-interface {p3, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 154
add-int/lit8 v0, v0, 0x1
goto :goto_1f
.line 157
:cond_29
return-void
.end method
.method public final completeAndClearBuffer([Ljava/lang/Object;I)[Ljava/lang/Object;
.registers 5
.prologue
.line 121
iget v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_size:I
add-int/2addr v0, p2
.line 122
new-array v1, v0, [Ljava/lang/Object;
.line 123
invoke-virtual {p0, v1, v0, p1, p2}, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_copyTo(Ljava/lang/Object;I[Ljava/lang/Object;I)V
.line 124
return-object v1
.end method
.method public final completeAndClearBuffer([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([",
"Ljava/lang/Object;",
"I",
"Ljava/lang/Class",
"<TT;>;)[TT;"
}
.end annotation
.prologue
.line 137
iget v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_size:I
add-int v1, p2, v0
.line 139
invoke-static {p3, v1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
.line 140
invoke-virtual {p0, v0, v1, p1, p2}, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_copyTo(Ljava/lang/Object;I[Ljava/lang/Object;I)V
.line 141
invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_reset()V
.line 142
return-object v0
.end method
.method public final initialCapacity()I
.registers 2
.prologue
.line 166
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_freeBuffer:[Ljava/lang/Object;
if-nez v0, :cond_6
const/4 v0, 0x0
:goto_5
return v0
:cond_6
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_freeBuffer:[Ljava/lang/Object;
array-length v0, v0
goto :goto_5
.end method
.method public final resetAndStart()[Ljava/lang/Object;
.registers 2
.prologue
.line 68
invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_reset()V
.line 69
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_freeBuffer:[Ljava/lang/Object;
if-nez v0, :cond_c
.line 70
const/16 v0, 0xc
new-array v0, v0, [Ljava/lang/Object;
.line 72
:goto_b
return-object v0
:cond_c
iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/ObjectBuffer;->_freeBuffer:[Ljava/lang/Object;
goto :goto_b
.end method