Deprecate PMD LanguageModule for languages, that only support CPD
This commit is contained in:
@ -13,11 +13,9 @@ import java.util.Properties;
|
||||
import net.sourceforge.pmd.PMD;
|
||||
import net.sourceforge.pmd.cpd.token.JavaCCTokenFilter;
|
||||
import net.sourceforge.pmd.cpd.token.TokenFilter;
|
||||
import net.sourceforge.pmd.lang.LanguageRegistry;
|
||||
import net.sourceforge.pmd.lang.LanguageVersionHandler;
|
||||
import net.sourceforge.pmd.lang.ast.GenericToken;
|
||||
import net.sourceforge.pmd.lang.ast.TokenMgrError;
|
||||
import net.sourceforge.pmd.lang.cpp.CppLanguageModule;
|
||||
import net.sourceforge.pmd.lang.cpp.CppTokenManager;
|
||||
import net.sourceforge.pmd.util.IOUtil;
|
||||
|
||||
/**
|
||||
@ -55,11 +53,7 @@ public class CPPTokenizer implements Tokenizer {
|
||||
public void tokenize(SourceCode sourceCode, Tokens tokenEntries) {
|
||||
StringBuilder buffer = sourceCode.getCodeBuffer();
|
||||
try (Reader reader = IOUtil.skipBOM(new StringReader(maybeSkipBlocks(buffer.toString())))) {
|
||||
LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(CppLanguageModule.NAME)
|
||||
.getDefaultVersion().getLanguageVersionHandler();
|
||||
final TokenFilter tokenFilter = new JavaCCTokenFilter(
|
||||
languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions())
|
||||
.getTokenManager(sourceCode.getFileName(), reader));
|
||||
final TokenFilter tokenFilter = new JavaCCTokenFilter(new CppTokenManager(reader));
|
||||
|
||||
GenericToken currentToken = tokenFilter.getNextToken();
|
||||
while (currentToken != null) {
|
||||
|
@ -11,7 +11,9 @@ import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
|
||||
|
||||
/**
|
||||
* Implementation of LanguageVersionHandler for the C++ Language.
|
||||
* @deprecated There is no full PMD support for c++.
|
||||
*/
|
||||
@Deprecated
|
||||
public class CppHandler extends AbstractLanguageVersionHandler {
|
||||
|
||||
@Override
|
||||
|
@ -8,7 +8,10 @@ import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
|
||||
/**
|
||||
* Implementation of the C/C++ Language Module.
|
||||
*
|
||||
* @deprecated There is no full PMD support for c++.
|
||||
*/
|
||||
@Deprecated
|
||||
public class CppLanguageModule extends BaseLanguageModule {
|
||||
|
||||
/** The name, that can be used to display the language in UI. */
|
||||
|
@ -16,7 +16,10 @@ import net.sourceforge.pmd.lang.ast.ParseException;
|
||||
|
||||
/**
|
||||
* Adapter for the C++ Parser.
|
||||
*
|
||||
* @deprecated There is no full PMD support for c++.
|
||||
*/
|
||||
@Deprecated
|
||||
public class CppParser extends AbstractParser {
|
||||
|
||||
/**
|
||||
|
@ -1,33 +0,0 @@
|
||||
/**
|
||||
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||
*/
|
||||
|
||||
package net.sourceforge.pmd;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
|
||||
import net.sourceforge.pmd.lang.LanguageRegistry;
|
||||
import net.sourceforge.pmd.lang.LanguageVersion;
|
||||
import net.sourceforge.pmd.lang.cpp.CppLanguageModule;
|
||||
|
||||
public class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
|
||||
super(name, terseName, version, expected);
|
||||
}
|
||||
|
||||
@Parameters
|
||||
public static Collection<Object[]> data() {
|
||||
return Arrays.asList(new Object[][] {
|
||||
{
|
||||
CppLanguageModule.NAME,
|
||||
CppLanguageModule.TERSE_NAME,
|
||||
"",
|
||||
LanguageRegistry.getLanguage(CppLanguageModule.NAME).getDefaultVersion(),
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user