From 7c45eb0ca9ba2a476ff7fe33d6a4d06275a6dd46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= Date: Sun, 15 Nov 2020 17:35:10 +0100 Subject: [PATCH] Use a wrapper 'AstInfo' --- .../pmd/lang/apex/ApexHandler.java | 2 +- .../pmd/lang/apex/ast/ASTApexFile.java | 9 +-- .../main/java/net/sourceforge/pmd/PMD.java | 2 +- .../main/java/net/sourceforge/pmd/Rule.java | 3 +- .../sourceforge/pmd/SourceCodeProcessor.java | 4 +- .../pmd/lang/LanguageVersionHandler.java | 1 + .../sourceforge/pmd/lang/ParserOptions.java | 1 + .../net/sourceforge/pmd/lang/ast/AstInfo.java | 55 +++++++++++++++++++ .../net/sourceforge/pmd/lang/ast/Node.java | 16 +----- .../sourceforge/pmd/lang/ast/ParseResult.java | 47 ++++++++++++++++ .../pmd/lang/{ => ast}/Parser.java | 8 +-- .../sourceforge/pmd/lang/ast/RootNode.java | 9 +-- .../lang/ast/impl/antlr4/AntlrBaseParser.java | 2 +- .../impl/antlr4/AntlrGeneratedParserBase.java | 2 +- .../ast/impl/javacc/JjtreeParserAdapter.java | 7 ++- .../pmd/util/treeexport/TreeExportCli.java | 4 +- .../pmd/internal/StageDependencyTest.java | 4 +- .../pmd/lang/DummyLanguageModule.java | 1 + .../sourceforge/pmd/lang/ast/DummyNode.java | 7 --- .../pmd/lang/java/ast/ASTCompilationUnit.java | 28 +++------- .../pmd/lang/java/ast/JavaParser.java | 9 +-- .../java/internal/JavaLanguageHandler.java | 2 +- .../BigIntegerInstantiationRule.java | 2 +- .../UnnecessaryWrapperObjectCreationRule.java | 4 +- .../java/rule/security/TypeResTestRule.java | 4 +- .../lang/ecmascript/EcmascriptHandler.java | 2 +- .../pmd/lang/ecmascript/ast/ASTAstRoot.java | 7 +-- .../lang/ecmascript/ast/EcmascriptParser.java | 2 +- .../sourceforge/pmd/lang/jsp/JspHandler.java | 2 +- .../pmd/lang/jsp/ast/ASTCompilationUnit.java | 24 +++----- .../pmd/lang/jsp/ast/JspParser.java | 5 +- .../pmd/lang/modelica/ModelicaHandler.java | 2 +- .../modelica/ast/ASTStoredDefinition.java | 5 -- .../pmd/lang/plsql/PLSQLHandler.java | 2 +- .../pmd/lang/plsql/ast/ASTInput.java | 5 -- .../pmd/lang/swift/SwiftHandler.java | 2 +- .../pmd/test/lang/DummyLanguageModule.java | 7 +-- .../sourceforge/pmd/lang/vf/VfHandler.java | 2 +- .../pmd/lang/vf/ast/ASTCompilationUnit.java | 7 +-- .../sourceforge/pmd/lang/vm/VmHandler.java | 2 +- .../pmd/lang/vm/ast/ASTTemplate.java | 7 +-- .../sourceforge/pmd/lang/xml/XmlHandler.java | 2 +- .../sourceforge/pmd/lang/xml/XmlParser.java | 2 +- .../lang/xml/ast/internal/XmlParserImpl.java | 4 -- 44 files changed, 172 insertions(+), 152 deletions(-) create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AstInfo.java create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/ParseResult.java rename pmd-core/src/main/java/net/sourceforge/pmd/lang/{ => ast}/Parser.java (91%) diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java index 9fda894220..2f0146bfa5 100644 --- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java +++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java @@ -9,7 +9,7 @@ import java.util.List; import net.sourceforge.pmd.annotation.InternalApi; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.apex.ast.ASTMethod; import net.sourceforge.pmd.lang.apex.ast.ASTUserClassOrInterface; diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTApexFile.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTApexFile.java index f813310a43..d0c788364b 100644 --- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTApexFile.java +++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTApexFile.java @@ -10,10 +10,9 @@ import java.util.Map; import org.checkerframework.checker.nullness.qual.NonNull; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.RootNode; import net.sourceforge.pmd.lang.ast.SourceCodePositioner; -import net.sourceforge.pmd.lang.rule.xpath.NoAttribute; import apex.jorje.semantic.ast.AstNode; import apex.jorje.semantic.ast.compilation.Compilation; @@ -43,12 +42,6 @@ public final class ASTApexFile extends AbstractApexNode implements Root return languageVersion; } - @Override - @NoAttribute - public String getSourceCodeFile() { - return file; - } - @Override public double getApexVersion() { return getNode().getDefiningType().getCodeUnitDetails().getVersion().getExternal(); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java b/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java index 32644b1bec..275b56b033 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java @@ -35,7 +35,7 @@ import net.sourceforge.pmd.lang.LanguageFilenameFilter; import net.sourceforge.pmd.lang.LanguageVersion; import net.sourceforge.pmd.lang.LanguageVersionDiscoverer; import net.sourceforge.pmd.lang.LanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.processor.AbstractPMDProcessor; import net.sourceforge.pmd.processor.MonoThreadProcessor; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java b/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java index 92b1fea733..af609e581c 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java @@ -12,6 +12,7 @@ import net.sourceforge.pmd.lang.LanguageVersion; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.ast.AstProcessingStage; import net.sourceforge.pmd.lang.ast.Node; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.rule.RuleTargetSelector; import net.sourceforge.pmd.properties.PropertySource; import net.sourceforge.pmd.properties.StringProperty; @@ -253,7 +254,7 @@ public interface Rule extends PropertySource { /** * Get the parser options for this Rule. Parser options are used to - * configure the {@link net.sourceforge.pmd.lang.Parser} to create an AST in + * configure the {@link Parser} to create an AST in * the form the Rule is expecting. Because ParserOptions are mutable, a Rule * should return a new instance on each call. * diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java b/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java index 7160399433..e4bfc97d6a 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java @@ -18,8 +18,8 @@ import net.sourceforge.pmd.benchmark.TimedOperationCategory; import net.sourceforge.pmd.internal.RulesetStageDependencyHelper; import net.sourceforge.pmd.internal.SystemProps; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.ParseException; import net.sourceforge.pmd.lang.ast.RootNode; import net.sourceforge.pmd.lang.ast.SemanticErrorReporter; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionHandler.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionHandler.java index 9315f1da2b..834eaa36f4 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionHandler.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionHandler.java @@ -10,6 +10,7 @@ import java.util.List; import net.sourceforge.pmd.annotation.Experimental; import net.sourceforge.pmd.lang.ast.AstProcessingStage; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.metrics.LanguageMetricsProvider; import net.sourceforge.pmd.lang.rule.RuleViolationFactory; import net.sourceforge.pmd.lang.rule.impl.DefaultRuleViolationFactory; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ParserOptions.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ParserOptions.java index 2b4ab03d6c..0834306906 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ParserOptions.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ParserOptions.java @@ -9,6 +9,7 @@ import java.util.Objects; import org.checkerframework.checker.nullness.qual.NonNull; import net.sourceforge.pmd.PMD; +import net.sourceforge.pmd.lang.ast.Parser; /** * Represents a set of configuration options for a {@link Parser}. For each diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AstInfo.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AstInfo.java new file mode 100644 index 0000000000..cdd7f4d873 --- /dev/null +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AstInfo.java @@ -0,0 +1,55 @@ +/* + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + +package net.sourceforge.pmd.lang.ast; + +import java.util.Collections; +import java.util.Map; + +import net.sourceforge.pmd.lang.LanguageVersion; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; + +/** + * The output of {@link Parser#parse(ParserTask)}. + */ +public final class AstInfo { + private final String filename; + private final LanguageVersion languageVersion; + private final String sourceText; + private final T rootNode; + private final Map suppressionComments; + + + public AstInfo(ParserTask task, T rootNode, Map suppressionComments) { + this.filename = task.getFileDisplayName(); + this.sourceText = task.getSourceText(); + this.languageVersion = task.getLanguageVersion(); + this.rootNode = rootNode; + this.suppressionComments = suppressionComments; + } + + public AstInfo(ParserTask task, T rootNode) { + this(task, rootNode, Collections.emptyMap()); + } + + public T getRootNode() { + return rootNode; + } + + public String getFileName() { + return filename; + } + + public String getSourceText() { + return sourceText; + } + + public Map getSuppressionComments() { + return suppressionComments; + } + + public LanguageVersion getLanguageVersion() { + return languageVersion; + } +} diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java index 5600201679..d9471f55bc 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java @@ -13,12 +13,10 @@ import java.util.Objects; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; -import net.sourceforge.pmd.lang.LanguageVersion; import net.sourceforge.pmd.lang.ast.NodeStream.DescendantNodeStream; import net.sourceforge.pmd.lang.ast.internal.StreamImpl; import net.sourceforge.pmd.lang.rule.xpath.Attribute; import net.sourceforge.pmd.lang.rule.xpath.DeprecatedAttribute; -import net.sourceforge.pmd.lang.rule.xpath.NoAttribute; import net.sourceforge.pmd.lang.rule.xpath.XPathVersion; import net.sourceforge.pmd.lang.rule.xpath.impl.AttributeAxisIterator; import net.sourceforge.pmd.lang.rule.xpath.impl.XPathHandler; @@ -320,19 +318,11 @@ public interface Node { return visitor.cannotVisit(this, data); } - - default LanguageVersion getLanguageVersion() { - return getRoot().getLanguageVersion(); - } - - /** - * @deprecated This is simply a placeholder until we have TextDocuments + * Returns the {@link AstInfo} for this root node. */ - @Deprecated - @NoAttribute - default String getSourceCodeFile() { - return getRoot().getSourceCodeFile(); + default AstInfo getAstInfo() { + return getRoot().getAstInfo(); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/ParseResult.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/ParseResult.java new file mode 100644 index 0000000000..259bb15f7c --- /dev/null +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/ParseResult.java @@ -0,0 +1,47 @@ +/* + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + +package net.sourceforge.pmd.lang.ast; + +import java.util.Collections; +import java.util.Map; + +import net.sourceforge.pmd.lang.LanguageVersion; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; + +/** + * The output of {@link Parser#parse(ParserTask)}. + * + * @param Type of root nodes + */ +public final class ParseResult { + + private final T rootNode; + private final AstInfo astInfo; + + public ParseResult(T rootNode, AstInfo info) { + this.rootNode = rootNode; + this.astInfo = info; + } + + public T getRootNode() { + return rootNode; + } + + public String getFileName() { + return filename; + } + + public String getSourceText() { + return sourceText; + } + + public Map getSuppressionComments() { + return suppressionComments; + } + + public LanguageVersion getLanguageVersion() { + return languageVersion; + } +} diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/Parser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Parser.java similarity index 91% rename from pmd-core/src/main/java/net/sourceforge/pmd/lang/Parser.java rename to pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Parser.java index 4827ce34a6..19a1bf5c0f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/Parser.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Parser.java @@ -2,16 +2,14 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang; +package net.sourceforge.pmd.lang.ast; import java.util.Objects; import org.checkerframework.checker.nullness.qual.NonNull; import net.sourceforge.pmd.PMD; -import net.sourceforge.pmd.lang.ast.FileAnalysisException; -import net.sourceforge.pmd.lang.ast.RootNode; -import net.sourceforge.pmd.lang.ast.SemanticErrorReporter; +import net.sourceforge.pmd.lang.LanguageVersion; /** * Produces an AST from a source file. Instances of this interface must @@ -36,7 +34,7 @@ public interface Parser { * parsing task is for an incorrect language * @throws FileAnalysisException If any error occurs */ - RootNode parse(ParserTask task) throws FileAnalysisException; + AstInfo parse(ParserTask task) throws FileAnalysisException; /** diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/RootNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/RootNode.java index 414d9c0365..68aff0030f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/RootNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/RootNode.java @@ -9,8 +9,6 @@ import java.util.Map; import net.sourceforge.pmd.annotation.Experimental; import net.sourceforge.pmd.annotation.InternalApi; -import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.rule.xpath.NoAttribute; /** * This interface identifies the root node of an AST. Each language @@ -39,12 +37,7 @@ public interface RootNode extends Node { return Collections.emptyMap(); } - @Override - LanguageVersion getLanguageVersion(); + AstInfo getAstInfo(); - - @Override - @NoAttribute - String getSourceCodeFile(); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseParser.java index e616fd1163..402facbd72 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseParser.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseParser.java @@ -8,7 +8,7 @@ import org.antlr.v4.runtime.CharStream; import org.antlr.v4.runtime.CharStreams; import org.antlr.v4.runtime.Lexer; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.ast.ParseException; import net.sourceforge.pmd.lang.ast.RootNode; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrGeneratedParserBase.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrGeneratedParserBase.java index 5571c21e70..edf18dbedb 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrGeneratedParserBase.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrGeneratedParserBase.java @@ -16,7 +16,7 @@ import net.sourceforge.pmd.lang.ast.Node; /** * This is the base class for antlr generated parsers. The implementation - * of PMD's {@link net.sourceforge.pmd.lang.Parser} interface is {@link AntlrBaseParser}. + * of PMD's {@link net.sourceforge.pmd.lang.ast.Parser} interface is {@link AntlrBaseParser}. * *

This class must implement the two abstract methods to create terminals * and error nodes that implement {@code }. The inner nodes implement PMD diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/JjtreeParserAdapter.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/JjtreeParserAdapter.java index d5973b6bfb..f8e03a5e7a 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/JjtreeParserAdapter.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/javacc/JjtreeParserAdapter.java @@ -4,9 +4,10 @@ package net.sourceforge.pmd.lang.ast.impl.javacc; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.AstInfo; import net.sourceforge.pmd.lang.ast.CharStream; import net.sourceforge.pmd.lang.ast.ParseException; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ast.RootNode; import net.sourceforge.pmd.lang.ast.TokenMgrError; @@ -30,7 +31,7 @@ public abstract class JjtreeParserAdapter implements Parser } @Override - public R parse(ParserTask task) throws ParseException { + public AstInfo parse(ParserTask task) throws ParseException { JavaccTokenDocument doc = newDocument(task.getSourceText()); CharStream charStream = newCharStream(doc); @@ -41,7 +42,7 @@ public abstract class JjtreeParserAdapter implements Parser } } - protected abstract R parseImpl(CharStream cs, ParserTask task) throws ParseException; + protected abstract AstInfo parseImpl(CharStream cs, ParserTask task) throws ParseException; @Override diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/treeexport/TreeExportCli.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/treeexport/TreeExportCli.java index fcea03e8c0..eb599bf301 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/treeexport/TreeExportCli.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/treeexport/TreeExportCli.java @@ -27,8 +27,8 @@ import net.sourceforge.pmd.lang.Language; import net.sourceforge.pmd.lang.LanguageRegistry; import net.sourceforge.pmd.lang.LanguageVersion; import net.sourceforge.pmd.lang.LanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.AstAnalysisContext; import net.sourceforge.pmd.lang.ast.RootNode; import net.sourceforge.pmd.lang.ast.SemanticErrorReporter; diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/internal/StageDependencyTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/internal/StageDependencyTest.java index 7785344acd..ca109fb66b 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/internal/StageDependencyTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/internal/StageDependencyTest.java @@ -20,8 +20,8 @@ import net.sourceforge.pmd.RuleSets; import net.sourceforge.pmd.lang.Language; import net.sourceforge.pmd.lang.LanguageRegistry; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.AstProcessingStage; import net.sourceforge.pmd.lang.ast.DummyAstStages; import net.sourceforge.pmd.lang.ast.DummyNode; diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java index bcdf4d4d07..d5c435aa14 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java @@ -11,6 +11,7 @@ import net.sourceforge.pmd.RuleViolation; import net.sourceforge.pmd.lang.ast.DummyAstStages; import net.sourceforge.pmd.lang.ast.DummyRoot; import net.sourceforge.pmd.lang.ast.Node; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.rule.ParametricRuleViolation; import net.sourceforge.pmd.lang.rule.impl.DefaultRuleViolationFactory; diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/DummyNode.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/DummyNode.java index 7285974c19..ce9ea36efa 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/DummyNode.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/DummyNode.java @@ -9,7 +9,6 @@ import java.util.Map; import net.sourceforge.pmd.lang.ast.impl.AbstractNodeWithTextCoordinates; import net.sourceforge.pmd.lang.ast.impl.GenericNode; -import net.sourceforge.pmd.lang.rule.xpath.NoAttribute; public class DummyNode extends AbstractNodeWithTextCoordinates implements GenericNode { private final boolean findBoundary; @@ -58,12 +57,6 @@ public class DummyNode extends AbstractNodeWithTextCoordinates, RootNode { private LazyTypeResolver lazyTypeResolver; private List comments; - private Map noPmdComments = Collections.emptyMap(); - private LanguageVersion languageVersion; - private String filename; + private AstInfo astInfo; ASTCompilationUnit(int id) { super(id); @@ -39,22 +35,12 @@ public final class ASTCompilationUnit extends AbstractJavaTypeNode implements Ja return comments; } - - @Override - public LanguageVersion getLanguageVersion() { - return languageVersion; + public void setAstInfo(AstInfo astInfo) { + this.astInfo = astInfo; } - - @Override - @NoAttribute - public String getSourceCodeFile() { - return filename; - } - - void addTaskInfo(ParserTask languageVersion) { - this.languageVersion = languageVersion.getLanguageVersion(); - this.filename = languageVersion.getFileDisplayName(); + public AstInfo getAstInfo() { + return astInfo; } void setComments(List comments) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParser.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParser.java index 8d202c31af..cef26d4fd0 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParser.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParser.java @@ -4,8 +4,10 @@ package net.sourceforge.pmd.lang.java.ast; +import net.sourceforge.pmd.lang.ast.AstInfo; import net.sourceforge.pmd.lang.ast.CharStream; import net.sourceforge.pmd.lang.ast.ParseException; +import net.sourceforge.pmd.lang.ast.ParseResult; import net.sourceforge.pmd.lang.ast.impl.javacc.JavaCharStream; import net.sourceforge.pmd.lang.ast.impl.javacc.JavaccTokenDocument; import net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter; @@ -37,16 +39,15 @@ public class JavaParser extends JjtreeParserAdapter { } @Override - protected ASTCompilationUnit parseImpl(CharStream cs, ParserTask task) throws ParseException { + protected ParseResult parseImpl(CharStream cs, ParserTask task) throws ParseException { JavaParserImpl parser = new JavaParserImpl(cs); parser.setSuppressMarker(task.getCommentMarker()); parser.setJdkVersion(checker.getJdkVersion()); parser.setPreview(checker.isPreviewEnabled()); ASTCompilationUnit acu = parser.CompilationUnit(); - acu.setNoPmdComments(parser.getSuppressMap()); - acu.addTaskInfo(task); + acu.setAstInfo(new AstInfo(task, parser.getSuppressMap())); checker.check(acu); - return acu; + return new ParseResult<>(acu, acu.getAstInfo()); } } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/internal/JavaLanguageHandler.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/internal/JavaLanguageHandler.java index 11273c79b1..174c986fe7 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/internal/JavaLanguageHandler.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/internal/JavaLanguageHandler.java @@ -8,7 +8,7 @@ import java.util.Arrays; import java.util.List; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration; import net.sourceforge.pmd.lang.java.ast.JavaParser; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/BigIntegerInstantiationRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/BigIntegerInstantiationRule.java index ed6c6d61a3..09fc4f4aba 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/BigIntegerInstantiationRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/BigIntegerInstantiationRule.java @@ -33,7 +33,7 @@ public class BigIntegerInstantiationRule extends AbstractJavaRule { return super.visit(node, data); } - boolean jdk15 = node.getLanguageVersion().compareTo(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5")) >= 0; + boolean jdk15 = node.getAstInfo().getLanguageVersion().compareTo(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5")) >= 0; if ((TypeTestUtil.isA(BigInteger.class, (ASTClassOrInterfaceType) type) || jdk15 && TypeTestUtil.isA(BigDecimal.class, (ASTClassOrInterfaceType) type)) && !node.hasDescendantOfType(ASTArrayDimsAndInits.class)) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UnnecessaryWrapperObjectCreationRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UnnecessaryWrapperObjectCreationRule.java index 05679348c2..e305a6add8 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UnnecessaryWrapperObjectCreationRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UnnecessaryWrapperObjectCreationRule.java @@ -36,8 +36,8 @@ public class UnnecessaryWrapperObjectCreationRule extends AbstractJavaRule { image = image.substring(10); } - boolean checkBoolean = node.getLanguageVersion() - .compareTo(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5")) >= 0; + boolean checkBoolean = node.getAstInfo().getLanguageVersion() + .compareTo(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5")) >= 0; if (PREFIX_SET.contains(image) || checkBoolean && "Boolean.valueOf".equals(image)) { ASTPrimaryExpression parent = (ASTPrimaryExpression) node.getParent(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/security/TypeResTestRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/security/TypeResTestRule.java index 0e5430b565..82107a126a 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/security/TypeResTestRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/security/TypeResTestRule.java @@ -69,7 +69,7 @@ public class TypeResTestRule extends AbstractJavaRule { @Override public Object visit(ASTCompilationUnit node, Object data) { - FILENAME.set(node.getSourceCodeFile()); + FILENAME.set(node.getAstInfo().getFileName()); for (JavaNode descendant : node.descendants().crossFindBoundaries()) { visitJavaNode(descendant, data); } @@ -113,7 +113,7 @@ public class TypeResTestRule extends AbstractJavaRule { @NonNull public String position(JavaNode node) { - return "In: " + node.getSourceCodeFile() + ":" + node.getBeginLine() + ":" + node.getBeginColumn(); + return "In: " + node.getAstInfo().getFileName() + ":" + node.getBeginLine() + ":" + node.getBeginColumn(); } @Override diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptHandler.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptHandler.java index 981392099e..f7b9704619 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptHandler.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.ecmascript; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.ecmascript.ast.EcmascriptParser; diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTAstRoot.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTAstRoot.java index 3637c894ae..a586ba4025 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTAstRoot.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTAstRoot.java @@ -10,7 +10,7 @@ import java.util.Map; import org.mozilla.javascript.ast.AstRoot; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.RootNode; public final class ASTAstRoot extends AbstractEcmascriptNode implements RootNode { @@ -28,11 +28,6 @@ public final class ASTAstRoot extends AbstractEcmascriptNode implements return languageVersion; } - @Override - public String getSourceCodeFile() { - return filename; - } - void addTaskInfo(ParserTask languageVersion) { this.languageVersion = languageVersion.getLanguageVersion(); this.filename = languageVersion.getFileDisplayName(); diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParser.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParser.java index 04e1cb1f73..e8a9b1d2ac 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParser.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParser.java @@ -21,7 +21,7 @@ import net.sourceforge.pmd.lang.ast.FileAnalysisException; import net.sourceforge.pmd.lang.ast.ParseException; import net.sourceforge.pmd.lang.ast.RootNode; -public final class EcmascriptParser implements net.sourceforge.pmd.lang.Parser { +public final class EcmascriptParser implements net.sourceforge.pmd.lang.ast.Parser { private final int esVersion; private final String suppressMarker; diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java index 578c7e186a..34085b3a08 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.jsp; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.jsp.ast.JspParser; diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/ASTCompilationUnit.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/ASTCompilationUnit.java index ad65090897..bde67a2d77 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/ASTCompilationUnit.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/ASTCompilationUnit.java @@ -4,34 +4,26 @@ package net.sourceforge.pmd.lang.jsp.ast; -import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.AstInfo; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.RootNode; public final class ASTCompilationUnit extends AbstractJspNode implements RootNode { - private LanguageVersion languageVersion; - private String filename; + private AstInfo astInfo; ASTCompilationUnit(int id) { super(id); } @Override - public LanguageVersion getLanguageVersion() { - return languageVersion; + public AstInfo getAstInfo() { + return astInfo; } - - @Override - public String getSourceCodeFile() { - return filename; - } - - ASTCompilationUnit addTaskInfo(ParserTask languageVersion) { - this.languageVersion = languageVersion.getLanguageVersion(); - this.filename = languageVersion.getFileDisplayName(); - return this; + AstInfo makeTaskInfo(ParserTask task) { + this.astInfo = new AstInfo<>(task, this); + return astInfo; } @Override diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JspParser.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JspParser.java index 0ce7dbefa9..5f8d9837f2 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JspParser.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JspParser.java @@ -6,6 +6,7 @@ package net.sourceforge.pmd.lang.jsp.ast; import org.checkerframework.checker.nullness.qual.Nullable; +import net.sourceforge.pmd.lang.ast.AstInfo; import net.sourceforge.pmd.lang.ast.CharStream; import net.sourceforge.pmd.lang.ast.ParseException; import net.sourceforge.pmd.lang.ast.impl.javacc.JavaccTokenDocument; @@ -27,8 +28,8 @@ public final class JspParser extends JjtreeParserAdapter { } @Override - protected ASTCompilationUnit parseImpl(CharStream cs, ParserTask task) throws ParseException { - return new JspParserImpl(cs).CompilationUnit().addTaskInfo(task); + protected AstInfo parseImpl(CharStream cs, ParserTask task) throws ParseException { + return new JspParserImpl(cs).CompilationUnit().makeTaskInfo(task); } } diff --git a/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ModelicaHandler.java b/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ModelicaHandler.java index cac6cb273e..352af0cf21 100644 --- a/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ModelicaHandler.java +++ b/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ModelicaHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.modelica; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.modelica.ast.ModelicaParser; import net.sourceforge.pmd.lang.modelica.internal.ModelicaProcessingStage; diff --git a/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ast/ASTStoredDefinition.java b/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ast/ASTStoredDefinition.java index ec3e19e9e4..5e48d170d0 100644 --- a/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ast/ASTStoredDefinition.java +++ b/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/ast/ASTStoredDefinition.java @@ -35,11 +35,6 @@ public class ASTStoredDefinition extends AbstractModelicaNode implements RootNod return languageVersion; } - @Override - public String getSourceCodeFile() { - return filename; - } - ASTStoredDefinition addTaskInfo(ParserTask languageVersion) { this.languageVersion = languageVersion.getLanguageVersion(); this.filename = languageVersion.getFileDisplayName(); diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java index af4aa21a8c..1ac223483e 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.plsql; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.plsql.ast.PLSQLParser; diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInput.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInput.java index e8323a547f..f61c81b20a 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInput.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInput.java @@ -22,11 +22,6 @@ public final class ASTInput extends AbstractPLSQLNode implements RootNode { return languageVersion; } - @Override - public String getSourceCodeFile() { - return filename; - } - ASTInput addTaskInfo(ParserTask languageVersion) { this.languageVersion = languageVersion.getLanguageVersion(); this.filename = languageVersion.getFileDisplayName(); diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java index cd24a18167..1a4cb075f5 100644 --- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java +++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.swift; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.swift.ast.PmdSwiftParser; diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/test/lang/DummyLanguageModule.java b/pmd-test/src/main/java/net/sourceforge/pmd/test/lang/DummyLanguageModule.java index acd12a7e7c..390f41ec76 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/test/lang/DummyLanguageModule.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/test/lang/DummyLanguageModule.java @@ -7,7 +7,7 @@ package net.sourceforge.pmd.test.lang; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; import net.sourceforge.pmd.lang.BaseLanguageModule; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.ast.RootNode; import net.sourceforge.pmd.lang.rule.impl.DefaultRuleViolationFactory; @@ -62,11 +62,6 @@ public class DummyLanguageModule extends BaseLanguageModule { return languageVersion; } - @Override - public String getSourceCodeFile() { - return "someFile.dummy"; - } - public DummyRootNode setLanguageVersion(LanguageVersion languageVersion) { this.languageVersion = languageVersion; return this; diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java index fa953b9fef..75e21cfe7c 100644 --- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java +++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.vf; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.vf.ast.VfParser; diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTCompilationUnit.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTCompilationUnit.java index 028a83f0d3..e80300f77b 100644 --- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTCompilationUnit.java +++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/ASTCompilationUnit.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.vf.ast; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.RootNode; public final class ASTCompilationUnit extends AbstractVfNode implements RootNode { @@ -22,11 +22,6 @@ public final class ASTCompilationUnit extends AbstractVfNode implements RootNode return languageVersion; } - @Override - public String getSourceCodeFile() { - return filename; - } - ASTCompilationUnit addTaskInfo(ParserTask languageVersion) { this.languageVersion = languageVersion.getLanguageVersion(); this.filename = languageVersion.getFileDisplayName(); diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java index 8632d9d0bf..160518e2bc 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.vm; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.vm.ast.VmParser; diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTTemplate.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTTemplate.java index 3d72d5d549..5e4b5f1f97 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTTemplate.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTTemplate.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.vm.ast; import net.sourceforge.pmd.lang.LanguageVersion; -import net.sourceforge.pmd.lang.Parser.ParserTask; +import net.sourceforge.pmd.lang.ast.Parser.ParserTask; import net.sourceforge.pmd.lang.ast.RootNode; public final class ASTTemplate extends AbstractVmNode implements RootNode { @@ -22,11 +22,6 @@ public final class ASTTemplate extends AbstractVmNode implements RootNode { return languageVersion; } - @Override - public String getSourceCodeFile() { - return filename; - } - ASTTemplate addTaskInfo(ParserTask languageVersion) { this.languageVersion = languageVersion.getLanguageVersion(); this.filename = languageVersion.getFileDisplayName(); diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java index 2613c0a183..2f8eafe50b 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java @@ -5,7 +5,7 @@ package net.sourceforge.pmd.lang.xml; import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ParserOptions; /** diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlParser.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlParser.java index 3c23d5c421..172fb1512b 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlParser.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlParser.java @@ -4,7 +4,7 @@ package net.sourceforge.pmd.lang.xml; -import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.ast.Parser; import net.sourceforge.pmd.lang.ast.ParseException; import net.sourceforge.pmd.lang.xml.ast.internal.XmlParserImpl; import net.sourceforge.pmd.lang.xml.ast.internal.XmlParserImpl.RootXmlNode; diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/internal/XmlParserImpl.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/internal/XmlParserImpl.java index db7bee1201..bddd1438fe 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/internal/XmlParserImpl.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/internal/XmlParserImpl.java @@ -106,10 +106,6 @@ public class XmlParserImpl { return languageVersion; } - @Override - public String getSourceCodeFile() { - return filename; - } } }