Package gnu.jel.debug

Class Debug


  • public final class Debug
    extends java.lang.Object
    This class used for incorporating internal checks and assertions into the code.
    None of these functions does anything if Debug.enabled is false.
    If you really want to throw ALL debug messages from the final, compiler generated, code -- wrap calls to Debug methods into the if statement, checking Debug.enabled constant. As shown in the example :
     import cz.fzu.metlov.jel.*;
     ..... BLA BLA BLA ...
     if (Debug.enabled) {
      Debug.println("I want this message to disappear in the optimized version");
      Debug.check(foo==superTimeConsumingFunction(bar), 
     "I do not want to evaluate superTimeConsumingFunction(), when optimized."); 
     }; 
    
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean enabled
      Determines if debugging is enabled in current compilation.
    • Constructor Summary

      Constructors 
      Constructor Description
      Debug()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void check​(boolean condition)
      Checks for the condition.
      static void check​(boolean condition, java.lang.String message)
      Checks for the condition.
      static void println​(java.lang.String message)
      Prints a line of the debug output.
      static void reportThrowable​(java.lang.Throwable t)
      Reports an exception, which should not occur(i.e.
      static void reportThrowable​(java.lang.Throwable t, java.lang.String message)
      Reports an exception, which should not occur(i.e.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • enabled

        public static final boolean enabled
        Determines if debugging is enabled in current compilation.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Debug

        public Debug()
    • Method Detail

      • println

        public static final void println​(java.lang.String message)
        Prints a line of the debug output. The resulting line goes to System.err and is prefixed by "[DEBUG] ".
        Parameters:
        message - message to print.
      • check

        public static final void check​(boolean condition,
                                       java.lang.String message)
        Checks for the condition. If condition is false this function prints a given message to the System.err along with the stack trace.
        Parameters:
        condition - is the condition to check.
        message - is the message to print if condition is false.
      • check

        public static final void check​(boolean condition)
        Checks for the condition. If condition is false this function prints a "Assertion failed." to the System.err along with the stack trace.
        Parameters:
        condition - is the condition to check.
      • reportThrowable

        public static final void reportThrowable​(java.lang.Throwable t,
                                                 java.lang.String message)
        Reports an exception, which should not occur(i.e. handled improperly).
        Parameters:
        t - is what was thrown.
        message - is algorithm specific message.
      • reportThrowable

        public static final void reportThrowable​(java.lang.Throwable t)
        Reports an exception, which should not occur(i.e. handled improperly).
        Parameters:
        t - is what was thrown.