Clover coverage report - PMD - 3.3
Coverage timestamp: Thu Sep 15 2005 17:59:57 EDT
file stats: LOC: 52   Methods: 1
NCLOC: 38   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
AnyTokenizer.java 83.3% 94.7% 100% 92.3%
coverage coverage
 1    /**
 2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
 3    */
 4    package net.sourceforge.pmd.cpd;
 5   
 6    import java.io.BufferedReader;
 7    import java.io.CharArrayReader;
 8    import java.util.NoSuchElementException;
 9    import java.util.StringTokenizer;
 10   
 11    /**
 12    * This class does a best-guess try-anything tokenization.
 13    *
 14    * @author jheintz
 15    *
 16    */
 17    public class AnyTokenizer implements Tokenizer {
 18    public static final String TOKENS = " \t!#$%^&*(){}-=+<>/\\`~;:";
 19   
 20  1 public void tokenize(SourceCode sourceCode, Tokens tokenEntries) {
 21  1 StringBuffer sb = sourceCode.getCodeBuffer();
 22  1 BufferedReader reader = new BufferedReader(new CharArrayReader(sb.toString().toCharArray()));
 23  1 try {
 24  1 int lineNumber = 1;
 25  1 String line = reader.readLine();
 26  1 while (line != null) {
 27  9 StringTokenizer tokenizer = new StringTokenizer(line, TOKENS, true);
 28  9 try {
 29  9 String token = tokenizer.nextToken();
 30  76 while (token != null) {
 31  76 if (!token.equals(" ") && !token.equals("\t")) {
 32  29 tokenEntries.add(new TokenEntry(token, sourceCode.getFileName(), lineNumber));
 33    }
 34  76 token = tokenizer.nextToken();
 35    }
 36    } catch (NoSuchElementException ex) {
 37    // done with tokens
 38    }
 39    // advance iteration variables
 40  9 line = reader.readLine();
 41  9 lineNumber++;
 42    }
 43    } catch (Exception ex) {
 44  0 ex.printStackTrace();
 45    } finally {
 46  1 try {
 47  1 reader.close();
 48    } catch (Exception ex) {}
 49  1 tokenEntries.add(TokenEntry.getEOF());
 50    }
 51    }
 52    }