Clover coverage report - XJavaDoc - 1.1
Coverage timestamp: Mon Oct 4 2004 23:49:51 BST
file stats: LOC: 148   Methods: 4
NCLOC: 78   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
NodePrinter.java 72.2% 75% 75% 74.1%
coverage coverage
 1   
 /*
 2   
  * Copyright (c) 2001-2003 The XDoclet team
 3   
  * All rights reserved.
 4   
  */
 5   
 package xjavadoc;
 6   
 
 7   
 import java.io.PrintWriter;
 8   
 import java.io.Writer;
 9   
 
 10   
 /**
 11   
  * This visitor prints a node and all its children to a PrintWriter. The
 12   
  * PrintWriter must be passed to the data variable in the jjtAccept method of
 13   
  * the node from which printing should start. T print a whole class, call
 14   
  * compilationUnit.jjtAccept( new PrintVisitor(), System.out );
 15   
  *
 16   
  * @author    Aslak Hellesøy
 17   
  * @created   8. januar 2002
 18   
  * @todo      replace PrintWriter with PrintWriter and remove the
 19   
  *      addUnicodeEscapes()
 20   
  */
 21   
 public final class NodePrinter
 22   
 {
 23   
 
 24   
     /**
 25   
      * Describe what the method does
 26   
      *
 27   
      * @param node     Describe what the parameter does
 28   
      * @param o
 29   
      * @todo-javadoc   Write javadocs for method parameter
 30   
      * @todo-javadoc   Write javadocs for method
 31   
      * @todo-javadoc   Write javadocs for method parameter
 32   
      * @todo-javadoc   Write javadocs for method parameter
 33   
      * @todo-javadoc   Write javadocs for return value
 34   
      */
 35  2448
     public static void print( SimpleNode node, Writer o )
 36   
     {
 37  2448
         PrintWriter out = new PrintWriter( o );
 38  2448
         Token t1 = node.getFirstToken();
 39  2448
         Token t = new Token();
 40   
 
 41  2448
         t.next = t1;
 42   
 
 43  2448
         SimpleNode n;
 44   
 
 45  2448
         for( int ord = 0; ord < node.jjtGetNumChildren(); ord++ )
 46   
         {
 47  2442
             n = ( SimpleNode ) node.jjtGetChild( ord );
 48  2442
             while( true )
 49   
             {
 50  2839
                 t = t.next;
 51  2839
                 if( t == n.getFirstToken() )
 52   
                 {
 53  2442
                     break;
 54   
                 }
 55  397
                 print( t, out );
 56   
             }
 57  2442
             print( n, out );
 58  2442
             t = n.getLastToken();
 59   
         }
 60   
 
 61  2448
         while( t != node.getLastToken() && t != null )
 62   
         {
 63  802
             t = t.next;
 64  802
             if( t != null )
 65   
             {
 66  802
                 print( t, out );
 67   
             }
 68   
         }
 69   
     }
 70   
 
 71   
     /**
 72   
      * Describe what the method does
 73   
      *
 74   
      * @param t        Describe what the parameter does
 75   
      * @param out      Describe what the parameter does
 76   
      * @todo-javadoc   Write javadocs for method
 77   
      * @todo-javadoc   Write javadocs for method parameter
 78   
      * @todo-javadoc   Write javadocs for method parameter
 79   
      */
 80  1199
     private final static void print( Token t, PrintWriter out )
 81   
     {
 82  1199
         Token tt = t.specialToken;
 83   
 
 84  1199
         if( tt != null )
 85   
         {
 86  706
             while( tt.specialToken != null )
 87   
             {
 88  880
                 tt = tt.specialToken;
 89   
             }
 90  706
             while( tt != null )
 91   
             {
 92  1588
                 out.print( addUnicodeEscapes( tt.image ) );
 93   
 //                out.print(tt.image);
 94  1588
                 tt = tt.next;
 95   
             }
 96   
         }
 97  1199
         out.print( addUnicodeEscapes( t.image ) );
 98   
 //        out.print(t.image);
 99   
     }
 100   
 
 101   
     /**
 102   
      * Describe the method
 103   
      *
 104   
      * @param str      Describe the method parameter
 105   
      * @return         Describe the return value
 106   
      * @todo-javadoc   Describe the method
 107   
      * @todo-javadoc   Describe the method parameter
 108   
      * @todo-javadoc   Write javadocs for return value
 109   
      */
 110  2787
     private final static String addUnicodeEscapes( final String str )
 111   
     {
 112  2787
         return str;
 113   
     }
 114   
 
 115   
     /**
 116   
      * Describe the method
 117   
      *
 118   
      * @param str      Describe the method parameter
 119   
      * @return         Describe the return value
 120   
      * @todo-javadoc   Describe the method
 121   
      * @todo-javadoc   Describe the method parameter
 122   
      * @todo-javadoc   Write javadocs for return value
 123   
      */
 124  0
     protected String addUnicodeEscapesOld( String str )
 125   
     {
 126  0
         String retval = "";
 127  0
         char ch;
 128   
 
 129  0
         for( int i = 0; i < str.length(); i++ )
 130   
         {
 131  0
             ch = str.charAt( i );
 132  0
             if( ( ch < 0x20 || ch > 0x7e ) &&
 133   
                 ch != '\t' && ch != '\n' && ch != '\r' && ch != '\f' )
 134   
             {
 135  0
                 String s = "0000" + Integer.toString( ch, 16 );
 136   
 
 137  0
                 retval += "\\u" + s.substring( s.length() - 4, s.length() );
 138   
             }
 139   
             else
 140   
             {
 141  0
                 retval += ch;
 142   
             }
 143   
         }
 144  0
         return retval;
 145   
     }
 146   
 
 147   
 }
 148