s.smali
.class public final Lcom/google/common/io/s;
.super Ljava/lang/Object;
.source "LineReader.java"
# instance fields
.field private final aXN:Ljava/lang/Readable;
.field private final aXO:Ljava/nio/CharBuffer;
.field final aXP:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private final aXQ:Lcom/google/common/io/q;
.field private final buf:[C
.field private final reader:Ljava/io/Reader;
# direct methods
.method public constructor <init>(Ljava/lang/Readable;)V
.registers 3
.prologue
.line 55
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 41
const/16 v0, 0x1000
new-array v0, v0, [C
iput-object v0, p0, Lcom/google/common/io/s;->buf:[C
.line 42
iget-object v0, p0, Lcom/google/common/io/s;->buf:[C
invoke-static {v0}, Ljava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer;
move-result-object v0
iput-object v0, p0, Lcom/google/common/io/s;->aXO:Ljava/nio/CharBuffer;
.line 44
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/google/common/io/s;->aXP:Ljava/util/Queue;
.line 45
new-instance v0, Lcom/google/common/io/s$1;
invoke-direct {v0, p0}, Lcom/google/common/io/s$1;-><init>(Lcom/google/common/io/s;)V
iput-object v0, p0, Lcom/google/common/io/s;->aXQ:Lcom/google/common/io/q;
.line 56
invoke-static {p1}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Readable;
iput-object v0, p0, Lcom/google/common/io/s;->aXN:Ljava/lang/Readable;
.line 57
instance-of v0, p1, Ljava/io/Reader;
if-eqz v0, :cond_30
check-cast p1, Ljava/io/Reader;
:goto_2d
iput-object p1, p0, Lcom/google/common/io/s;->reader:Ljava/io/Reader;
.line 58
return-void
.line 57
:cond_30
const/4 p1, 0x0
goto :goto_2d
.end method
# virtual methods
.method public final readLine()Ljava/lang/String;
.registers 5
.prologue
.line 72
:goto_0
iget-object v0, p0, Lcom/google/common/io/s;->aXP:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_24
.line 73
iget-object v0, p0, Lcom/google/common/io/s;->aXO:Ljava/nio/CharBuffer;
invoke-virtual {v0}, Ljava/nio/CharBuffer;->clear()Ljava/nio/Buffer;
.line 76
iget-object v0, p0, Lcom/google/common/io/s;->reader:Ljava/io/Reader;
if-eqz v0, :cond_2d
iget-object v0, p0, Lcom/google/common/io/s;->reader:Ljava/io/Reader;
iget-object v1, p0, Lcom/google/common/io/s;->buf:[C
const/4 v2, 0x0
const/16 v3, 0x1000
invoke-virtual {v0, v1, v2, v3}, Ljava/io/Reader;->read([CII)I
move-result v0
.line 79
:goto_1c
const/4 v1, -0x1
if-ne v0, v1, :cond_36
.line 80
iget-object v0, p0, Lcom/google/common/io/s;->aXQ:Lcom/google/common/io/q;
invoke-virtual {v0}, Lcom/google/common/io/q;->finish()V
.line 85
:cond_24
iget-object v0, p0, Lcom/google/common/io/s;->aXP:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
return-object v0
.line 76
:cond_2d
iget-object v0, p0, Lcom/google/common/io/s;->aXN:Ljava/lang/Readable;
iget-object v1, p0, Lcom/google/common/io/s;->aXO:Ljava/nio/CharBuffer;
invoke-interface {v0, v1}, Ljava/lang/Readable;->read(Ljava/nio/CharBuffer;)I
move-result v0
goto :goto_1c
.line 83
:cond_36
iget-object v1, p0, Lcom/google/common/io/s;->aXQ:Lcom/google/common/io/q;
iget-object v2, p0, Lcom/google/common/io/s;->buf:[C
invoke-virtual {v1, v2, v0}, Lcom/google/common/io/q;->b([CI)V
goto :goto_0
.end method