.class public final Lkotlin/sequences/ConstrainedOnceSequence; .super Ljava/lang/Object; .source "SequencesJVM.kt" # interfaces .implements Lkotlin/sequences/Sequence; # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lkotlin/sequences/Sequence<", "TT;>;" } .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000\u001c\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010(\n\u0000\u0008\u0000\u0018\u0000*\u0004\u0008\u0000\u0010\u00012\u0008\u0012\u0004\u0012\u0002H\u00010\u0002B\u0013\u0012\u000c\u0010\u0003\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0002\u00a2\u0006\u0002\u0010\u0004J\u000f\u0010\u0008\u001a\u0008\u0012\u0004\u0012\u00028\u00000\tH\u0096\u0002R(\u0010\u0005\u001a\u001c\u0012\u0018\u0012\u0016\u0012\u0004\u0012\u00028\u0000 \u0007*\n\u0012\u0004\u0012\u00028\u0000\u0018\u00010\u00020\u00020\u0006X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\n" } d2 = { "Lkotlin/sequences/ConstrainedOnceSequence;", "T", "Lkotlin/sequences/Sequence;", "sequence", "(Lkotlin/sequences/Sequence;)V", "sequenceRef", "Ljava/util/concurrent/atomic/AtomicReference;", "kotlin.jvm.PlatformType", "iterator", "", "kotlin-stdlib" } k = 0x1 mv = { 0x1, 0x9, 0x0 } xi = 0x30 .end annotation # instance fields .field private final sequenceRef:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Lkotlin/sequences/Sequence<", "TT;>;>;" } .end annotation .end field # direct methods .method public constructor (Lkotlin/sequences/Sequence;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/sequences/Sequence<", "+TT;>;)V" } .end annotation const-string v0, "sequence" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 19 invoke-direct {p0}, Ljava/lang/Object;->()V .line 20 new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->(Ljava/lang/Object;)V iput-object v0, p0, Lkotlin/sequences/ConstrainedOnceSequence;->sequenceRef:Ljava/util/concurrent/atomic/AtomicReference; return-void .end method # virtual methods .method public iterator()Ljava/util/Iterator; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Iterator<", "TT;>;" } .end annotation iget-object p0, p0, Lkotlin/sequences/ConstrainedOnceSequence;->sequenceRef:Ljava/util/concurrent/atomic/AtomicReference; const/4 v0, 0x0 .line 23 invoke-virtual {p0, v0}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lkotlin/sequences/Sequence; if-eqz p0, :cond_0 .line 24 invoke-interface {p0}, Lkotlin/sequences/Sequence;->iterator()Ljava/util/Iterator; move-result-object p0 return-object p0 .line 23 :cond_0 new-instance p0, Ljava/lang/IllegalStateException; const-string v0, "This sequence can be consumed only once." invoke-direct {p0, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p0 .end method