Fix failing tests

This commit is contained in:
Clément Fournier
2024-04-28 20:10:22 +02:00
parent 9a25d90c76
commit b70521874a
3 changed files with 4 additions and 4 deletions

View File

@ -113,7 +113,7 @@
<mkdir dir="${target-package-dir}" />
<condition property="option-token-manager-uses-parser">
<resourcecontains resource="${grammar-file}" substring="TOKEN_MANAGER_USES_PARSER"/>
<resourcecontains resource="${grammar-file}" substring="TOKEN_MANAGER_USES_PARSER = true"/>
</condition>
</target>
@ -471,8 +471,10 @@ public final class ${token-constants-name} \{${line.separator}
<target name="constants-files-token-manager-uses-parser" if="option-token-manager-uses-parser">
<echo level="info">Option TOKEN_MANAGER_USES_PARSER is enabled</echo>
<replaceregexp flags="g">
<regexp pattern="return new ${tokenmgr-name}\(cs\);" />
<!-- TODO this implementation does not work as the first token is skipped, since it is fetched by the parser itself. -->
<substitution expression="return new ${parser-name}(cs).token_source;" />
<file name="${token-constants-file}" />
</replaceregexp>

View File

@ -300,7 +300,6 @@ options {
MULTI = true;
VISITOR = true;
NODE_PACKAGE="net.sourceforge.pmd.lang.java.ast";
TOKEN_MANAGER_USES_PARSER = true;
// disable the calculation of expected tokens when a parse error occurs
// depending on the possible allowed next tokens, this

View File

@ -30,7 +30,7 @@ public final class SyntacticJavaTokenizerFactory {
@Deprecated
public static TokenManager<JavaccToken> createTokenizer(CharStream cs) {
final List<JavaccToken> tokenList = new ArrayList<>();
JavaParserImplTokenManager tokenManager = new JavaParserImplTokenManager(null, cs) {
JavaParserImplTokenManager tokenManager = new JavaParserImplTokenManager(cs) {
@Override
public JavaccToken getNextToken() {
JavaccToken token = super.getNextToken();
@ -41,7 +41,6 @@ public final class SyntacticJavaTokenizerFactory {
LanguageVersion latestVersion = JavaLanguageModule.getInstance().getLatestVersion();
JavaParserImpl parser = new JavaParserImpl(tokenManager);
tokenManager.parser = parser;
parser.setJdkVersion(JavaLanguageProperties.getInternalJdkVersion(latestVersion));
parser.setPreview(JavaLanguageProperties.isPreviewEnabled(latestVersion));