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