01: /**
02: * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03: */package net.sourceforge.pmd.cpd;
04:
05: import net.sourceforge.pmd.jsp.ast.JspCharStream;
06: import net.sourceforge.pmd.jsp.ast.JspParserTokenManager;
07: import net.sourceforge.pmd.jsp.ast.Token;
08:
09: import java.io.StringReader;
10:
11: public class JSPTokenizer implements Tokenizer {
12:
13: public void tokenize(SourceCode tokens, Tokens tokenEntries) {
14: StringBuffer buffer = tokens.getCodeBuffer();
15: JspParserTokenManager tokenMgr = new JspParserTokenManager(
16: new JspCharStream(new StringReader(buffer.toString())));
17: Token currentToken = tokenMgr.getNextToken();
18: while (currentToken.image.length() > 0) {
19: tokenEntries.add(new TokenEntry(String
20: .valueOf(currentToken.kind), tokens.getFileName(),
21: currentToken.beginLine));
22: currentToken = tokenMgr.getNextToken();
23: }
24: tokenEntries.add(TokenEntry.getEOF());
25: }
26: }
|