1 package net.sourceforge.pmd.cpd;
2
3 import net.sourceforge.pmd.PMD;
4
5 import java.io.IOException;
6 import java.io.LineNumberReader;
7 import java.io.Reader;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 public class PHPTokenizer implements Tokenizer {
12
13 public void tokenize(SourceCode tokens, Tokens tokenEntries, Reader input) throws IOException {
14 List lines = new ArrayList();
15 StringBuffer sb = new StringBuffer();
16 LineNumberReader r = new LineNumberReader(input);
17 String currentLine;
18 int lineCount = 0;
19 int count = 0;
20 while ((currentLine = r.readLine()) != null) {
21 lines.add(currentLine);
22 sb.append(currentLine);
23 sb.append(PMD.EOL);
24 for (int i=0;i<currentLine.length(); i++) {
25 char tok =currentLine.charAt(i);
26 if ( !Character.isWhitespace(tok) &&
27 tok != '{' &&
28 tok != '}' &&
29 tok != ';') {
30 count++;
31 tokenEntries.add(new TokenEntry(String.valueOf(tok), count, tokens.getFileName(), lineCount));
32 }
33 }
34 lineCount++;
35 }
36 tokens.setCode(lines);
37 tokenEntries.add(TokenEntry.EOF);
38 }
39 }
This page was automatically generated by Maven