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

@ -6,8 +6,8 @@ package net.sourceforge.pmd.cpd;
import net.sourceforge.pmd.cpd.internal.JavaCCTokenizer;
import net.sourceforge.pmd.lang.TokenManager;
import net.sourceforge.pmd.lang.ast.impl.javacc.CharStream;
import net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken;
import net.sourceforge.pmd.lang.document.TextDocument;
import net.sourceforge.pmd.lang.objectivec.ast.ObjectiveCTokenKinds;
/**
@ -16,7 +16,7 @@ import net.sourceforge.pmd.lang.objectivec.ast.ObjectiveCTokenKinds;
public class ObjectiveCTokenizer extends JavaCCTokenizer {
@Override
protected TokenManager<JavaccToken> makeLexerImpl(CharStream sourceCode) {
return ObjectiveCTokenKinds.newTokenManager(sourceCode);
protected TokenManager<JavaccToken> makeLexerImpl(TextDocument doc) {
return ObjectiveCTokenKinds.newTokenManager(doc);
}
}