UiThreadUtil.assertX should only throw in DEBUG mode

Summary:
Turns out that `SoftAssertions.java` has always been a lie - it actually always throws exceptions. Migrate it to using `ReactSoftException`.

This file hasn't been touched at all since it was originally open-sourced, besides codemods!

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D18336020

fbshipit-source-id: cba3db25a9f9d61325dd3f7843e92e984ae56281
This commit is contained in:
Joshua Gross 2019-11-05 15:32:35 -08:00 коммит произвёл Facebook Github Bot
Родитель e885ddedb9
Коммит b1b97b8b45
1 изменённых файлов: 12 добавлений и 6 удалений

Просмотреть файл

@ -20,26 +20,32 @@ public class SoftAssertions {
/**
* Throw {@link AssertionException} with a given message. Use this method surrounded with {@code
* if} block with assert condition in case you plan to do string concatenation to produce the
* message.
* message. This logs an assertion with ReactSoftException, which decides whether or not to
* actually throw.
*/
public static void assertUnreachable(String message) {
throw new AssertionException(message);
ReactSoftException.logSoftException("SoftAssertions", new AssertionException(message));
}
/**
* Asserts the given condition, throwing an {@link AssertionException} if the condition doesn't
* hold.
* hold. This logs an assertion with ReactSoftException, which decides whether or not to actually
* throw.
*/
public static void assertCondition(boolean condition, String message) {
if (!condition) {
throw new AssertionException(message);
ReactSoftException.logSoftException("SoftAssertions", new AssertionException(message));
}
}
/** Asserts that the given Object isn't null, throwing an {@link AssertionException} if it was. */
/**
* Asserts that the given Object isn't null, throwing an {@link AssertionException} if it was.
* This logs an assertion with ReactSoftException, which decides whether or not to actually throw.
*/
public static <T> T assertNotNull(@Nullable T instance) {
if (instance == null) {
throw new AssertionException("Expected object to not be null!");
ReactSoftException.logSoftException(
"SoftAssertions", new AssertionException("Expected object to not be null!"));
}
return instance;
}