Deprecate BaseLanguageModule constructor
This commit is contained in:
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.apex;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.apex.rule.ApexRuleChainVisitor;
|
||||
|
||||
import apex.jorje.services.Version;
|
||||
|
||||
@ -16,7 +15,7 @@ public class ApexLanguageModule extends BaseLanguageModule {
|
||||
public static final String[] EXTENSIONS = { "cls", "trigger" };
|
||||
|
||||
public ApexLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, ApexRuleChainVisitor.class, EXTENSIONS);
|
||||
super(NAME, null, TERSE_NAME, "cls", "trigger");
|
||||
addVersion(String.valueOf((int) Version.CURRENT.getExternal()), new ApexHandler(), true);
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import net.sourceforge.pmd.Rule;
|
||||
import net.sourceforge.pmd.RuleContext;
|
||||
import net.sourceforge.pmd.lang.ast.Node;
|
||||
import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor;
|
||||
import net.sourceforge.pmd.util.CollectionUtil;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 21.09.14.
|
||||
@ -30,6 +31,12 @@ public abstract class BaseLanguageModule implements Language {
|
||||
protected Map<String, LanguageVersion> versions;
|
||||
protected LanguageVersion defaultVersion;
|
||||
|
||||
/**
|
||||
* @deprecated Use the other constructor. It doesn't require a
|
||||
* rulechain visitor class, but forces you to mention at least
|
||||
* one file extension.
|
||||
*/
|
||||
@Deprecated
|
||||
public BaseLanguageModule(String name, String shortName, String terseName, Class<?> ruleChainVisitorClass,
|
||||
String... extensions) {
|
||||
this.name = name;
|
||||
@ -39,6 +46,18 @@ public abstract class BaseLanguageModule implements Language {
|
||||
this.extensions = Arrays.asList(extensions);
|
||||
}
|
||||
|
||||
public BaseLanguageModule(String name,
|
||||
String shortName,
|
||||
String terseName,
|
||||
String firstExtension,
|
||||
String... otherExtensions) {
|
||||
this.name = name;
|
||||
this.shortName = shortName;
|
||||
this.terseName = terseName;
|
||||
this.ruleChainVisitorClass = DefaultRulechainVisitor.class;
|
||||
this.extensions = CollectionUtil.listOf(firstExtension, otherExtensions);
|
||||
}
|
||||
|
||||
private void addVersion(String version, LanguageVersionHandler languageVersionHandler, boolean isDefault, String... versionAliases) {
|
||||
if (versions == null) {
|
||||
versions = new HashMap<>();
|
||||
@ -194,7 +213,16 @@ public abstract class BaseLanguageModule implements Language {
|
||||
|
||||
@Override
|
||||
protected void indexNodes(List<Node> nodes, RuleContext ctx) {
|
||||
for (Node node : nodes) {
|
||||
indexNodeRec(node);
|
||||
}
|
||||
}
|
||||
|
||||
protected void indexNodeRec(Node top) {
|
||||
indexNode(top);
|
||||
for (Node child : top.children()) {
|
||||
indexNodeRec(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
@ -187,6 +188,15 @@ public final class CollectionUtil {
|
||||
return list;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> List<T> listOf(T first, T... rest) {
|
||||
// note: 7.0.x already has a better version of that
|
||||
ArrayList<T> result = new ArrayList<>(rest.length + 1);
|
||||
result.add(first);
|
||||
Collections.addAll(result, rest);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the objects are array instances and each of their
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.java;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.java.rule.JavaRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -16,7 +15,7 @@ public class JavaLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "java";
|
||||
|
||||
public JavaLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, JavaRuleChainVisitor.class, "java");
|
||||
super(NAME, null, TERSE_NAME, "java");
|
||||
addVersion("1.3", new JavaLanguageHandler(3));
|
||||
addVersion("1.4", new JavaLanguageHandler(4));
|
||||
addVersion("1.5", new JavaLanguageHandler(5), "5");
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.ecmascript;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.ecmascript.rule.EcmascriptRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -16,7 +15,7 @@ public class EcmascriptLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "ecmascript";
|
||||
|
||||
public EcmascriptLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, EcmascriptRuleChainVisitor.class, "js");
|
||||
super(NAME, null, TERSE_NAME,"js");
|
||||
addVersion("3", new Ecmascript3Handler(), true);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.jsp;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.jsp.rule.JspRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -16,7 +15,7 @@ public class JspLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "jsp";
|
||||
|
||||
public JspLanguageModule() {
|
||||
super(NAME, "JSP", TERSE_NAME, JspRuleChainVisitor.class, "jsp", "jspx", "jspf", "tag");
|
||||
super(NAME, "JSP", TERSE_NAME, "jsp", "jspx", "jspf", "tag");
|
||||
addVersion("", new JspHandler(), true);
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.plsql;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.plsql.rule.PLSQLRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -16,7 +15,7 @@ public class PLSQLLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "plsql";
|
||||
|
||||
public PLSQLLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, PLSQLRuleChainVisitor.class,
|
||||
super(NAME, null, TERSE_NAME,
|
||||
"sql",
|
||||
"trg", // Triggers
|
||||
"prc", "fnc", // Standalone Procedures and Functions
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.scala;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.scala.rule.ScalaRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Language Module for Scala.
|
||||
@ -22,7 +21,7 @@ public class ScalaLanguageModule extends BaseLanguageModule {
|
||||
* Create a new instance of Scala Language Module.
|
||||
*/
|
||||
public ScalaLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, ScalaRuleChainVisitor.class, "scala");
|
||||
super(NAME, null, TERSE_NAME, "scala");
|
||||
addVersion("2.13", new ScalaLanguageHandler(scala.meta.dialects.package$.MODULE$.Scala213()), true);
|
||||
addVersion("2.12", new ScalaLanguageHandler(scala.meta.dialects.package$.MODULE$.Scala212()), false);
|
||||
addVersion("2.11", new ScalaLanguageHandler(scala.meta.dialects.package$.MODULE$.Scala211()), false);
|
||||
|
@ -36,7 +36,7 @@ public class DummyLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "dummy";
|
||||
|
||||
public DummyLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, DummyRuleChainVisitor.class, "dummy");
|
||||
super(NAME, null, TERSE_NAME, "dummy");
|
||||
addVersion("1.0", new Handler(), false);
|
||||
addVersion("1.1", new Handler(), false);
|
||||
addVersion("1.2", new Handler(), false);
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.vf;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.vf.rule.VfRuleChainVisitor;
|
||||
|
||||
|
||||
/**
|
||||
@ -18,7 +17,7 @@ public class VfLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "vf";
|
||||
|
||||
public VfLanguageModule() {
|
||||
super(NAME, "VisualForce", TERSE_NAME, VfRuleChainVisitor.class, "page", "component");
|
||||
super(NAME, "VisualForce", TERSE_NAME, "page", "component");
|
||||
addVersion("", new VfHandler(), true);
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.vm;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.vm.rule.VmRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -16,7 +15,7 @@ public class VmLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "vm";
|
||||
|
||||
public VmLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, VmRuleChainVisitor.class, "vm");
|
||||
super(NAME, null, TERSE_NAME, "vm");
|
||||
addVersion("", new VmHandler(), true);
|
||||
}
|
||||
|
||||
|
@ -6,14 +6,13 @@ package net.sourceforge.pmd.lang.pom;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.xml.XmlHandler;
|
||||
import net.sourceforge.pmd.lang.xml.rule.XmlRuleChainVisitor;
|
||||
|
||||
public class PomLanguageModule extends BaseLanguageModule {
|
||||
public static final String NAME = "Maven POM";
|
||||
public static final String TERSE_NAME = "pom";
|
||||
|
||||
public PomLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, XmlRuleChainVisitor.class, "pom");
|
||||
super(NAME, null, TERSE_NAME, "pom");
|
||||
addVersion("", new XmlHandler(), true);
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ package net.sourceforge.pmd.lang.wsdl;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.xml.XmlHandler;
|
||||
import net.sourceforge.pmd.lang.xml.rule.XmlRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by bernardo-macedo on 24.06.15.
|
||||
@ -16,7 +15,7 @@ public class WsdlLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "wsdl";
|
||||
|
||||
public WsdlLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, XmlRuleChainVisitor.class, "wsdl");
|
||||
super(NAME, null, TERSE_NAME, "wsdl");
|
||||
addVersion("", new XmlHandler(), true);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.xml;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.xml.rule.XmlRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -16,7 +15,7 @@ public class XmlLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "xml";
|
||||
|
||||
public XmlLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, XmlRuleChainVisitor.class, "xml");
|
||||
super(NAME, null, TERSE_NAME, "xml");
|
||||
addVersion("", new XmlHandler(), true);
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ package net.sourceforge.pmd.lang.xsl;
|
||||
|
||||
import net.sourceforge.pmd.lang.BaseLanguageModule;
|
||||
import net.sourceforge.pmd.lang.xml.XmlHandler;
|
||||
import net.sourceforge.pmd.lang.xml.rule.XmlRuleChainVisitor;
|
||||
|
||||
/**
|
||||
* Created by christoferdutz on 20.09.14.
|
||||
@ -17,7 +16,7 @@ public class XslLanguageModule extends BaseLanguageModule {
|
||||
public static final String TERSE_NAME = "xsl";
|
||||
|
||||
public XslLanguageModule() {
|
||||
super(NAME, null, TERSE_NAME, XmlRuleChainVisitor.class, "xsl", "xslt");
|
||||
super(NAME, null, TERSE_NAME, "xsl", "xslt");
|
||||
addVersion("", new XmlHandler(), true);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user