View Javadoc
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 net.sourceforge.pmd.PMD; 7 8 import java.io.IOException; 9 import java.io.LineNumberReader; 10 import java.io.Reader; 11 import java.util.ArrayList; 12 import java.util.List; 13 14 public class PHPTokenizer implements Tokenizer { 15 16 public void tokenize(SourceCode tokens, Tokens tokenEntries, Reader input) throws IOException { 17 List lines = new ArrayList(); 18 StringBuffer sb = new StringBuffer(); 19 LineNumberReader r = new LineNumberReader(input); 20 String currentLine; 21 int lineCount = 0; 22 int count = 0; 23 while ((currentLine = r.readLine()) != null) { 24 lines.add(currentLine); 25 sb.append(currentLine); 26 sb.append(PMD.EOL); 27 for (int i=0;i<currentLine.length(); i++) { 28 char tok =currentLine.charAt(i); 29 if ( !Character.isWhitespace(tok) && 30 tok != '{' && 31 tok != '}' && 32 tok != ';') { 33 count++; 34 tokenEntries.add(new TokenEntry(String.valueOf(tok), count, tokens.getFileName(), lineCount)); 35 } 36 } 37 lineCount++; 38 } 39 tokens.setCode(lines); 40 tokenEntries.add(TokenEntry.EOF); 41 } 42 }

This page was automatically generated by Maven