583 lines
35 KiB
Java
583 lines
35 KiB
Java
package kotlin.io.path;
|
||
|
||
import androidx.constraintlayout.core.motion.utils.TypedValues;
|
||
import java.nio.file.CopyOption;
|
||
import java.nio.file.DirectoryStream;
|
||
import java.nio.file.FileSystemException;
|
||
import java.nio.file.FileVisitResult;
|
||
import java.nio.file.Files;
|
||
import java.nio.file.LinkOption;
|
||
import java.nio.file.NoSuchFileException;
|
||
import java.nio.file.Path;
|
||
import java.nio.file.SecureDirectoryStream;
|
||
import java.nio.file.StandardCopyOption;
|
||
import java.nio.file.attribute.BasicFileAttributes;
|
||
import java.nio.file.attribute.FileAttributeView;
|
||
import java.util.Arrays;
|
||
import java.util.Iterator;
|
||
import java.util.List;
|
||
import kotlin.ExceptionsKt;
|
||
import kotlin.Metadata;
|
||
import kotlin.NoWhenBranchMatchedException;
|
||
import kotlin.Unit;
|
||
import kotlin.io.CloseableKt;
|
||
import kotlin.jvm.functions.Function0;
|
||
import kotlin.jvm.functions.Function3;
|
||
import kotlin.jvm.internal.Intrinsics;
|
||
import kotlin.jvm.internal.SpreadBuilder;
|
||
import kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0;
|
||
|
||
/* compiled from: PathRecursiveFunctions.kt */
|
||
@Metadata(d1 = {"\u0000v\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u0011\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a$\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\f\u0010\u0004\u001a\b\u0012\u0004\u0012\u00020\u00010\u0005H\u0082\b¢\u0006\u0002\b\u0006\u001a\u001d\u0010\u0007\u001a\u00020\u00012\u0006\u0010\b\u001a\u00020\t2\u0006\u0010\u0002\u001a\u00020\u0003H\u0002¢\u0006\u0002\b\n\u001a\u001d\u0010\u000b\u001a\u00020\u00012\u0006\u0010\f\u001a\u00020\t2\u0006\u0010\u0002\u001a\u00020\u0003H\u0002¢\u0006\u0002\b\r\u001a&\u0010\u000e\u001a\u0004\u0018\u0001H\u000f\"\u0004\b\u0000\u0010\u000f2\f\u0010\u0004\u001a\b\u0012\u0004\u0012\u0002H\u000f0\u0005H\u0082\b¢\u0006\u0004\b\u0010\u0010\u0011\u001aw\u0010\u0012\u001a\u00020\t*\u00020\t2\u0006\u0010\u0013\u001a\u00020\t2Q\b\u0002\u0010\u0014\u001aK\u0012\u0013\u0012\u00110\t¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u0018\u0012\u0013\u0012\u00110\t¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u0013\u0012\u0017\u0012\u00150\u0019j\u0002`\u001a¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u001b\u0012\u0004\u0012\u00020\u001c0\u00152\u0006\u0010\u001d\u001a\u00020\u001e2\u0006\u0010\u001f\u001a\u00020\u001eH\u0007\u001a´\u0001\u0010\u0012\u001a\u00020\t*\u00020\t2\u0006\u0010\u0013\u001a\u00020\t2Q\b\u0002\u0010\u0014\u001aK\u0012\u0013\u0012\u00110\t¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u0018\u0012\u0013\u0012\u00110\t¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u0013\u0012\u0017\u0012\u00150\u0019j\u0002`\u001a¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u001b\u0012\u0004\u0012\u00020\u001c0\u00152\u0006\u0010\u001d\u001a\u00020\u001e2C\b\u0002\u0010 \u001a=\u0012\u0004\u0012\u00020!\u0012\u0013\u0012\u00110\t¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u0018\u0012\u0013\u0012\u00110\t¢\u0006\f\b\u0016\u0012\b\b\u0017\u0012\u0004\b\b(\u0013\u0012\u0004\u0012\u00020\"0\u0015¢\u0006\u0002\b#H\u0007\u001a\f\u0010$\u001a\u00020\u0001*\u00020\tH\u0007\u001a\u001b\u0010%\u001a\f\u0012\b\u0012\u00060\u0019j\u0002`\u001a0&*\u00020\tH\u0002¢\u0006\u0002\b'\u001a'\u0010(\u001a\u00020\u0001*\b\u0012\u0004\u0012\u00020\t0)2\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u0002\u001a\u00020\u0003H\u0002¢\u0006\u0002\b*\u001a'\u0010+\u001a\u00020\u0001*\b\u0012\u0004\u0012\u00020\t0)2\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u0002\u001a\u00020\u0003H\u0002¢\u0006\u0002\b,\u001a5\u0010-\u001a\u00020\u001e*\b\u0012\u0004\u0012\u00020\t0)2\u0006\u0010.\u001a\u00020\t2\u0012\u0010/\u001a\n\u0012\u0006\b\u0001\u0012\u00020100\"\u000201H\u0002¢\u0006\u0004\b2\u00103\u001a\u0011\u00104\u001a\u000205*\u00020\"H\u0003¢\u0006\u0002\b6\u001a\u0011\u00104\u001a\u000205*\u00020\u001cH\u0003¢\u0006\u0002\b6¨\u00067"}, d2 = {"collectIfThrows", "", "collector", "Lkotlin/io/path/ExceptionsCollector;", "function", "Lkotlin/Function0;", "collectIfThrows$PathsKt__PathRecursiveFunctionsKt", "insecureEnterDirectory", "path", "Ljava/nio/file/Path;", "insecureEnterDirectory$PathsKt__PathRecursiveFunctionsKt", "insecureHandleEntry", "entry", "insecureHandleEntry$PathsKt__PathRecursiveFunctionsKt", "tryIgnoreNoSuchFileException", "R", "tryIgnoreNoSuchFileException$PathsKt__PathRecursiveFunctionsKt", "(Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "copyToRecursively", TypedValues.AttributesType.S_TARGET, "onError", "Lkotlin/Function3;", "Lkotlin/ParameterName;", "name", "source", "Ljava/lang/Exception;", "Lkotlin/Exception;", "exception", "Lkotlin/io/path/OnErrorResult;", "followLinks", "", "overwrite", "copyAction", "Lkotlin/io/path/CopyActionContext;", "Lkotlin/io/path/CopyActionResult;", "Lkotlin/ExtensionFunctionType;", "deleteRecursively", "deleteRecursivelyImpl", "", "deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt", "enterDirectory", "Ljava/nio/file/SecureDirectoryStream;", "enterDirectory$PathsKt__PathRecursiveFunctionsKt", "handleEntry", "handleEntry$PathsKt__PathRecursiveFunctionsKt", "isDirectory", "entryName", "options", "", "Ljava/nio/file/LinkOption;", "isDirectory$PathsKt__PathRecursiveFunctionsKt", "(Ljava/nio/file/SecureDirectoryStream;Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z", "toFileVisitResult", "Ljava/nio/file/FileVisitResult;", "toFileVisitResult$PathsKt__PathRecursiveFunctionsKt", "kotlin-stdlib-jdk7"}, k = 5, mv = {1, 8, 0}, xi = 49, xs = "kotlin/io/path/PathsKt")
|
||
/* loaded from: classes.dex */
|
||
class PathsKt__PathRecursiveFunctionsKt extends PathsKt__PathReadWriteKt {
|
||
|
||
/* compiled from: PathRecursiveFunctions.kt */
|
||
@Metadata(k = 3, mv = {1, 8, 0}, xi = 48)
|
||
public /* synthetic */ class WhenMappings {
|
||
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
|
||
public static final /* synthetic */ int[] $EnumSwitchMapping$1;
|
||
|
||
static {
|
||
int[] iArr = new int[CopyActionResult.values().length];
|
||
try {
|
||
iArr[CopyActionResult.CONTINUE.ordinal()] = 1;
|
||
} catch (NoSuchFieldError unused) {
|
||
}
|
||
try {
|
||
iArr[CopyActionResult.TERMINATE.ordinal()] = 2;
|
||
} catch (NoSuchFieldError unused2) {
|
||
}
|
||
try {
|
||
iArr[CopyActionResult.SKIP_SUBTREE.ordinal()] = 3;
|
||
} catch (NoSuchFieldError unused3) {
|
||
}
|
||
$EnumSwitchMapping$0 = iArr;
|
||
int[] iArr2 = new int[OnErrorResult.values().length];
|
||
try {
|
||
iArr2[OnErrorResult.TERMINATE.ordinal()] = 1;
|
||
} catch (NoSuchFieldError unused4) {
|
||
}
|
||
try {
|
||
iArr2[OnErrorResult.SKIP_SUBTREE.ordinal()] = 2;
|
||
} catch (NoSuchFieldError unused5) {
|
||
}
|
||
$EnumSwitchMapping$1 = iArr2;
|
||
}
|
||
}
|
||
|
||
public static /* synthetic */ Path copyToRecursively$default(Path path, Path path2, Function3 function3, boolean z, boolean z2, int i, Object obj) {
|
||
if ((i & 2) != 0) {
|
||
function3 = new Function3() { // from class: kotlin.io.path.PathsKt__PathRecursiveFunctionsKt$copyToRecursively$1
|
||
@Override // kotlin.jvm.functions.Function3
|
||
public /* bridge */ /* synthetic */ Object invoke(Object obj2, Object obj3, Object obj4) {
|
||
return invoke(PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m(obj2), PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m(obj3), (Exception) obj4);
|
||
}
|
||
|
||
public final Void invoke(Path path3, Path path4, Exception exception) {
|
||
Intrinsics.checkNotNullParameter(path3, "<anonymous parameter 0>");
|
||
Intrinsics.checkNotNullParameter(path4, "<anonymous parameter 1>");
|
||
Intrinsics.checkNotNullParameter(exception, "exception");
|
||
throw exception;
|
||
}
|
||
};
|
||
}
|
||
return PathsKt.copyToRecursively(path, path2, (Function3<? super Path, ? super Path, ? super Exception, ? extends OnErrorResult>) function3, z, z2);
|
||
}
|
||
|
||
public static final Path copyToRecursively(Path path, Path target, Function3<? super Path, ? super Path, ? super Exception, ? extends OnErrorResult> onError, final boolean z, boolean z2) {
|
||
Intrinsics.checkNotNullParameter(path, "<this>");
|
||
Intrinsics.checkNotNullParameter(target, "target");
|
||
Intrinsics.checkNotNullParameter(onError, "onError");
|
||
if (z2) {
|
||
return PathsKt.copyToRecursively(path, target, onError, z, new Function3<CopyActionContext, Path, Path, CopyActionResult>() { // from class: kotlin.io.path.PathsKt__PathRecursiveFunctionsKt$copyToRecursively$2
|
||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||
{
|
||
super(3);
|
||
}
|
||
|
||
@Override // kotlin.jvm.functions.Function3
|
||
public /* bridge */ /* synthetic */ CopyActionResult invoke(CopyActionContext copyActionContext, Path path2, Path path3) {
|
||
return invoke2(copyActionContext, PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m((Object) path2), PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m((Object) path3));
|
||
}
|
||
|
||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||
public final CopyActionResult invoke2(CopyActionContext copyToRecursively, Path src, Path dst) {
|
||
LinkOption linkOption;
|
||
boolean isDirectory;
|
||
boolean isDirectory2;
|
||
StandardCopyOption standardCopyOption;
|
||
Path copy;
|
||
Intrinsics.checkNotNullParameter(copyToRecursively, "$this$copyToRecursively");
|
||
Intrinsics.checkNotNullParameter(src, "src");
|
||
Intrinsics.checkNotNullParameter(dst, "dst");
|
||
LinkOption[] linkOptions = LinkFollowing.INSTANCE.toLinkOptions(z);
|
||
linkOption = LinkOption.NOFOLLOW_LINKS;
|
||
isDirectory = Files.isDirectory(dst, (LinkOption[]) Arrays.copyOf(new LinkOption[]{linkOption}, 1));
|
||
LinkOption[] linkOptionArr = (LinkOption[]) Arrays.copyOf(linkOptions, linkOptions.length);
|
||
isDirectory2 = Files.isDirectory(src, (LinkOption[]) Arrays.copyOf(linkOptionArr, linkOptionArr.length));
|
||
if (!isDirectory2 || !isDirectory) {
|
||
if (isDirectory) {
|
||
PathsKt.deleteRecursively(dst);
|
||
}
|
||
SpreadBuilder spreadBuilder = new SpreadBuilder(2);
|
||
spreadBuilder.addSpread(linkOptions);
|
||
standardCopyOption = StandardCopyOption.REPLACE_EXISTING;
|
||
spreadBuilder.add(standardCopyOption);
|
||
CopyOption[] copyOptionArr = (CopyOption[]) spreadBuilder.toArray(new CopyOption[spreadBuilder.size()]);
|
||
copy = Files.copy(src, dst, (CopyOption[]) Arrays.copyOf(copyOptionArr, copyOptionArr.length));
|
||
Intrinsics.checkNotNullExpressionValue(copy, "copy(this, target, *options)");
|
||
}
|
||
return CopyActionResult.CONTINUE;
|
||
}
|
||
});
|
||
}
|
||
return PathsKt.copyToRecursively$default(path, target, onError, z, (Function3) null, 8, (Object) null);
|
||
}
|
||
|
||
public static /* synthetic */ Path copyToRecursively$default(Path path, Path path2, Function3 function3, final boolean z, Function3 function32, int i, Object obj) {
|
||
if ((i & 2) != 0) {
|
||
function3 = new Function3() { // from class: kotlin.io.path.PathsKt__PathRecursiveFunctionsKt$copyToRecursively$3
|
||
@Override // kotlin.jvm.functions.Function3
|
||
public /* bridge */ /* synthetic */ Object invoke(Object obj2, Object obj3, Object obj4) {
|
||
return invoke(PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m(obj2), PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m(obj3), (Exception) obj4);
|
||
}
|
||
|
||
public final Void invoke(Path path3, Path path4, Exception exception) {
|
||
Intrinsics.checkNotNullParameter(path3, "<anonymous parameter 0>");
|
||
Intrinsics.checkNotNullParameter(path4, "<anonymous parameter 1>");
|
||
Intrinsics.checkNotNullParameter(exception, "exception");
|
||
throw exception;
|
||
}
|
||
};
|
||
}
|
||
if ((i & 8) != 0) {
|
||
function32 = new Function3<CopyActionContext, Path, Path, CopyActionResult>() { // from class: kotlin.io.path.PathsKt__PathRecursiveFunctionsKt$copyToRecursively$4
|
||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||
{
|
||
super(3);
|
||
}
|
||
|
||
@Override // kotlin.jvm.functions.Function3
|
||
public /* bridge */ /* synthetic */ CopyActionResult invoke(CopyActionContext copyActionContext, Path path3, Path path4) {
|
||
return invoke2(copyActionContext, PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m((Object) path3), PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m((Object) path4));
|
||
}
|
||
|
||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||
public final CopyActionResult invoke2(CopyActionContext copyActionContext, Path src, Path dst) {
|
||
Intrinsics.checkNotNullParameter(copyActionContext, "$this$null");
|
||
Intrinsics.checkNotNullParameter(src, "src");
|
||
Intrinsics.checkNotNullParameter(dst, "dst");
|
||
return copyActionContext.copyToIgnoringExistingDirectory(src, dst, z);
|
||
}
|
||
};
|
||
}
|
||
return PathsKt.copyToRecursively(path, path2, (Function3<? super Path, ? super Path, ? super Exception, ? extends OnErrorResult>) function3, z, (Function3<? super CopyActionContext, ? super Path, ? super Path, ? extends CopyActionResult>) function32);
|
||
}
|
||
|
||
/* JADX WARN: Code restructure failed: missing block: B:15:0x0062, code lost:
|
||
|
||
if (r2 == false) goto L18;
|
||
*/
|
||
/* JADX WARN: Code restructure failed: missing block: B:20:0x0085, code lost:
|
||
|
||
if (r0 == false) goto L34;
|
||
*/
|
||
/* JADX WARN: Code restructure failed: missing block: B:21:0x00af, code lost:
|
||
|
||
kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1();
|
||
*/
|
||
/* JADX WARN: Code restructure failed: missing block: B:22:0x00c0, code lost:
|
||
|
||
throw kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r6.toString(), r7.toString(), "Recursively copying a directory into its subdirectory is prohibited.");
|
||
*/
|
||
/* JADX WARN: Code restructure failed: missing block: B:29:0x00ac, code lost:
|
||
|
||
if (r0 == false) goto L34;
|
||
*/
|
||
/* JADX WARN: Code restructure failed: missing block: B:7:0x0043, code lost:
|
||
|
||
if (r1 == false) goto L9;
|
||
*/
|
||
/* JADX WARN: Removed duplicated region for block: B:14:0x005e */
|
||
/* JADX WARN: Removed duplicated region for block: B:18:0x0073 */
|
||
/*
|
||
Code decompiled incorrectly, please refer to instructions dump.
|
||
To view partially-correct add '--show-bad-code' argument
|
||
*/
|
||
public static final java.nio.file.Path copyToRecursively(final java.nio.file.Path r6, final java.nio.file.Path r7, final kotlin.jvm.functions.Function3<? super java.nio.file.Path, ? super java.nio.file.Path, ? super java.lang.Exception, ? extends kotlin.io.path.OnErrorResult> r8, boolean r9, final kotlin.jvm.functions.Function3<? super kotlin.io.path.CopyActionContext, ? super java.nio.file.Path, ? super java.nio.file.Path, ? extends kotlin.io.path.CopyActionResult> r10) {
|
||
/*
|
||
java.lang.String r0 = "<this>"
|
||
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r6, r0)
|
||
java.lang.String r0 = "target"
|
||
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r7, r0)
|
||
java.lang.String r0 = "onError"
|
||
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r8, r0)
|
||
java.lang.String r0 = "copyAction"
|
||
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r0)
|
||
kotlin.io.path.LinkFollowing r0 = kotlin.io.path.LinkFollowing.INSTANCE
|
||
java.nio.file.LinkOption[] r0 = r0.toLinkOptions(r9)
|
||
int r1 = r0.length
|
||
java.lang.Object[] r0 = java.util.Arrays.copyOf(r0, r1)
|
||
java.nio.file.LinkOption[] r0 = (java.nio.file.LinkOption[]) r0
|
||
int r1 = r0.length
|
||
java.lang.Object[] r0 = java.util.Arrays.copyOf(r0, r1)
|
||
java.nio.file.LinkOption[] r0 = (java.nio.file.LinkOption[]) r0
|
||
boolean r0 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1(r6, r0)
|
||
if (r0 == 0) goto Ld2
|
||
r0 = 0
|
||
java.nio.file.LinkOption[] r1 = new java.nio.file.LinkOption[r0]
|
||
java.lang.Object[] r1 = java.util.Arrays.copyOf(r1, r0)
|
||
java.nio.file.LinkOption[] r1 = (java.nio.file.LinkOption[]) r1
|
||
boolean r1 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1(r6, r1)
|
||
if (r1 == 0) goto Lc1
|
||
if (r9 != 0) goto L45
|
||
boolean r1 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1642m(r6)
|
||
if (r1 != 0) goto Lc1
|
||
L45:
|
||
java.nio.file.LinkOption[] r1 = new java.nio.file.LinkOption[r0]
|
||
java.lang.Object[] r1 = java.util.Arrays.copyOf(r1, r0)
|
||
java.nio.file.LinkOption[] r1 = (java.nio.file.LinkOption[]) r1
|
||
boolean r1 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1(r7, r1)
|
||
if (r1 == 0) goto L5b
|
||
boolean r1 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1642m(r7)
|
||
if (r1 != 0) goto L5b
|
||
r1 = 1
|
||
goto L5c
|
||
L5b:
|
||
r1 = 0
|
||
L5c:
|
||
if (r1 == 0) goto L64
|
||
boolean r2 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1532m(r6, r7)
|
||
if (r2 != 0) goto Lc1
|
||
L64:
|
||
java.nio.file.FileSystem r2 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1516m(r6)
|
||
java.nio.file.FileSystem r3 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1516m(r7)
|
||
boolean r2 = kotlin.jvm.internal.Intrinsics.areEqual(r2, r3)
|
||
if (r2 != 0) goto L73
|
||
goto Lc1
|
||
L73:
|
||
if (r1 == 0) goto L88
|
||
java.nio.file.LinkOption[] r1 = new java.nio.file.LinkOption[r0]
|
||
java.nio.file.Path r1 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r7, r1)
|
||
java.nio.file.LinkOption[] r0 = new java.nio.file.LinkOption[r0]
|
||
java.nio.file.Path r0 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r6, r0)
|
||
boolean r0 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1643m(r1, r0)
|
||
if (r0 != 0) goto Laf
|
||
goto Lc1
|
||
L88:
|
||
java.nio.file.Path r1 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1(r7)
|
||
if (r1 == 0) goto Lc1
|
||
java.nio.file.LinkOption[] r2 = new java.nio.file.LinkOption[r0]
|
||
java.lang.Object[] r2 = java.util.Arrays.copyOf(r2, r0)
|
||
java.nio.file.LinkOption[] r2 = (java.nio.file.LinkOption[]) r2
|
||
boolean r2 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1(r1, r2)
|
||
if (r2 == 0) goto Lc1
|
||
java.nio.file.LinkOption[] r2 = new java.nio.file.LinkOption[r0]
|
||
java.nio.file.Path r1 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r1, r2)
|
||
java.nio.file.LinkOption[] r0 = new java.nio.file.LinkOption[r0]
|
||
java.nio.file.Path r0 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r6, r0)
|
||
boolean r0 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1643m(r1, r0)
|
||
if (r0 != 0) goto Laf
|
||
goto Lc1
|
||
Laf:
|
||
kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1()
|
||
java.lang.String r6 = r6.toString()
|
||
java.lang.String r7 = r7.toString()
|
||
java.lang.String r8 = "Recursively copying a directory into its subdirectory is prohibited."
|
||
java.nio.file.FileSystemException r6 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r6, r7, r8)
|
||
throw r6
|
||
Lc1:
|
||
r1 = 0
|
||
kotlin.io.path.PathsKt__PathRecursiveFunctionsKt$copyToRecursively$5 r0 = new kotlin.io.path.PathsKt__PathRecursiveFunctionsKt$copyToRecursively$5
|
||
r0.<init>()
|
||
r3 = r0
|
||
kotlin.jvm.functions.Function1 r3 = (kotlin.jvm.functions.Function1) r3
|
||
r4 = 1
|
||
r5 = 0
|
||
r0 = r6
|
||
r2 = r9
|
||
kotlin.io.path.PathsKt.visitFileTree$default(r0, r1, r2, r3, r4, r5)
|
||
return r7
|
||
Ld2:
|
||
kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1638m()
|
||
java.lang.String r6 = r6.toString()
|
||
java.lang.String r7 = r7.toString()
|
||
java.lang.String r8 = "The source file doesn't exist."
|
||
java.nio.file.NoSuchFileException r6 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1620m(r6, r7, r8)
|
||
throw r6
|
||
*/
|
||
throw new UnsupportedOperationException("Method not decompiled: kotlin.io.path.PathsKt__PathRecursiveFunctionsKt.copyToRecursively(java.nio.file.Path, java.nio.file.Path, kotlin.jvm.functions.Function3, boolean, kotlin.jvm.functions.Function3):java.nio.file.Path");
|
||
}
|
||
|
||
private static final Path copyToRecursively$destination$PathsKt__PathRecursiveFunctionsKt(Path path, Path path2, Path path3) {
|
||
Path resolve;
|
||
resolve = path2.resolve(PathsKt.relativeTo(path3, path).toString());
|
||
Intrinsics.checkNotNullExpressionValue(resolve, "target.resolve(relativePath.pathString)");
|
||
return resolve;
|
||
}
|
||
|
||
/* JADX INFO: Access modifiers changed from: private */
|
||
public static final FileVisitResult copyToRecursively$error$PathsKt__PathRecursiveFunctionsKt(Function3<? super Path, ? super Path, ? super Exception, ? extends OnErrorResult> function3, Path path, Path path2, Path path3, Exception exc) {
|
||
return toFileVisitResult$PathsKt__PathRecursiveFunctionsKt(function3.invoke(path3, copyToRecursively$destination$PathsKt__PathRecursiveFunctionsKt(path, path2, path3), exc));
|
||
}
|
||
|
||
/* JADX INFO: Access modifiers changed from: private */
|
||
public static final FileVisitResult copyToRecursively$copy$PathsKt__PathRecursiveFunctionsKt(Function3<? super CopyActionContext, ? super Path, ? super Path, ? extends CopyActionResult> function3, Path path, Path path2, Function3<? super Path, ? super Path, ? super Exception, ? extends OnErrorResult> function32, Path path3, BasicFileAttributes basicFileAttributes) {
|
||
try {
|
||
return toFileVisitResult$PathsKt__PathRecursiveFunctionsKt(function3.invoke(DefaultCopyActionContext.INSTANCE, path3, copyToRecursively$destination$PathsKt__PathRecursiveFunctionsKt(path, path2, path3)));
|
||
} catch (Exception e) {
|
||
return copyToRecursively$error$PathsKt__PathRecursiveFunctionsKt(function32, path, path2, path3, e);
|
||
}
|
||
}
|
||
|
||
private static final FileVisitResult toFileVisitResult$PathsKt__PathRecursiveFunctionsKt(CopyActionResult copyActionResult) {
|
||
FileVisitResult fileVisitResult;
|
||
FileVisitResult fileVisitResult2;
|
||
FileVisitResult fileVisitResult3;
|
||
int i = WhenMappings.$EnumSwitchMapping$0[copyActionResult.ordinal()];
|
||
if (i == 1) {
|
||
fileVisitResult = FileVisitResult.CONTINUE;
|
||
return fileVisitResult;
|
||
}
|
||
if (i == 2) {
|
||
fileVisitResult2 = FileVisitResult.TERMINATE;
|
||
return fileVisitResult2;
|
||
}
|
||
if (i != 3) {
|
||
throw new NoWhenBranchMatchedException();
|
||
}
|
||
fileVisitResult3 = FileVisitResult.SKIP_SUBTREE;
|
||
return fileVisitResult3;
|
||
}
|
||
|
||
private static final FileVisitResult toFileVisitResult$PathsKt__PathRecursiveFunctionsKt(OnErrorResult onErrorResult) {
|
||
FileVisitResult fileVisitResult;
|
||
FileVisitResult fileVisitResult2;
|
||
int i = WhenMappings.$EnumSwitchMapping$1[onErrorResult.ordinal()];
|
||
if (i == 1) {
|
||
fileVisitResult = FileVisitResult.TERMINATE;
|
||
return fileVisitResult;
|
||
}
|
||
if (i != 2) {
|
||
throw new NoWhenBranchMatchedException();
|
||
}
|
||
fileVisitResult2 = FileVisitResult.SKIP_SUBTREE;
|
||
return fileVisitResult2;
|
||
}
|
||
|
||
public static final void deleteRecursively(Path path) {
|
||
Intrinsics.checkNotNullParameter(path, "<this>");
|
||
List<Exception> deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt = deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt(path);
|
||
if (!deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt.isEmpty()) {
|
||
FileSystemException m1518m = PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1518m("Failed to delete one or more files. See suppressed exceptions for details.");
|
||
Iterator<T> it = deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt.iterator();
|
||
while (it.hasNext()) {
|
||
ExceptionsKt.addSuppressed(m1518m, (Exception) it.next());
|
||
}
|
||
throw m1518m;
|
||
}
|
||
}
|
||
|
||
/* JADX WARN: Code restructure failed: missing block: B:17:0x003d, code lost:
|
||
|
||
if (r1 != false) goto L22;
|
||
*/
|
||
/*
|
||
Code decompiled incorrectly, please refer to instructions dump.
|
||
To view partially-correct add '--show-bad-code' argument
|
||
*/
|
||
private static final java.util.List<java.lang.Exception> deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt(java.nio.file.Path r8) {
|
||
/*
|
||
kotlin.io.path.ExceptionsCollector r0 = new kotlin.io.path.ExceptionsCollector
|
||
r1 = 0
|
||
r2 = 1
|
||
r3 = 0
|
||
r0.<init>(r1, r2, r3)
|
||
java.nio.file.Path r4 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m$1(r8)
|
||
if (r4 == 0) goto L47
|
||
java.nio.file.DirectoryStream r5 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1617m(r4) // Catch: java.lang.Throwable -> L13
|
||
goto L15
|
||
L13:
|
||
r5 = r3
|
||
L15:
|
||
if (r5 == 0) goto L47
|
||
java.io.Closeable r5 = (java.io.Closeable) r5
|
||
java.nio.file.DirectoryStream r6 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r5) // Catch: java.lang.Throwable -> L40
|
||
boolean r7 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1641m(r6) // Catch: java.lang.Throwable -> L40
|
||
if (r7 == 0) goto L37
|
||
r0.setPath(r4) // Catch: java.lang.Throwable -> L40
|
||
java.nio.file.SecureDirectoryStream r2 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1623m(r6) // Catch: java.lang.Throwable -> L40
|
||
java.nio.file.Path r4 = kotlin.io.path.PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1525m(r8) // Catch: java.lang.Throwable -> L40
|
||
java.lang.String r6 = "this.fileName"
|
||
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r4, r6) // Catch: java.lang.Throwable -> L40
|
||
handleEntry$PathsKt__PathRecursiveFunctionsKt(r2, r4, r0) // Catch: java.lang.Throwable -> L40
|
||
goto L38
|
||
L37:
|
||
r1 = 1
|
||
L38:
|
||
kotlin.Unit r2 = kotlin.Unit.INSTANCE // Catch: java.lang.Throwable -> L40
|
||
kotlin.io.CloseableKt.closeFinally(r5, r3)
|
||
if (r1 == 0) goto L4a
|
||
goto L47
|
||
L40:
|
||
r8 = move-exception
|
||
throw r8 // Catch: java.lang.Throwable -> L42
|
||
L42:
|
||
r0 = move-exception
|
||
kotlin.io.CloseableKt.closeFinally(r5, r8)
|
||
throw r0
|
||
L47:
|
||
insecureHandleEntry$PathsKt__PathRecursiveFunctionsKt(r8, r0)
|
||
L4a:
|
||
java.util.List r8 = r0.getCollectedExceptions()
|
||
return r8
|
||
*/
|
||
throw new UnsupportedOperationException("Method not decompiled: kotlin.io.path.PathsKt__PathRecursiveFunctionsKt.deleteRecursivelyImpl$PathsKt__PathRecursiveFunctionsKt(java.nio.file.Path):java.util.List");
|
||
}
|
||
|
||
private static final void collectIfThrows$PathsKt__PathRecursiveFunctionsKt(ExceptionsCollector exceptionsCollector, Function0<Unit> function0) {
|
||
try {
|
||
function0.invoke();
|
||
} catch (Exception e) {
|
||
exceptionsCollector.collect(e);
|
||
}
|
||
}
|
||
|
||
private static final <R> R tryIgnoreNoSuchFileException$PathsKt__PathRecursiveFunctionsKt(Function0<? extends R> function0) {
|
||
try {
|
||
return function0.invoke();
|
||
} catch (NoSuchFileException unused) {
|
||
return null;
|
||
}
|
||
}
|
||
|
||
private static final void handleEntry$PathsKt__PathRecursiveFunctionsKt(SecureDirectoryStream<Path> secureDirectoryStream, Path path, ExceptionsCollector exceptionsCollector) {
|
||
LinkOption linkOption;
|
||
exceptionsCollector.enterEntry(path);
|
||
try {
|
||
linkOption = LinkOption.NOFOLLOW_LINKS;
|
||
try {
|
||
if (isDirectory$PathsKt__PathRecursiveFunctionsKt(secureDirectoryStream, path, linkOption)) {
|
||
int totalExceptions = exceptionsCollector.getTotalExceptions();
|
||
enterDirectory$PathsKt__PathRecursiveFunctionsKt(secureDirectoryStream, path, exceptionsCollector);
|
||
if (totalExceptions == exceptionsCollector.getTotalExceptions()) {
|
||
secureDirectoryStream.deleteDirectory(path);
|
||
Unit unit = Unit.INSTANCE;
|
||
}
|
||
} else {
|
||
secureDirectoryStream.deleteFile(path);
|
||
Unit unit2 = Unit.INSTANCE;
|
||
}
|
||
} catch (NoSuchFileException unused) {
|
||
}
|
||
} catch (Exception e) {
|
||
exceptionsCollector.collect(e);
|
||
}
|
||
exceptionsCollector.exitEntry(path);
|
||
}
|
||
|
||
private static final void enterDirectory$PathsKt__PathRecursiveFunctionsKt(SecureDirectoryStream<Path> secureDirectoryStream, Path path, ExceptionsCollector exceptionsCollector) {
|
||
SecureDirectoryStream secureDirectoryStream2;
|
||
Iterator it;
|
||
Path fileName;
|
||
LinkOption linkOption;
|
||
try {
|
||
try {
|
||
linkOption = LinkOption.NOFOLLOW_LINKS;
|
||
secureDirectoryStream2 = secureDirectoryStream.newDirectoryStream(path, linkOption);
|
||
} catch (Exception e) {
|
||
exceptionsCollector.collect(e);
|
||
return;
|
||
}
|
||
} catch (NoSuchFileException unused) {
|
||
secureDirectoryStream2 = null;
|
||
}
|
||
if (secureDirectoryStream2 == null) {
|
||
return;
|
||
}
|
||
SecureDirectoryStream secureDirectoryStream3 = secureDirectoryStream2;
|
||
try {
|
||
SecureDirectoryStream m1623m = StreamsKt$$ExternalSyntheticApiModelOutline0.m1623m((Object) secureDirectoryStream3);
|
||
it = m1623m.iterator();
|
||
while (it.hasNext()) {
|
||
fileName = PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m(it.next()).getFileName();
|
||
Intrinsics.checkNotNullExpressionValue(fileName, "entry.fileName");
|
||
handleEntry$PathsKt__PathRecursiveFunctionsKt(m1623m, fileName, exceptionsCollector);
|
||
}
|
||
Unit unit = Unit.INSTANCE;
|
||
CloseableKt.closeFinally(secureDirectoryStream3, null);
|
||
} finally {
|
||
}
|
||
}
|
||
|
||
private static final boolean isDirectory$PathsKt__PathRecursiveFunctionsKt(SecureDirectoryStream<Path> secureDirectoryStream, Path path, LinkOption... linkOptionArr) {
|
||
Boolean bool;
|
||
FileAttributeView fileAttributeView;
|
||
BasicFileAttributes readAttributes;
|
||
boolean isDirectory;
|
||
try {
|
||
fileAttributeView = secureDirectoryStream.getFileAttributeView(path, StreamsKt$$ExternalSyntheticApiModelOutline0.m(), (LinkOption[]) Arrays.copyOf(linkOptionArr, linkOptionArr.length));
|
||
readAttributes = StreamsKt$$ExternalSyntheticApiModelOutline0.m1625m((Object) fileAttributeView).readAttributes();
|
||
isDirectory = readAttributes.isDirectory();
|
||
bool = Boolean.valueOf(isDirectory);
|
||
} catch (NoSuchFileException unused) {
|
||
bool = null;
|
||
}
|
||
if (bool != null) {
|
||
return bool.booleanValue();
|
||
}
|
||
return false;
|
||
}
|
||
|
||
private static final void insecureHandleEntry$PathsKt__PathRecursiveFunctionsKt(Path path, ExceptionsCollector exceptionsCollector) {
|
||
LinkOption linkOption;
|
||
boolean isDirectory;
|
||
try {
|
||
linkOption = LinkOption.NOFOLLOW_LINKS;
|
||
isDirectory = Files.isDirectory(path, (LinkOption[]) Arrays.copyOf(new LinkOption[]{linkOption}, 1));
|
||
if (isDirectory) {
|
||
int totalExceptions = exceptionsCollector.getTotalExceptions();
|
||
insecureEnterDirectory$PathsKt__PathRecursiveFunctionsKt(path, exceptionsCollector);
|
||
if (totalExceptions == exceptionsCollector.getTotalExceptions()) {
|
||
Files.deleteIfExists(path);
|
||
}
|
||
} else {
|
||
Files.deleteIfExists(path);
|
||
}
|
||
} catch (Exception e) {
|
||
exceptionsCollector.collect(e);
|
||
}
|
||
}
|
||
|
||
private static final void insecureEnterDirectory$PathsKt__PathRecursiveFunctionsKt(Path path, ExceptionsCollector exceptionsCollector) {
|
||
DirectoryStream directoryStream;
|
||
Iterator it;
|
||
try {
|
||
try {
|
||
directoryStream = Files.newDirectoryStream(path);
|
||
} catch (Exception e) {
|
||
exceptionsCollector.collect(e);
|
||
return;
|
||
}
|
||
} catch (NoSuchFileException unused) {
|
||
directoryStream = null;
|
||
}
|
||
if (directoryStream == null) {
|
||
return;
|
||
}
|
||
DirectoryStream directoryStream2 = directoryStream;
|
||
try {
|
||
it = StreamsKt$$ExternalSyntheticApiModelOutline0.m((Object) directoryStream2).iterator();
|
||
while (it.hasNext()) {
|
||
Path entry = PathTreeWalk$$ExternalSyntheticApiModelOutline0.m1524m(it.next());
|
||
Intrinsics.checkNotNullExpressionValue(entry, "entry");
|
||
insecureHandleEntry$PathsKt__PathRecursiveFunctionsKt(entry, exceptionsCollector);
|
||
}
|
||
Unit unit = Unit.INSTANCE;
|
||
CloseableKt.closeFinally(directoryStream2, null);
|
||
} finally {
|
||
}
|
||
}
|
||
}
|