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.jsp.ast.JspCharStream;
7   import net.sourceforge.pmd.jsp.ast.JspParserTokenManager;
8   import net.sourceforge.pmd.jsp.ast.Token;
9   
10  import java.io.StringReader;
11  
12  public class JSPTokenizer implements Tokenizer {
13  
14      public void tokenize(SourceCode tokens, Tokens tokenEntries) {
15          StringBuffer buffer = tokens.getCodeBuffer();
16          JspParserTokenManager tokenMgr = new JspParserTokenManager(new JspCharStream(new StringReader(buffer.toString())));
17          Token currentToken = tokenMgr.getNextToken();
18          while (currentToken.image.length() > 0) {
19              tokenEntries.add(new TokenEntry(String.valueOf(currentToken.kind), tokens.getFileName(), currentToken.beginLine));
20              currentToken = tokenMgr.getNextToken();
21          }
22          tokenEntries.add(TokenEntry.getEOF());
23      }
24  }
25