.class public final Lkotlin/io/FileTreeWalk; .super Ljava/lang/Object; .source "FileTreeWalk.kt" # interfaces .implements Lkotlin/sequences/Sequence; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lkotlin/io/FileTreeWalk$DirectoryState;, Lkotlin/io/FileTreeWalk$FileTreeWalkIterator;, Lkotlin/io/FileTreeWalk$WalkState; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Object;", "Lkotlin/sequences/Sequence<", "Ljava/io/File;", ">;" } .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000L\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010(\n\u0002\u0008\u0006\u0018\u00002\u0008\u0012\u0004\u0012\u00020\u00020\u0001:\u0003\u001a\u001b\u001cB\u0019\u0008\u0010\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0008\u0008\u0002\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\u0002\u0010\u0006B\u0089\u0001\u0008\u0002\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0008\u0008\u0002\u0010\u0004\u001a\u00020\u0005\u0012\u0014\u0010\u0007\u001a\u0010\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\t\u0018\u00010\u0008\u0012\u0014\u0010\n\u001a\u0010\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u000b\u0018\u00010\u0008\u00128\u0010\u000c\u001a4\u0012\u0013\u0012\u00110\u0002\u00a2\u0006\u000c\u0008\u000e\u0012\u0008\u0008\u000f\u0012\u0004\u0008\u0008(\u0010\u0012\u0013\u0012\u00110\u0011\u00a2\u0006\u000c\u0008\u000e\u0012\u0008\u0008\u000f\u0012\u0004\u0008\u0008(\u0012\u0012\u0004\u0012\u00020\u000b\u0018\u00010\r\u0012\u0008\u0008\u0002\u0010\u0013\u001a\u00020\u0014\u00a2\u0006\u0002\u0010\u0015J\u000f\u0010\u0016\u001a\u0008\u0012\u0004\u0012\u00020\u00020\u0017H\u0096\u0002J\u000e\u0010\u0013\u001a\u00020\u00002\u0006\u0010\u0018\u001a\u00020\u0014J\u001a\u0010\u0007\u001a\u00020\u00002\u0012\u0010\u0019\u001a\u000e\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\t0\u0008J \u0010\u000c\u001a\u00020\u00002\u0018\u0010\u0019\u001a\u0014\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u0011\u0012\u0004\u0012\u00020\u000b0\rJ\u001a\u0010\n\u001a\u00020\u00002\u0012\u0010\u0019\u001a\u000e\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u000b0\u0008R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0013\u001a\u00020\u0014X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001c\u0010\u0007\u001a\u0010\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\t\u0018\u00010\u0008X\u0082\u0004\u00a2\u0006\u0002\n\u0000R@\u0010\u000c\u001a4\u0012\u0013\u0012\u00110\u0002\u00a2\u0006\u000c\u0008\u000e\u0012\u0008\u0008\u000f\u0012\u0004\u0008\u0008(\u0010\u0012\u0013\u0012\u00110\u0011\u00a2\u0006\u000c\u0008\u000e\u0012\u0008\u0008\u000f\u0012\u0004\u0008\u0008(\u0012\u0012\u0004\u0012\u00020\u000b\u0018\u00010\rX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001c\u0010\n\u001a\u0010\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u000b\u0018\u00010\u0008X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0003\u001a\u00020\u0002X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u001d" } d2 = { "Lkotlin/io/FileTreeWalk;", "Lkotlin/sequences/Sequence;", "Ljava/io/File;", "start", "direction", "Lkotlin/io/FileWalkDirection;", "(Ljava/io/File;Lkotlin/io/FileWalkDirection;)V", "onEnter", "Lkotlin/Function1;", "", "onLeave", "", "onFail", "Lkotlin/Function2;", "Lkotlin/ParameterName;", "name", "f", "Ljava/io/IOException;", "e", "maxDepth", "", "(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V", "iterator", "", "depth", "function", "DirectoryState", "FileTreeWalkIterator", "WalkState", "kotlin-stdlib" } k = 0x1 mv = { 0x1, 0x9, 0x0 } xi = 0x30 .end annotation # instance fields .field private final direction:Lkotlin/io/FileWalkDirection; .field private final maxDepth:I .field private final onEnter:Lkotlin/jvm/functions/Function1; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function1<", "Ljava/io/File;", "Ljava/lang/Boolean;", ">;" } .end annotation .end field .field private final onFail:Lkotlin/jvm/functions/Function2; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function2<", "Ljava/io/File;", "Ljava/io/IOException;", "Lkotlin/Unit;", ">;" } .end annotation .end field .field private final onLeave:Lkotlin/jvm/functions/Function1; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function1<", "Ljava/io/File;", "Lkotlin/Unit;", ">;" } .end annotation .end field .field private final start:Ljava/io/File; # direct methods .method public constructor (Ljava/io/File;Lkotlin/io/FileWalkDirection;)V .locals 10 const-string v0, "start" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "direction" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/16 v8, 0x20 const/4 v9, 0x0 move-object v1, p0 move-object v2, p1 move-object v3, p2 .line 46 invoke-direct/range {v1 .. v9}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;IILkotlin/jvm/internal/DefaultConstructorMarker;)V return-void .end method .method public synthetic constructor (Ljava/io/File;Lkotlin/io/FileWalkDirection;ILkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 0 and-int/lit8 p3, p3, 0x2 if-eqz p3, :cond_0 .line 46 sget-object p2, Lkotlin/io/FileWalkDirection;->TOP_DOWN:Lkotlin/io/FileWalkDirection; :cond_0 invoke-direct {p0, p1, p2}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;)V return-void .end method .method private constructor (Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/io/File;", "Lkotlin/io/FileWalkDirection;", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/io/File;", "Ljava/lang/Boolean;", ">;", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/io/File;", "Lkotlin/Unit;", ">;", "Lkotlin/jvm/functions/Function2<", "-", "Ljava/io/File;", "-", "Ljava/io/IOException;", "Lkotlin/Unit;", ">;I)V" } .end annotation .line 37 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lkotlin/io/FileTreeWalk;->start:Ljava/io/File; iput-object p2, p0, Lkotlin/io/FileTreeWalk;->direction:Lkotlin/io/FileWalkDirection; iput-object p3, p0, Lkotlin/io/FileTreeWalk;->onEnter:Lkotlin/jvm/functions/Function1; iput-object p4, p0, Lkotlin/io/FileTreeWalk;->onLeave:Lkotlin/jvm/functions/Function1; iput-object p5, p0, Lkotlin/io/FileTreeWalk;->onFail:Lkotlin/jvm/functions/Function2; iput p6, p0, Lkotlin/io/FileTreeWalk;->maxDepth:I return-void .end method .method synthetic constructor (Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;IILkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 7 and-int/lit8 p8, p7, 0x2 if-eqz p8, :cond_0 .line 39 sget-object p2, Lkotlin/io/FileWalkDirection;->TOP_DOWN:Lkotlin/io/FileWalkDirection; :cond_0 move-object v2, p2 and-int/lit8 p2, p7, 0x20 if-eqz p2, :cond_1 const p6, 0x7fffffff :cond_1 move v6, p6 move-object v0, p0 move-object v1, p1 move-object v3, p3 move-object v4, p4 move-object v5, p5 .line 37 invoke-direct/range {v0 .. v6}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V return-void .end method .method public static final synthetic access$getDirection$p(Lkotlin/io/FileTreeWalk;)Lkotlin/io/FileWalkDirection; .locals 0 .line 37 iget-object p0, p0, Lkotlin/io/FileTreeWalk;->direction:Lkotlin/io/FileWalkDirection; return-object p0 .end method .method public static final synthetic access$getMaxDepth$p(Lkotlin/io/FileTreeWalk;)I .locals 0 .line 37 iget p0, p0, Lkotlin/io/FileTreeWalk;->maxDepth:I return p0 .end method .method public static final synthetic access$getOnEnter$p(Lkotlin/io/FileTreeWalk;)Lkotlin/jvm/functions/Function1; .locals 0 .line 37 iget-object p0, p0, Lkotlin/io/FileTreeWalk;->onEnter:Lkotlin/jvm/functions/Function1; return-object p0 .end method .method public static final synthetic access$getOnFail$p(Lkotlin/io/FileTreeWalk;)Lkotlin/jvm/functions/Function2; .locals 0 .line 37 iget-object p0, p0, Lkotlin/io/FileTreeWalk;->onFail:Lkotlin/jvm/functions/Function2; return-object p0 .end method .method public static final synthetic access$getOnLeave$p(Lkotlin/io/FileTreeWalk;)Lkotlin/jvm/functions/Function1; .locals 0 .line 37 iget-object p0, p0, Lkotlin/io/FileTreeWalk;->onLeave:Lkotlin/jvm/functions/Function1; return-object p0 .end method .method public static final synthetic access$getStart$p(Lkotlin/io/FileTreeWalk;)Ljava/io/File; .locals 0 .line 37 iget-object p0, p0, Lkotlin/io/FileTreeWalk;->start:Ljava/io/File; return-object p0 .end method # virtual methods .method public iterator()Ljava/util/Iterator; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Iterator<", "Ljava/io/File;", ">;" } .end annotation .line 50 new-instance v0, Lkotlin/io/FileTreeWalk$FileTreeWalkIterator; invoke-direct {v0, p0}, Lkotlin/io/FileTreeWalk$FileTreeWalkIterator;->(Lkotlin/io/FileTreeWalk;)V check-cast v0, Ljava/util/Iterator; return-object v0 .end method .method public final maxDepth(I)Lkotlin/io/FileTreeWalk; .locals 8 if-lez p1, :cond_0 .line 250 new-instance v7, Lkotlin/io/FileTreeWalk; iget-object v1, p0, Lkotlin/io/FileTreeWalk;->start:Ljava/io/File; iget-object v2, p0, Lkotlin/io/FileTreeWalk;->direction:Lkotlin/io/FileWalkDirection; iget-object v3, p0, Lkotlin/io/FileTreeWalk;->onEnter:Lkotlin/jvm/functions/Function1; iget-object v4, p0, Lkotlin/io/FileTreeWalk;->onLeave:Lkotlin/jvm/functions/Function1; iget-object v5, p0, Lkotlin/io/FileTreeWalk;->onFail:Lkotlin/jvm/functions/Function2; move-object v0, v7 move v6, p1 invoke-direct/range {v0 .. v6}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V return-object v7 .line 249 :cond_0 new-instance p0, Ljava/lang/IllegalArgumentException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "depth must be positive, but was " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const/16 v0, 0x2e invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method public final onEnter(Lkotlin/jvm/functions/Function1;)Lkotlin/io/FileTreeWalk; .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/io/File;", "Ljava/lang/Boolean;", ">;)", "Lkotlin/io/FileTreeWalk;" } .end annotation const-string v0, "function" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 220 new-instance v0, Lkotlin/io/FileTreeWalk; iget-object v2, p0, Lkotlin/io/FileTreeWalk;->start:Ljava/io/File; iget-object v3, p0, Lkotlin/io/FileTreeWalk;->direction:Lkotlin/io/FileWalkDirection; iget-object v5, p0, Lkotlin/io/FileTreeWalk;->onLeave:Lkotlin/jvm/functions/Function1; iget-object v6, p0, Lkotlin/io/FileTreeWalk;->onFail:Lkotlin/jvm/functions/Function2; iget v7, p0, Lkotlin/io/FileTreeWalk;->maxDepth:I move-object v1, v0 move-object v4, p1 invoke-direct/range {v1 .. v7}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V return-object v0 .end method .method public final onFail(Lkotlin/jvm/functions/Function2;)Lkotlin/io/FileTreeWalk; .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function2<", "-", "Ljava/io/File;", "-", "Ljava/io/IOException;", "Lkotlin/Unit;", ">;)", "Lkotlin/io/FileTreeWalk;" } .end annotation const-string v0, "function" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 236 new-instance v0, Lkotlin/io/FileTreeWalk; iget-object v2, p0, Lkotlin/io/FileTreeWalk;->start:Ljava/io/File; iget-object v3, p0, Lkotlin/io/FileTreeWalk;->direction:Lkotlin/io/FileWalkDirection; iget-object v4, p0, Lkotlin/io/FileTreeWalk;->onEnter:Lkotlin/jvm/functions/Function1; iget-object v5, p0, Lkotlin/io/FileTreeWalk;->onLeave:Lkotlin/jvm/functions/Function1; iget v7, p0, Lkotlin/io/FileTreeWalk;->maxDepth:I move-object v1, v0 move-object v6, p1 invoke-direct/range {v1 .. v7}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V return-object v0 .end method .method public final onLeave(Lkotlin/jvm/functions/Function1;)Lkotlin/io/FileTreeWalk; .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/io/File;", "Lkotlin/Unit;", ">;)", "Lkotlin/io/FileTreeWalk;" } .end annotation const-string v0, "function" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 227 new-instance v0, Lkotlin/io/FileTreeWalk; iget-object v2, p0, Lkotlin/io/FileTreeWalk;->start:Ljava/io/File; iget-object v3, p0, Lkotlin/io/FileTreeWalk;->direction:Lkotlin/io/FileWalkDirection; iget-object v4, p0, Lkotlin/io/FileTreeWalk;->onEnter:Lkotlin/jvm/functions/Function1; iget-object v6, p0, Lkotlin/io/FileTreeWalk;->onFail:Lkotlin/jvm/functions/Function2; iget v7, p0, Lkotlin/io/FileTreeWalk;->maxDepth:I move-object v1, v0 move-object v5, p1 invoke-direct/range {v1 .. v7}, Lkotlin/io/FileTreeWalk;->(Ljava/io/File;Lkotlin/io/FileWalkDirection;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;I)V return-object v0 .end method