Mercurial > hg > truffle
changeset 9303:e26191d535a7
added guarantee() method to GraalInternalError
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 25 Apr 2013 18:37:01 +0200 |
parents | c78ef1df7b06 |
children | 21bb567c444e |
files | graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraalInternalError.java |
diffstat | 1 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraalInternalError.java Thu Apr 25 18:36:23 2013 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraalInternalError.java Thu Apr 25 18:37:01 2013 +0200 @@ -51,6 +51,23 @@ } /** + * Checks a given condition and throws a {@link GraalInternalError} if it is false. Guarantees + * are stronger than assertions in that they are always checked. Error messages for guarantee + * violations should clearly indicate the nature of the problem as well as a suggested solution + * if possible. + * + * @param condition the condition to check + * @param msg the message that will be associated with the error, in + * {@link String#format(String, Object...)} syntax + * @param args arguments to the format string + */ + public static void guarantee(boolean condition, String msg, Object... args) { + if (!condition) { + throw new GraalInternalError("failed guarantee: " + msg, args); + } + } + + /** * This constructor creates a {@link GraalInternalError} with a message assembled via * {@link String#format(String, Object...)}. It always uses the ENGLISH locale in order to * always generate the same output.