Merge branch 'master' into issue-4349-cleanup-deprecations
This commit is contained in:
@ -32,9 +32,6 @@ options {
|
||||
PARSER_BEGIN(CppParserImpl)
|
||||
package net.sourceforge.pmd.lang.cpp.ast;
|
||||
|
||||
import net.sourceforge.pmd.lang.ast.impl.javacc.CharStream;
|
||||
import net.sourceforge.pmd.lang.ast.TokenMgrError;
|
||||
|
||||
public final class CppParserImpl {
|
||||
|
||||
}
|
||||
|
@ -5,11 +5,11 @@
|
||||
package net.sourceforge.pmd.lang.cpp;
|
||||
|
||||
import net.sourceforge.pmd.cpd.CpdLanguageProperties;
|
||||
import net.sourceforge.pmd.cpd.Tokenizer;
|
||||
import net.sourceforge.pmd.cpd.CpdLexer;
|
||||
import net.sourceforge.pmd.cpd.internal.CpdLanguagePropertiesDefaults;
|
||||
import net.sourceforge.pmd.lang.LanguagePropertyBundle;
|
||||
import net.sourceforge.pmd.lang.LanguageRegistry;
|
||||
import net.sourceforge.pmd.lang.cpp.cpd.CPPTokenizer;
|
||||
import net.sourceforge.pmd.lang.cpp.cpd.CppCpdLexer;
|
||||
import net.sourceforge.pmd.lang.impl.CpdOnlyLanguageModuleBase;
|
||||
import net.sourceforge.pmd.properties.PropertyDescriptor;
|
||||
import net.sourceforge.pmd.properties.PropertyFactory;
|
||||
@ -52,7 +52,7 @@ public class CppLanguageModule extends CpdOnlyLanguageModuleBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tokenizer createCpdTokenizer(LanguagePropertyBundle bundle) {
|
||||
return new CPPTokenizer(bundle);
|
||||
public CpdLexer createCpdLexer(LanguagePropertyBundle bundle) {
|
||||
return new CppCpdLexer(bundle);
|
||||
}
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ import java.util.regex.Pattern;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import net.sourceforge.pmd.cpd.CpdLanguageProperties;
|
||||
import net.sourceforge.pmd.cpd.impl.CpdLexerBase;
|
||||
import net.sourceforge.pmd.cpd.impl.JavaCCTokenFilter;
|
||||
import net.sourceforge.pmd.cpd.impl.TokenizerBase;
|
||||
import net.sourceforge.pmd.lang.LanguagePropertyBundle;
|
||||
import net.sourceforge.pmd.lang.TokenManager;
|
||||
import net.sourceforge.pmd.lang.ast.impl.javacc.CharStream;
|
||||
@ -23,8 +23,10 @@ import net.sourceforge.pmd.lang.document.TextDocument;
|
||||
|
||||
/**
|
||||
* The C++ tokenizer.
|
||||
*
|
||||
* <p>Note: This class has been called CPPTokenizer in PMD 6</p>.
|
||||
*/
|
||||
public class CPPTokenizer extends TokenizerBase<JavaccToken> {
|
||||
public class CppCpdLexer extends CpdLexerBase<JavaccToken> {
|
||||
|
||||
private boolean skipBlocks;
|
||||
private Pattern skipBlocksStart;
|
||||
@ -32,7 +34,7 @@ public class CPPTokenizer extends TokenizerBase<JavaccToken> {
|
||||
private final boolean ignoreIdentifierAndLiteralSeqences;
|
||||
private final boolean ignoreLiteralSequences;
|
||||
|
||||
public CPPTokenizer(LanguagePropertyBundle cppProperties) {
|
||||
public CppCpdLexer(LanguagePropertyBundle cppProperties) {
|
||||
ignoreLiteralSequences = cppProperties.getProperty(CpdLanguageProperties.CPD_IGNORE_LITERAL_SEQUENCES);
|
||||
ignoreIdentifierAndLiteralSeqences = cppProperties.getProperty(CpdLanguageProperties.CPD_IGNORE_LITERAL_AND_IDENTIFIER_SEQUENCES);
|
||||
String skipBlocksPattern = cppProperties.getProperty(CppLanguageModule.CPD_SKIP_BLOCKS);
|
@ -20,7 +20,7 @@ class CppCharStreamTest {
|
||||
public CharStream charStreamFor(String source) {
|
||||
CppLanguageModule cpp = CppLanguageModule.getInstance();
|
||||
TextDocument textDoc = TextDocument.readOnlyString(source, FileId.UNKNOWN, cpp.getDefaultVersion());
|
||||
CPPTokenizer tokenizer = new CPPTokenizer(cpp.newPropertyBundle());
|
||||
CppCpdLexer tokenizer = new CppCpdLexer(cpp.newPropertyBundle());
|
||||
return tokenizer.newCharStream(textDoc);
|
||||
}
|
||||
|
||||
|
@ -10,15 +10,15 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import net.sourceforge.pmd.cpd.CpdLanguageProperties;
|
||||
import net.sourceforge.pmd.cpd.Tokenizer;
|
||||
import net.sourceforge.pmd.cpd.CpdLexer;
|
||||
import net.sourceforge.pmd.cpd.Tokens;
|
||||
import net.sourceforge.pmd.cpd.test.CpdTextComparisonTest;
|
||||
import net.sourceforge.pmd.cpd.test.LanguagePropertyConfig;
|
||||
import net.sourceforge.pmd.lang.cpp.CppLanguageModule;
|
||||
|
||||
class CPPTokenizerTest extends CpdTextComparisonTest {
|
||||
class CppCpdLexerTest extends CpdTextComparisonTest {
|
||||
|
||||
CPPTokenizerTest() {
|
||||
CppCpdLexerTest() {
|
||||
super(CppLanguageModule.getInstance(), ".cpp");
|
||||
}
|
||||
|
||||
@ -29,8 +29,8 @@ class CPPTokenizerTest extends CpdTextComparisonTest {
|
||||
|
||||
@Test
|
||||
void testUTFwithBOM() {
|
||||
Tokenizer tokenizer = newTokenizer(dontSkipBlocks());
|
||||
Tokens tokens = tokenize(tokenizer, sourceCodeOf("\ufeffint start()\n{ int ret = 1;\nreturn ret;\n}\n"));
|
||||
CpdLexer cpdLexer = newCpdLexer(dontSkipBlocks());
|
||||
Tokens tokens = tokenize(cpdLexer, sourceCodeOf("\ufeffint start()\n{ int ret = 1;\nreturn ret;\n}\n"));
|
||||
assertEquals(15, tokens.size());
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ class CPPTokenizerTest extends CpdTextComparisonTest {
|
||||
|
||||
@Test
|
||||
void testWrongUnicodeInIdentifier() {
|
||||
expectTokenMgrError(" void main() { int ⚜ = __; }");
|
||||
expectLexException(" void main() { int ⚜ = __; }");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -107,7 +107,7 @@ class CPPTokenizerTest extends CpdTextComparisonTest {
|
||||
|
||||
@Test
|
||||
void testLexicalErrorFilename() {
|
||||
expectTokenMgrError(sourceText("issue-1559"), dontSkipBlocks());
|
||||
expectLexException(sourceText("issue-1559"), dontSkipBlocks());
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user