Make pmd language have a hook to launch CPD

This allows removing the CPD language instances,
sharing more logic between CPD and PMD, and using
language properties to configure CPD and PMD uniformly.
This commit is contained in:
Clément Fournier
2023-02-10 16:24:11 +01:00
parent eee8b95a68
commit d4c05d1fb5
39 changed files with 357 additions and 283 deletions

View File

@@ -10,6 +10,7 @@ import org.codehaus.groovy.antlr.SourceInfo;
import org.codehaus.groovy.antlr.parser.GroovyLexer;
import net.sourceforge.pmd.lang.ast.TokenMgrError;
import net.sourceforge.pmd.lang.document.TextDocument;
import groovyjarjarantlr.Token;
import groovyjarjarantlr.TokenStream;
@@ -21,7 +22,7 @@ import groovyjarjarantlr.TokenStreamException;
public class GroovyTokenizer implements Tokenizer {
@Override
public void tokenize(SourceCode sourceCode, Tokens tokenEntries) {
public void tokenize(TextDocument sourceCode, Tokens tokenEntries) {
StringBuilder buffer = sourceCode.getCodeBuffer();
GroovyLexer lexer = new GroovyLexer(new StringReader(buffer.toString()));