Skip unnecessary string allocs from frquently executed code paths.

Differential Revision: D2540814

fb-gh-sync-id: 045d012b52a6bc89d409bcc028532da1760c5775
This commit is contained in:
Krzysztof Magiera
2015-10-14 09:21:52 -07:00
committed by facebook-github-bot-6
parent aae9f0255f
commit 10a9b94b9c
3 changed files with 20 additions and 9 deletions

View File

@@ -66,7 +66,9 @@ class JavaScriptModuleRegistration {
public int getMethodId(Method method) {
final Integer id = mMethodsToIds.get(method);
Assertions.assertNotNull(id, "Unknown method: " + method.getName());
if (id == null) {
Assertions.assertUnreachable("Unknown method: " + method.getName());
}
return id.intValue();
}

View File

@@ -19,6 +19,15 @@ import javax.annotation.Nullable;
*/
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.
*/
public static void assertUnreachable(String message) {
throw new AssertionException(message);
}
/**
* Asserts the given condition, throwing an {@link AssertionException} if the condition doesn't
* hold.