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