Affects PMD Version:
7.3.0
Description:
An exception occurs, causing the analysis to fail.
Exception Stacktrace:
Exception in thread "main" java.lang.AssertionError: Root of the tree should implement RootNode
at net.sourceforge.pmd.lang.ast.Node.getRoot(Node.java:497)
at net.sourceforge.pmd.lang.ast.Node.getAstInfo(Node.java:257)
at net.sourceforge.pmd.lang.ast.Node.getReportLocation(Node.java:117)
at net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode.toString(AbstractJjtreeNode.java:143)
at java.base/java.lang.String.valueOf(String.java:4218)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.ScalarDataTypeName(PLSQLParserImpl.java:10143)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.Datatype(PLSQLParserImpl.java:9363)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.SubTypeDefinition(PLSQLParserImpl.java:41566)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.DeclarativeUnit(PLSQLParserImpl.java:3775)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.DeclarativeSection(PLSQLParserImpl.java:3848)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.PackageSpecification(PLSQLParserImpl.java:2150)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParserImpl.Input(PLSQLParserImpl.java:118)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParser.parseImpl(PLSQLParser.java:86)
at net.sourceforge.pmd.lang.plsql.ast.PLSQLParser.parseImpl(PLSQLParser.java:21)
at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36)
at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112)
at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132)
at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Code Sample demonstrating the issue:
CREATE or REPLACE PACKAGE x as type last_run_duration is interval day(9) to second(6); end x; /
Steps to reproduce:
pmd check --force-language plsql --rulesets category/plsql/bestpractices.xml -d .
Running PMD through: [CLI | Ant | Maven | Gradle | Designer | Other]
Actually, a little Java programs that watches a source folder and starts PMD analysis in a (single) background thread when changes occur. See https://github.com/hvbargen/vscode-pmd-daemon
But the same error occurs on the command line as shown.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4