Deprecate PMD LanguageModule for languages, that only support CPD

This commit is contained in:
Andreas Dangel
2018-11-26 13:55:35 +01:00
parent 32002664f7
commit 10e27ca3c0
35 changed files with 100 additions and 353 deletions

View File

@ -10,10 +10,8 @@ import java.io.StringReader;
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.TokenMgrError;
import net.sourceforge.pmd.lang.matlab.MatlabLanguageModule;
import net.sourceforge.pmd.lang.matlab.MatlabTokenManager;
import net.sourceforge.pmd.lang.matlab.ast.Token;
import net.sourceforge.pmd.util.IOUtil;
@ -26,12 +24,7 @@ public class MatlabTokenizer implements Tokenizer {
public void tokenize(SourceCode sourceCode, Tokens tokenEntries) {
StringBuilder buffer = sourceCode.getCodeBuffer();
try (Reader reader = IOUtil.skipBOM(new StringReader(buffer.toString()))) {
LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(MatlabLanguageModule.NAME)
.getDefaultVersion().getLanguageVersionHandler();
final TokenFilter tokenFilter = new JavaCCTokenFilter(languageVersionHandler
.getParser(languageVersionHandler.getDefaultParserOptions())
.getTokenManager(sourceCode.getFileName(), reader));
final TokenFilter tokenFilter = new JavaCCTokenFilter(new MatlabTokenManager(reader));
Token currentToken = (Token) tokenFilter.getNextToken();
while (currentToken != null) {
tokenEntries.add(new TokenEntry(currentToken.image, sourceCode.getFileName(), currentToken.beginLine));

View File

@ -11,7 +11,10 @@ import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
/**
* Implementation of LanguageVersionHandler for the Matlab Language.
*
* @deprecated There is no full PMD support for Matlab.
*/
@Deprecated
public class MatlabHandler extends AbstractLanguageVersionHandler {
@Override

View File

@ -8,7 +8,10 @@ import net.sourceforge.pmd.lang.BaseLanguageModule;
/**
* Implementation of the Matlab Language Module.
*
* @deprecated There is no full PMD support for Matlab.
*/
@Deprecated
public class MatlabLanguageModule extends BaseLanguageModule {
/** The name, that can be used to display the language in UI. */

View File

@ -16,7 +16,10 @@ import net.sourceforge.pmd.lang.ast.ParseException;
/**
* Adapter for the Matlab Parser.
*
* @deprecated There is no full PMD support for Matlab.
*/
@Deprecated
public class MatlabParser extends AbstractParser {
/**

View File

@ -1,27 +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.matlab.MatlabLanguageModule;
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[][] { { MatlabLanguageModule.NAME, MatlabLanguageModule.TERSE_NAME, "",
LanguageRegistry.getLanguage(MatlabLanguageModule.NAME).getDefaultVersion(), }, });
}
}