diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/AbstractJjtreeNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/AbstractJjtreeNode.java index 4abe4919f2..a8183aa322 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/AbstractJjtreeNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/AbstractJjtreeNode.java @@ -10,6 +10,7 @@ import net.sourceforge.pmd.lang.ast.impl.AbstractNode; import net.sourceforge.pmd.lang.document.Chars; import net.sourceforge.pmd.lang.document.FileLocation; import net.sourceforge.pmd.lang.document.TextRegion; +import net.sourceforge.pmd.util.StringUtil; /** * Base class for node produced by JJTree. JJTree specific functionality @@ -156,6 +157,7 @@ public abstract class AbstractJjtreeNode, N e @Override public String toString() { FileLocation loc = getReportLocation(); - return "[" + getXPathNodeName() + ":" + loc.getBeginLine() + ":" + loc.getBeginColumn() + "]" + getText(); + return "!debug only! [" + getXPathNodeName() + ":" + loc.getBeginLine() + ":" + loc.getBeginColumn() + "]" + + StringUtil.elide(getText().toString(), 150, "(truncated)"); } } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java index 3bbf718134..81b8021fa9 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java @@ -4,7 +4,6 @@ package net.sourceforge.pmd.cpd; -import java.io.IOException; import java.util.regex.Pattern; import org.junit.Assert; @@ -21,7 +20,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { * Test ignore identifiers argument. */ @Test - public void testIgnoreIdentifiers() throws Exception { + public void testIgnoreIdentifiers() { runCPD("--minimum-tokens", "34", "--language", "java", "--files", "src/test/resources/net/sourceforge/pmd/cpd/clitest/", "--ignore-identifiers"); @@ -34,7 +33,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { * Test ignore identifiers argument with failOnViolation=false */ @Test - public void testIgnoreIdentifiersFailOnViolationFalse() throws Exception { + public void testIgnoreIdentifiersFailOnViolationFalse() { runCPD("--minimum-tokens", "34", "--language", "java", "--files", "src/test/resources/net/sourceforge/pmd/cpd/clitest/", "--ignore-identifiers", "--failOnViolation", "false"); @@ -48,7 +47,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { * Test ignore identifiers argument with failOnViolation=false with changed long options */ @Test - public void testIgnoreIdentifiersFailOnViolationFalseLongOption() throws Exception { + public void testIgnoreIdentifiersFailOnViolationFalseLongOption() { runCPD("--minimum-tokens", "34", "--language", "java", "--files", "src/test/resources/net/sourceforge/pmd/cpd/clitest/", "--ignore-identifiers", "--fail-on-violation", "false"); @@ -62,7 +61,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { * Test excludes option. */ @Test - public void testExcludes() throws Exception { + public void testExcludes() { runCPD("--minimum-tokens", "34", "--language", "java", "--ignore-identifiers", "--files", "src/test/resources/net/sourceforge/pmd/cpd/clitest/", "--exclude", "src/test/resources/net/sourceforge/pmd/cpd/clitest/File2.java"); @@ -76,7 +75,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { * #1144 CPD encoding argument has no effect */ @Test - public void testEncodingOption() throws Exception { + public void testEncodingOption() { String origEncoding = System.getProperty("file.encoding"); // set the default encoding under Windows @@ -98,11 +97,9 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { /** * See: https://sourceforge.net/p/pmd/bugs/1178/ * - * @throws IOException - * any error */ @Test - public void testBrokenAndValidFile() throws IOException { + public void testBrokenAndValidFile() { runCPD("--minimum-tokens", "10", "--language", "java", "--files", "src/test/resources/net/sourceforge/pmd/cpd/badandgood/", "--format", "text", "--skip-lexical-errors"); String out = getOutput(); @@ -113,7 +110,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { } @Test - public void testFormatXmlWithoutEncoding() throws Exception { + public void testFormatXmlWithoutEncoding() { runCPD("--minimum-tokens", "10", "--language", "java", "--files", "src/test/resources/net/sourceforge/pmd/cpd/clitest/", "--format", "xml"); String out = getOutput(); @@ -122,7 +119,7 @@ public class CPDCommandLineInterfaceTest extends BaseCPDCLITest { } @Test - public void testCSVFormat() throws Exception { + public void testCSVFormat() { runCPD("--minimum-tokens", "100", "--files", "src/test/resources/net/sourceforge/pmd/cpd/badandgood/", "--language", "c", "--format", "csv"); String out = getOutput(); diff --git a/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParser.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParser.java index 0fd5e7917f..6fefec315f 100644 --- a/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParser.java +++ b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParser.java @@ -35,7 +35,7 @@ public final class ScalaParser implements Parser { Input.VirtualFile virtualFile = new Input.VirtualFile(task.getFileDisplayName(), task.getSourceText()); Source src = new ScalametaParser(virtualFile, dialect).parseSource(); ASTSource root = (ASTSource) new ScalaTreeBuilder().build(src); - root.setTextDocument(task.getTextDocument()); + root.addTaskInfo(task); return root; } diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftInnerNode.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftInnerNode.java index efbf7f3eeb..ea082bfbdc 100644 --- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftInnerNode.java +++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftInnerNode.java @@ -29,6 +29,7 @@ public abstract class SwiftInnerNode return visitor.visitNode(this, data); } + @Override // override to make visible in package protected PmdAsAntlrInnerNode asAntlrNode() { return super.asAntlrNode(); diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTExpression.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTExpression.java index 9c19a128f7..f6b81c869b 100644 --- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTExpression.java +++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTExpression.java @@ -28,12 +28,10 @@ public final class ASTExpression extends AbstractVfNode { } private void logWarning(String warning, Node node) { - LOG.warn("{}. nodeClass={}, fileName={}, beginLine={}, image={}", + LOG.warn("{}: {}\n{}", + node.getReportLocation().startPosToStringWithFile(), warning, - node.getClass().getSimpleName(), - node.getAstInfo().getFileName(), - node.getBeginLine(), - node.getImage()); + node); } /** diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ApexClassPropertyTypes.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ApexClassPropertyTypes.java index cf9bdf0e39..0d9488da0d 100644 --- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ApexClassPropertyTypes.java +++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ApexClassPropertyTypes.java @@ -72,7 +72,7 @@ class ApexClassPropertyTypes extends SalesforceFieldTypes { TextDocument textDocument = TextDocument.create(file)) { Parser parser = languageVersion.getLanguageVersionHandler().getParser(); - ParserTask task = new ParserTask(textDocument, SemanticErrorReporter.noop(), auxclasspathClassLoader); + ParserTask task = new ParserTask(textDocument, SemanticErrorReporter.noop(), ApexClassPropertyTypes.class.getClassLoader()); languageVersion.getLanguageVersionHandler().declareParserTaskProperties(task.getProperties()); return parser.parse(task);