Rabbit-R1/original r1/java/sources/kotlin/io/CloseableKt.java
2024-05-21 17:08:36 -04:00

59 lines
2.7 KiB
Java

package kotlin.io;
import androidx.exifinterface.media.ExifInterface;
import java.io.Closeable;
import kotlin.Metadata;
import kotlin.internal.PlatformImplementationsKt;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.InlineMarker;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: Closeable.kt */
@Metadata(d1 = {"\u0000\u001c\n\u0000\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\u0018\u0010\u0000\u001a\u00020\u0001*\u0004\u0018\u00010\u00022\b\u0010\u0003\u001a\u0004\u0018\u00010\u0004H\u0001\u001aH\u0010\u0005\u001a\u0002H\u0006\"\n\b\u0000\u0010\u0007*\u0004\u0018\u00010\u0002\"\u0004\b\u0001\u0010\u0006*\u0002H\u00072\u0012\u0010\b\u001a\u000e\u0012\u0004\u0012\u0002H\u0007\u0012\u0004\u0012\u0002H\u00060\tH\u0087\\u0001\u0000\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0001 \u0001¢\u0006\u0002\u0010\n\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006\u000b"}, d2 = {"closeFinally", "", "Ljava/io/Closeable;", "cause", "", "use", "R", ExifInterface.GPS_DIRECTION_TRUE, "block", "Lkotlin/Function1;", "(Ljava/io/Closeable;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class CloseableKt {
private static final <T extends Closeable, R> R use(T t, Function1<? super T, ? extends R> block) {
Intrinsics.checkNotNullParameter(block, "block");
try {
R invoke = block.invoke(t);
InlineMarker.finallyStart(1);
if (PlatformImplementationsKt.apiVersionIsAtLeast(1, 1, 0)) {
closeFinally(t, null);
} else if (t != null) {
t.close();
}
InlineMarker.finallyEnd(1);
return invoke;
} catch (Throwable th) {
try {
throw th;
} catch (Throwable th2) {
InlineMarker.finallyStart(1);
if (PlatformImplementationsKt.apiVersionIsAtLeast(1, 1, 0)) {
closeFinally(t, th);
} else if (t != null) {
try {
t.close();
} catch (Throwable unused) {
}
}
InlineMarker.finallyEnd(1);
throw th2;
}
}
}
public static final void closeFinally(Closeable closeable, Throwable th) {
if (closeable != null) {
if (th == null) {
closeable.close();
return;
}
try {
closeable.close();
} catch (Throwable th2) {
kotlin.ExceptionsKt.addSuppressed(th, th2);
}
}
}
}