From 49635c2a6609b69d014f83601374ff924b9929d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= Date: Mon, 29 Jun 2020 06:30:22 +0200 Subject: [PATCH] Deprecate Rulechain visitors --- .../pmd/lang/apex/rule/ApexRuleChainVisitor.java | 1 + .../src/main/java/net/sourceforge/pmd/lang/Language.java | 3 +++ .../sourceforge/pmd/lang/rule/AbstractRuleChainVisitor.java | 3 +++ .../net/sourceforge/pmd/lang/rule/RuleChainVisitor.java | 6 ++++++ .../pmd/lang/java/rule/JavaRuleChainVisitor.java | 1 + .../lang/ecmascript/rule/EcmascriptRuleChainVisitor.java | 1 + .../sourceforge/pmd/lang/jsp/rule/JspRuleChainVisitor.java | 1 + .../pmd/lang/modelica/rule/ModelicaRuleChainVisitor.java | 1 + .../pmd/lang/plsql/rule/PLSQLRuleChainVisitor.java | 1 + .../pmd/lang/scala/rule/ScalaRuleChainVisitor.java | 1 + .../net/sourceforge/pmd/test/lang/DummyLanguageModule.java | 1 + .../sourceforge/pmd/lang/vf/rule/VfRuleChainVisitor.java | 1 + .../sourceforge/pmd/lang/vm/rule/VmRuleChainVisitor.java | 1 + .../sourceforge/pmd/lang/xml/rule/XmlRuleChainVisitor.java | 1 + 14 files changed, 23 insertions(+) diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleChainVisitor.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleChainVisitor.java index f08298d699..062c3e8d3a 100644 --- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleChainVisitor.java +++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleChainVisitor.java @@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class ApexRuleChainVisitor extends AbstractRuleChainVisitor { @Override diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/Language.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/Language.java index b638af8998..eb60d5aade 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/Language.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/Language.java @@ -77,7 +77,10 @@ public interface Language extends Comparable { * * @return The RuleChainVisitor class. * @see net.sourceforge.pmd.lang.rule.RuleChainVisitor + * + * @deprecated Will be removed in PMD 7, avoid using this */ + @Deprecated Class getRuleChainVisitorClass(); /** diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRuleChainVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRuleChainVisitor.java index 56bf684808..099b38728f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRuleChainVisitor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRuleChainVisitor.java @@ -28,7 +28,10 @@ import net.sourceforge.pmd.lang.ast.Node; * This is a base class for RuleChainVisitor implementations which extracts * interesting nodes from an AST, and lets each Rule visit the nodes it has * expressed interest in. + * + * @deprecated See {@link RuleChainVisitor} */ +@Deprecated public abstract class AbstractRuleChainVisitor implements RuleChainVisitor { private static final Logger LOG = Logger.getLogger(AbstractRuleChainVisitor.class.getName()); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleChainVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleChainVisitor.java index f2425dbbcc..9b1c41d9c1 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleChainVisitor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleChainVisitor.java @@ -9,12 +9,18 @@ import java.util.List; import net.sourceforge.pmd.Rule; import net.sourceforge.pmd.RuleContext; import net.sourceforge.pmd.RuleSet; +import net.sourceforge.pmd.lang.BaseLanguageModule; import net.sourceforge.pmd.lang.ast.Node; /** * The RuleChainVisitor understands how to visit an AST for a particular * Language. + * + * @deprecated This interface will be removed. It's only used in internal + * code. Language implementors no longer need to register a rulechain + * visitor implementation in the {@link BaseLanguageModule} constructor. */ +@Deprecated public interface RuleChainVisitor { /** * Add the given rule to the visitor. diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleChainVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleChainVisitor.java index 386335289a..40fd701e69 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleChainVisitor.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleChainVisitor.java @@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.java.ast.JavaParserVisitorAdapter; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class JavaRuleChainVisitor extends AbstractRuleChainVisitor { @Override diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleChainVisitor.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleChainVisitor.java index d86e3f664a..2c30f8a51b 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleChainVisitor.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleChainVisitor.java @@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.ecmascript.ast.EcmascriptParserVisitor; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class EcmascriptRuleChainVisitor extends AbstractRuleChainVisitor { @Override diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleChainVisitor.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleChainVisitor.java index a9f76d1c32..0d289da074 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleChainVisitor.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleChainVisitor.java @@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.jsp.ast.JspParserVisitorAdapter; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class JspRuleChainVisitor extends AbstractRuleChainVisitor { @Override diff --git a/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/rule/ModelicaRuleChainVisitor.java b/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/rule/ModelicaRuleChainVisitor.java index f999a79fb7..24ee97f68d 100644 --- a/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/rule/ModelicaRuleChainVisitor.java +++ b/pmd-modelica/src/main/java/net/sourceforge/pmd/lang/modelica/rule/ModelicaRuleChainVisitor.java @@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.modelica.ast.ModelicaParserVisitorAdapter; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class ModelicaRuleChainVisitor extends AbstractRuleChainVisitor { @Override protected void visit(Rule rule, Node node, RuleContext ctx) { diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleChainVisitor.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleChainVisitor.java index e12bdf5d4d..cb66c26269 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleChainVisitor.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleChainVisitor.java @@ -18,6 +18,7 @@ import net.sourceforge.pmd.lang.plsql.ast.PLSQLParserVisitorAdapter; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class PLSQLRuleChainVisitor extends AbstractRuleChainVisitor { private static final Logger LOGGER = Logger.getLogger(PLSQLRuleChainVisitor.class.getName()); private static final String CLASS_NAME = PLSQLRuleChainVisitor.class.getName(); diff --git a/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java index 02191b7077..317809ce79 100644 --- a/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java +++ b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java @@ -19,6 +19,7 @@ import net.sourceforge.pmd.lang.scala.ast.ScalaParserVisitorAdapter; /** * A Rule Chain visitor for Scala. */ +@Deprecated public class ScalaRuleChainVisitor extends AbstractRuleChainVisitor { @SuppressWarnings("unchecked") 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 24f35b802e..a2bb003882 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 @@ -48,6 +48,7 @@ public class DummyLanguageModule extends BaseLanguageModule { addVersion("1.8", new Handler(), false); } + @Deprecated public static class DummyRuleChainVisitor extends AbstractRuleChainVisitor { @Override protected void visit(Rule rule, Node node, RuleContext ctx) { diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/rule/VfRuleChainVisitor.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/rule/VfRuleChainVisitor.java index 3f47672901..71514756ac 100644 --- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/rule/VfRuleChainVisitor.java +++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/rule/VfRuleChainVisitor.java @@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.vf.ast.VfNode; import net.sourceforge.pmd.lang.vf.ast.VfParserVisitor; import net.sourceforge.pmd.lang.vf.ast.VfParserVisitorAdapter; +@Deprecated public class VfRuleChainVisitor extends AbstractRuleChainVisitor { @Override diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleChainVisitor.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleChainVisitor.java index 8a7853bf8d..8f5070cbf1 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleChainVisitor.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleChainVisitor.java @@ -17,6 +17,7 @@ import net.sourceforge.pmd.lang.vm.ast.VmNode; import net.sourceforge.pmd.lang.vm.ast.VmParserVisitor; import net.sourceforge.pmd.lang.vm.ast.VmParserVisitorAdapter; +@Deprecated public class VmRuleChainVisitor extends AbstractRuleChainVisitor { @Override diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleChainVisitor.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleChainVisitor.java index 17df0c0026..a1f97cc043 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleChainVisitor.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleChainVisitor.java @@ -14,6 +14,7 @@ import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor; import net.sourceforge.pmd.lang.rule.XPathRule; +@Deprecated public class XmlRuleChainVisitor extends AbstractRuleChainVisitor { @Override