Coverage report

  %line %branch
org.apache.commons.configuration.plist.SimpleCharStream
49% 
81% 

 1  
 /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 3.0 */
 2  
 package org.apache.commons.configuration.plist;
 3  
 
 4  
 /**
 5  
  * An implementation of interface CharStream, where the stream is assumed to
 6  
  * contain only ASCII characters (without unicode processing).
 7  
  */
 8  
 
 9  
 class SimpleCharStream
 10  
 {
 11  
   public static final boolean class="keyword">staticFlag = false;
 12  
   int bufsize;
 13  
   int available;
 14  
   int tokenBegin;
 15  54
   public int bufpos = -1;
 16  
   protected int bufline[];
 17  
   protected int bufcolumn[];
 18  
 
 19  54
   protected int column = 0;
 20  54
   protected int line = 1;
 21  
 
 22  54
   protected boolean prevCharIsCR = false;
 23  54
   protected boolean prevCharIsLF = false;
 24  
 
 25  
   protected java.io.Reader inputStream;
 26  
 
 27  
   protected char[] buffer;
 28  54
   protected int maxNextCharInd = 0;
 29  54
   protected int inBuf = 0;
 30  
 
 31  
   protected void ExpandBuff(boolean wrapAround)
 32  
   {
 33  0
      char[] newbuffer = new class="keyword">char[bufsize + 2048];
 34  0
      int newbufline[] = new class="keyword">int[bufsize + 2048];
 35  0
      int newbufcolumn[] = new class="keyword">int[bufsize + 2048];
 36  
 
 37  
      try
 38  
      {
 39  0
         if (wrapAround)
 40  
         {
 41  0
            System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
 42  0
            System.arraycopy(buffer, 0, newbuffer,
 43  
                                              bufsize - tokenBegin, bufpos);
 44  0
            buffer = newbuffer;
 45  
 
 46  0
            System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
 47  0
            System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
 48  0
            bufline = newbufline;
 49  
 
 50  0
            System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
 51  0
            System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
 52  0
            bufcolumn = newbufcolumn;
 53  
 
 54  0
            maxNextCharInd = (bufpos += (bufsize - tokenBegin));
 55  
         }
 56  
         else
 57  
         {
 58  0
            System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
 59  0
            buffer = newbuffer;
 60  
 
 61  0
            System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
 62  0
            bufline = newbufline;
 63  
 
 64  0
            System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
 65  0
            bufcolumn = newbufcolumn;
 66  
 
 67  0
            maxNextCharInd = (bufpos -= tokenBegin);
 68  
         }
 69  0
      }
 70  
      catch (Throwable t)
 71  
      {
 72  0
         throw new Error(t.getMessage());
 73  
      }
 74  
 
 75  
 
 76  0
      bufsize += 2048;
 77  0
      available = bufsize;
 78  0
      tokenBegin = 0;
 79  0
   }
 80  
 
 81  
   protected void FillBuff() throws java.io.IOException
 82  
   {
 83  126
      if (maxNextCharInd == available)
 84  
      {
 85  0
         if (available == bufsize)
 86  
         {
 87  0
            if (tokenBegin > 2048)
 88  
            {
 89  0
               bufpos = maxNextCharInd = 0;
 90  0
               available = tokenBegin;
 91  
            }
 92  0
            else if (tokenBegin < 0)
 93  0
               bufpos = maxNextCharInd = 0;
 94  
            else
 95  0
               ExpandBuff(false);
 96  
         }
 97  0
         else if (available > tokenBegin)
 98  0
            available = bufsize;
 99  0
         else if ((tokenBegin - available) < 2048)
 100  0
            ExpandBuff(true);
 101  
         else
 102  0
            available = tokenBegin;
 103  
      }
 104  
 
 105  
      int i;
 106  
      try {
 107  126
         if ((i = inputStream.read(buffer, maxNextCharInd,
 108  
                                     available - maxNextCharInd)) == -1)
 109  
         {
 110  45
            inputStream.close();
 111  45
            throw new java.io.IOException();
 112  
         }
 113  
         else
 114  42
            maxNextCharInd += i;
 115  42
         return;
 116  
      }
 117  
      catch(java.io.IOException e) {
 118  84
         --bufpos;
 119  84
         backup(0);
 120  84
         if (tokenBegin == -1)
 121  84
            tokenBegin = bufpos;
 122  84
         throw e;
 123  
      }
 124  
   }
 125  
 
 126  
   public char BeginToken() throws java.io.IOException
 127  
   {
 128  17769
      tokenBegin = -1;
 129  17769
      char c = readChar();
 130  17685
      tokenBegin = bufpos;
 131  
 
 132  17685
      return c;
 133  
   }
 134  
 
 135  
   protected void UpdateLineColumn(char c)
 136  
   {
 137  29811
      column++;
 138  
 
 139  29811
      if (prevCharIsLF)
 140  
      {
 141  1674
         prevCharIsLF = false;
 142  1674
         line += (column = 1);
 143  
      }
 144  28137
      else if (prevCharIsCR)
 145  
      {
 146  1599
         prevCharIsCR = false;
 147  1599
         if (c == '\n')
 148  
         {
 149  1599
            prevCharIsLF = true;
 150  
         }
 151  
         else
 152  0
            line += (column = 1);
 153  
      }
 154  
 
 155  29811
      switch (c)
 156  
      {
 157  
         case '\r' :
 158  1599
            prevCharIsCR = true;
 159  1599
            break;
 160  
         case '\n' :
 161  1713
            prevCharIsLF = true;
 162  1713
            break;
 163  
         case '\t' :
 164  0
            column--;
 165  0
            column += (8 - (column & 07));
 166  0
            break;
 167  
         default :
 168  
            break;
 169  
      }
 170  
 
 171  29811
      bufline[bufpos] = line;
 172  29811
      bufcolumn[bufpos] = column;
 173  29811
   }
 174  
 
 175  
   public char readChar() throws java.io.IOException
 176  
   {
 177  31053
      if (inBuf > 0)
 178  
      {
 179  1158
         --inBuf;
 180  
 
 181  1158
         if (++bufpos == bufsize)
 182  0
            bufpos = 0;
 183  
 
 184  1158
         return buffer[bufpos];
 185  
      }
 186  
 
 187  29895
      if (++bufpos >= maxNextCharInd)
 188  126
         FillBuff();
 189  
 
 190  29811
      char c = buffer[bufpos];
 191  
 
 192  29811
      UpdateLineColumn(c);
 193  29811
      return (c);
 194  
   }
 195  
 
 196  
   /**
 197  
    * @deprecated 
 198  
    * @see #getEndColumn
 199  
    */
 200  
 
 201  
   public int getColumn() {
 202  0
      return bufcolumn[bufpos];
 203  
   }
 204  
 
 205  
   /**
 206  
    * @deprecated 
 207  
    * @see #getEndLine
 208  
    */
 209  
 
 210  
   public int getLine() {
 211  0
      return bufline[bufpos];
 212  
   }
 213  
 
 214  
   public int getEndColumn() {
 215  4449
      return bufcolumn[bufpos];
 216  
   }
 217  
 
 218  
   public int getEndLine() {
 219  4449
      return bufline[bufpos];
 220  
   }
 221  
 
 222  
   public int getBeginColumn() {
 223  4449
      return bufcolumn[tokenBegin];
 224  
   }
 225  
 
 226  
   public int getBeginLine() {
 227  4449
      return bufline[tokenBegin];
 228  
   }
 229  
 
 230  
   public void backup(int amount) {
 231  
 
 232  5685
     inBuf += amount;
 233  5685
     if ((bufpos -= amount) < 0)
 234  3
        bufpos += bufsize;
 235  5685
   }
 236  
 
 237  
   public SimpleCharStream(java.io.Reader dstream, int startline,
 238  
   int startcolumn, class="keyword">int buffersize)
 239  54
   {
 240  54
     inputStream = dstream;
 241  54
     line = startline;
 242  54
     column = startcolumn - 1;
 243  
 
 244  54
     available = bufsize = buffersize;
 245  54
     buffer = new char[buffersize];
 246  54
     bufline = new int[buffersize];
 247  54
     bufcolumn = new int[buffersize];
 248  54
   }
 249  
 
 250  
   public SimpleCharStream(java.io.Reader dstream, int startline,
 251  
                                                            int startcolumn)
 252  
   {
 253  54
      this(dstream, startline, startcolumn, 4096);
 254  54
   }
 255  
 
 256  
   public SimpleCharStream(java.io.Reader dstream)
 257  
   {
 258  0
      this(dstream, 1, 1, 4096);
 259  0
   }
 260  
   public void ReInit(java.io.Reader dstream, int startline,
 261  
   int startcolumn, class="keyword">int buffersize)
 262  
   {
 263  0
     inputStream = dstream;
 264  0
     line = startline;
 265  0
     column = startcolumn - 1;
 266  
 
 267  0
     if (buffer == null || buffersize != buffer.length)
 268  
     {
 269  0
       available = bufsize = buffersize;
 270  0
       buffer = new char[buffersize];
 271  0
       bufline = new int[buffersize];
 272  0
       bufcolumn = new int[buffersize];
 273  
     }
 274  0
     prevCharIsLF = prevCharIsCR = false;
 275  0
     tokenBegin = inBuf = maxNextCharInd = 0;
 276  0
     bufpos = -1;
 277  0
   }
 278  
 
 279  
   public SimpleCharStream(java.io.InputStream dstream, int startline,
 280  
   int startcolumn, class="keyword">int buffersize)
 281  
   {
 282  0
      this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
 283  0
   }
 284  
 
 285  
   public SimpleCharStream(java.io.InputStream dstream, int startline,
 286  
                                                            int startcolumn)
 287  
   {
 288  0
      this(dstream, startline, startcolumn, 4096);
 289  0
   }
 290  
 
 291  
   public SimpleCharStream(java.io.InputStream dstream)
 292  
   {
 293  0
      this(dstream, 1, 1, 4096);
 294  0
   }
 295  
 
 296  
   public String GetImage()
 297  
   {
 298  1593
      if (bufpos >= tokenBegin)
 299  1593
         return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
 300  
      else
 301  0
         return new String(buffer, tokenBegin, bufsize - tokenBegin) +
 302  
                               new String(buffer, 0, bufpos + 1);
 303  
   }
 304  
 
 305  
   public void Done()
 306  
   {
 307  0
      buffer = null;
 308  0
      bufline = null;
 309  0
      bufcolumn = null;
 310  0
   }
 311  
 
 312  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.