ExceptionUtils rewritten in Kotlin

This commit is contained in:
Andrey Breslav
2014-01-29 17:33:40 +04:00
parent d0787795b6
commit 210827b1d5
28 changed files with 107 additions and 120 deletions
@@ -21,7 +21,7 @@ import jet.Function1;
import jet.Unit;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.utils.ExceptionUtils;
import org.jetbrains.jet.utils.UtilsPackage;
import org.jetbrains.jet.utils.WrappedValues;
import java.util.concurrent.ConcurrentHashMap;
@@ -36,7 +36,7 @@ public class LockBasedStorageManager implements StorageManager {
@NotNull
@Override
public RuntimeException handleException(@NotNull Throwable throwable) {
throw ExceptionUtils.rethrow(throwable);
throw UtilsPackage.rethrow(throwable);
}
};
@@ -1,54 +0,0 @@
/*
* Copyright 2010-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.jet.utils;
import java.io.Closeable;
public class ExceptionUtils {
private ExceptionUtils() {
}
/**
* Translate exception to unchecked exception.
*
* Return type is specified to make it possible to use it like this:
* throw ExceptionUtils.rethrow(e);
* In this case compiler knows that code after this rethrowing won't be executed.
*/
public static RuntimeException rethrow(Throwable e) {
if (e instanceof RuntimeException) {
throw (RuntimeException) e;
}
else if (e instanceof Error) {
throw (Error) e;
}
else {
throw new RuntimeException(e);
}
}
public static void closeQuietly(Closeable closeable) {
if (closeable != null) {
try {
closeable.close();
} catch (Throwable ignored) {
}
}
}
}
@@ -69,7 +69,7 @@ public class WrappedValues {
@Nullable
public static <V> V unescapeThrowable(@Nullable Object value) {
if (value instanceof ThrowableWrapper) {
throw ExceptionUtils.rethrow(((ThrowableWrapper) value).getThrowable());
throw UtilsPackage.rethrow(((ThrowableWrapper) value).getThrowable());
}
//noinspection unchecked
@@ -0,0 +1,41 @@
/*
* Copyright 2010-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.jet.utils
import java.io.Closeable
/**
* Translate exception to unchecked exception.
*
* Return type is specified to make it possible to use it like this:
* throw ExceptionUtils.rethrow(e);
* In this case compiler knows that code after this rethrowing won't be executed.
*/
public fun rethrow(e: Throwable): RuntimeException {
throw e
}
public fun closeQuietly(closeable: Closeable?) {
if (closeable != null) {
try {
closeable.close()
}
catch (ignored: Throwable) {
// Do nothing
}
}
}