diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/AbstractPropertySource.java b/pmd-core/src/main/java/net/sourceforge/pmd/AbstractPropertySource.java index f94345f615..315b7a9aff 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/AbstractPropertySource.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/AbstractPropertySource.java @@ -22,9 +22,9 @@ import net.sourceforge.pmd.util.CollectionUtil; public abstract class AbstractPropertySource implements PropertySource { /** The list of known properties that can be configured. */ - protected List> propertyDescriptors = new ArrayList>(); + protected List> propertyDescriptors = new ArrayList<>(); /** The values for each property. */ - protected Map, Object> propertyValuesByDescriptor = new HashMap, Object>(); + protected Map, Object> propertyValuesByDescriptor = new HashMap<>(); /** * Creates a copied list of the property descriptors and returns it. @@ -32,7 +32,7 @@ public abstract class AbstractPropertySource implements PropertySource { * @return a copy of the property descriptors. */ protected List> copyPropertyDescriptors() { - List> copy = new ArrayList>(propertyDescriptors.size()); + List> copy = new ArrayList<>(propertyDescriptors.size()); copy.addAll(propertyDescriptors); return copy; } @@ -43,7 +43,7 @@ public abstract class AbstractPropertySource implements PropertySource { * @return a copy of the values */ protected Map, Object> copyPropertyValues() { - Map, Object> copy = new HashMap, Object>( + Map, Object> copy = new HashMap<>( propertyValuesByDescriptor.size()); copy.putAll(propertyValuesByDescriptor); return copy; @@ -152,7 +152,7 @@ public abstract class AbstractPropertySource implements PropertySource { return Collections.emptyMap(); } - Map, Object> propertiesByPropertyDescriptor = new HashMap, Object>( + Map, Object> propertiesByPropertyDescriptor = new HashMap<>( propertyDescriptors.size()); // Fill with existing explicitly values propertiesByPropertyDescriptor.putAll(this.propertyValuesByDescriptor); 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 8a58c56db8..b52d9708c4 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java @@ -67,7 +67,7 @@ public class PMD { * @see DBURI */ public static List getURIDataSources(String uriString) throws PMDException { - List dataSources = new ArrayList(); + List dataSources = new ArrayList<>(); try { DBURI dbUri = new DBURI(uriString); @@ -156,7 +156,7 @@ public class PMD { */ private static Set removeBrokenRules(RuleSets ruleSets) { - Set brokenRules = new HashSet(); + Set brokenRules = new HashSet<>(); ruleSets.removeDysfunctionalRules(brokenRules); for (Rule rule : brokenRules) { @@ -229,7 +229,7 @@ public class PMD { long reportStart = System.nanoTime(); try { Renderer renderer = configuration.createRenderer(); - List renderers = new LinkedList(); + List renderers = new LinkedList<>(); renderers.add(renderer); renderer.setWriter(IOUtil.createWriter(configuration.getReportFile())); @@ -389,7 +389,7 @@ public class PMD { private static List internalGetApplicableFiles(PMDConfiguration configuration, Set languages) { LanguageFilenameFilter fileSelector = new LanguageFilenameFilter(languages); - List files = new ArrayList(); + List files = new ArrayList<>(); if (null != configuration.getInputPaths()) { files.addAll(FileUtil.collectFiles(configuration.getInputPaths(), fileSelector)); @@ -410,7 +410,7 @@ public class PMD { } private static Set getApplicableLanguages(PMDConfiguration configuration, RuleSets ruleSets) { - Set languages = new HashSet(); + Set languages = new HashSet<>(); LanguageVersionDiscoverer discoverer = configuration.getLanguageVersionDiscoverer(); for (Rule rule : ruleSets.getAllRules()) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/Report.java b/pmd-core/src/main/java/net/sourceforge/pmd/Report.java index be5f71aced..6b972f967e 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/Report.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/Report.java @@ -201,16 +201,16 @@ public class Report implements Iterable { // Note that this and the above data structure are both being maintained for // a bit - private final List violations = new ArrayList(); - private final Set metrics = new HashSet(); - private final List listeners = new ArrayList(); + private final List violations = new ArrayList<>(); + private final Set metrics = new HashSet<>(); + private final List listeners = new ArrayList<>(); private List errors; private List configErrors; - private Map linesToSuppress = new HashMap(); + private Map linesToSuppress = new HashMap<>(); private long start; private long end; - private List suppressedRuleViolations = new ArrayList(); + private List suppressedRuleViolations = new ArrayList<>(); /** * Configure the lines, that are suppressed via a NOPMD comment. @@ -232,7 +232,7 @@ public class Report implements Iterable { * @return violations per class name */ public Map getCountSummary() { - Map summary = new HashMap(); + Map summary = new HashMap<>(); for (RuleViolation rv : violationTree) { String key = keyFor(rv); Integer o = summary.get(key); @@ -252,7 +252,7 @@ public class Report implements Iterable { * of violations) */ public Map getSummary() { - Map summary = new HashMap(); + Map summary = new HashMap<>(); for (RuleViolation rv : violations) { String name = rv.getRule().getName(); if (!summary.containsKey(name)) { @@ -323,7 +323,7 @@ public class Report implements Iterable { */ public void addConfigError(RuleConfigurationError error) { if (configErrors == null) { - configErrors = new ArrayList(); + configErrors = new ArrayList<>(); } configErrors.add(error); } @@ -335,7 +335,7 @@ public class Report implements Iterable { */ public void addError(ProcessingError error) { if (errors == null) { - errors = new ArrayList(); + errors = new ArrayList<>(); } errors.add(error); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleChain.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleChain.java index 49f290ddcf..2569897f7c 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleChain.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleChain.java @@ -19,7 +19,7 @@ import net.sourceforge.pmd.lang.rule.RuleChainVisitor; */ public class RuleChain { // Mapping from Language to RuleChainVisitor - private final Map languageToRuleChainVisitor = new HashMap(); + private final Map languageToRuleChainVisitor = new HashMap<>(); /** * Add all Rules from the given RuleSet which want to participate in the diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleContext.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleContext.java index feb8796ce3..424a7e8244 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleContext.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleContext.java @@ -39,7 +39,7 @@ public class RuleContext { * Default constructor. */ public RuleContext() { - attributes = new ConcurrentHashMap(); + attributes = new ConcurrentHashMap<>(); } /** diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSet.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSet.java index 2e65b910f3..45de9c8fec 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSet.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSet.java @@ -35,14 +35,14 @@ public class RuleSet { private static final Logger LOG = Logger.getLogger(RuleSet.class.getName()); - private List rules = new ArrayList(); + private List rules = new ArrayList<>(); private String fileName; private String name = ""; private String description = ""; // TODO should these not be Sets or is their order important? - private List excludePatterns = new ArrayList(0); - private List includePatterns = new ArrayList(0); + private List excludePatterns = new ArrayList<>(0); + private List includePatterns = new ArrayList<>(0); private Filter filter; @@ -251,7 +251,7 @@ public class RuleSet { RuleSetReference ruleSetReference = new RuleSetReference(ruleSet.getFileName()); ruleSetReference.setAllRules(allRules); if (excludes != null) { - ruleSetReference.setExcludes(new HashSet(Arrays.asList(excludes))); + ruleSetReference.setExcludes(new HashSet<>(Arrays.asList(excludes))); } for (Rule rule : ruleSet.getRules()) { RuleReference ruleReference = new RuleReference(rule, ruleSetReference); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java index a627fc4f01..323a12da98 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java @@ -88,7 +88,7 @@ public class RuleSetFactory { public Iterator getRegisteredRuleSets() throws RuleSetNotFoundException { String rulesetsProperties = null; try { - List ruleSetReferenceIds = new ArrayList(); + List ruleSetReferenceIds = new ArrayList<>(); for (Language language : LanguageRegistry.findWithRuleSupport()) { Properties props = new Properties(); rulesetsProperties = "rulesets/" + language.getTerseName() + "/rulesets.properties"; @@ -332,7 +332,7 @@ public class RuleSetFactory { ruleSetReference.setRuleSetFileName(ref); String priority = null; NodeList childNodes = ruleElement.getChildNodes(); - Set excludedRulesCheck = new HashSet(); + Set excludedRulesCheck = new HashSet<>(); for (int i = 0; i < childNodes.getLength(); i++) { Node child = childNodes.item(i); if (isElementNode(child, "exclude")) { @@ -676,7 +676,6 @@ public class RuleSetFactory { * @param rule The Rule to which the property should be added. //@param * propertyNode Must be a property element node. */ - @SuppressWarnings("unchecked") // private static void parsePropertyNode(Rule rule, Node propertyNode) { // Element propertyElement = (Element) propertyNode; // String name = propertyElement.getAttribute("name"); @@ -715,12 +714,11 @@ public class RuleSetFactory { // rule.definePropertyDescriptor(propertyDescriptor); // } // } - private static void setValue(Rule rule, PropertyDescriptor desc, String strValue) { - Object realValue = desc.valueFrom(strValue); + private static void setValue(Rule rule, PropertyDescriptor desc, String strValue) { + T realValue = desc.valueFrom(strValue); rule.setProperty(desc, realValue); } - @SuppressWarnings("unchecked") private static void parsePropertyNodeBR(Rule rule, Node propertyNode) { Element propertyElement = (Element) propertyNode; @@ -750,7 +748,7 @@ public class RuleSetFactory { } Map valueKeys = pdFactory.expectedFields(); - Map values = new HashMap(valueKeys.size()); + Map values = new HashMap<>(valueKeys.size()); // populate a map of values for an individual descriptor for (Map.Entry entry : valueKeys.entrySet()) { @@ -764,7 +762,7 @@ public class RuleSetFactory { } PropertyDescriptor desc = pdFactory.createWith(values); - PropertyDescriptorWrapper wrapper = new PropertyDescriptorWrapper(desc); + PropertyDescriptorWrapper wrapper = new PropertyDescriptorWrapper<>(desc); rule.definePropertyDescriptor(wrapper); setValue(rule, desc, strValue); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetNotFoundException.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetNotFoundException.java index 62b1608d1e..19ede5de38 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetNotFoundException.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetNotFoundException.java @@ -4,6 +4,8 @@ package net.sourceforge.pmd; public class RuleSetNotFoundException extends Exception { + private static final long serialVersionUID = -4617033110919250810L; + public RuleSetNotFoundException(String msg) { super(msg); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReference.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReference.java index a168790844..ee5ef4365f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReference.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReference.java @@ -12,7 +12,7 @@ import java.util.Set; public class RuleSetReference { private String ruleSetFileName; private boolean allRules; - private Set excludes = new LinkedHashSet(0); + private Set excludes = new LinkedHashSet<>(0); public RuleSetReference() { } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReferenceId.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReferenceId.java index 1164c439f3..e79ec2b893 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReferenceId.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetReferenceId.java @@ -288,13 +288,12 @@ public class RuleSetReferenceId { } private static boolean isHttpUrl(String name) { - - if (name == null) { + String stripped = StringUtils.strip(name); + if (stripped == null) { return false; } - name = StringUtils.strip(name); - if (name.startsWith("http://") || name.startsWith("https://")) { + if (stripped.startsWith("http://") || stripped.startsWith("https://")) { return true; } @@ -333,7 +332,7 @@ public class RuleSetReferenceId { * @return The corresponding List of RuleSetReferenceId instances. */ public static List parse(String referenceString) { - List references = new ArrayList(); + List references = new ArrayList<>(); if (referenceString != null && referenceString.trim().length() > 0) { if (referenceString.indexOf(',') == -1) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetWriter.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetWriter.java index b70040f2a0..2367258dd4 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetWriter.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetWriter.java @@ -60,7 +60,7 @@ public class RuleSetWriter { documentBuilderFactory.setNamespaceAware(true); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); document = documentBuilder.newDocument(); - ruleSetFileNames = new HashSet(); + ruleSetFileNames = new HashSet<>(); Element ruleSetElement = createRuleSetElement(ruleSet); document.appendChild(ruleSetElement); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSets.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSets.java index dbfbf0988a..d3bbed1f1c 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSets.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSets.java @@ -23,7 +23,7 @@ public class RuleSets { /** * Map of RuleLanguage on RuleSet. */ - private Collection ruleSets = new ArrayList(); + private Collection ruleSets = new ArrayList<>(); /** * RuleChain for efficient AST visitation. @@ -77,7 +77,7 @@ public class RuleSets { * @return Set */ public Set getAllRules() { - Set result = new HashSet(); + Set result = new HashSet<>(); for (RuleSet r : ruleSets) { result.addAll(r.getRules()); } 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 944632ec75..a4c30e2f0d 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java @@ -132,7 +132,7 @@ public class SourceCodeProcessor { private void processSource(Reader sourceCode, RuleSets ruleSets, RuleContext ctx) { LanguageVersion languageVersion = ctx.getLanguageVersion(); - LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler(); + LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler(); Parser parser = PMD.parserFor(languageVersion, configuration); Node rootNode = parse(ctx, sourceCode, parser); @@ -141,9 +141,9 @@ public class SourceCodeProcessor { usesDFA(languageVersion, rootNode, ruleSets, language); usesTypeResolution(languageVersion, rootNode, ruleSets,language); - List acus = new ArrayList(); + List acus = new ArrayList<>(); acus.add(rootNode); - ruleSets.apply(acus, ctx, language); + ruleSets.apply(acus, ctx, language); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/ant/Formatter.java b/pmd-core/src/main/java/net/sourceforge/pmd/ant/Formatter.java index 591653a492..58a83247e3 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/ant/Formatter.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/ant/Formatter.java @@ -27,7 +27,7 @@ public class Formatter { private String type; private boolean toConsole; private boolean showSuppressed; - private final List parameters = new ArrayList(); + private final List parameters = new ArrayList<>(); public void setShowSuppressed(boolean value) { this.showSuppressed = value; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/ant/PMDTask.java b/pmd-core/src/main/java/net/sourceforge/pmd/ant/PMDTask.java index 4b1f915434..a6e3a6fee0 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/ant/PMDTask.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/ant/PMDTask.java @@ -20,8 +20,8 @@ public class PMDTask extends Task { private Path classpath; private Path auxClasspath; - private final List formatters = new ArrayList(); - private final List filesets = new ArrayList(); + private final List formatters = new ArrayList<>(); + private final List filesets = new ArrayList<>(); private boolean failOnError; private boolean failOnRuleViolation; private boolean shortFilenames; @@ -33,7 +33,7 @@ public class PMDTask extends Task { private int maxRuleViolations = 0; private String failuresPropertyName; private SourceLanguage sourceLanguage; - private final Collection nestedRules = new ArrayList(); + private final Collection nestedRules = new ArrayList<>(); @Override public void execute() throws BuildException { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/ant/internal/PMDTaskImpl.java b/pmd-core/src/main/java/net/sourceforge/pmd/ant/internal/PMDTaskImpl.java index 59b49219f3..e5da095e99 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/ant/internal/PMDTaskImpl.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/ant/internal/PMDTaskImpl.java @@ -49,8 +49,8 @@ public class PMDTaskImpl { private Path classpath; private Path auxClasspath; - private final List formatters = new ArrayList(); - private final List filesets = new ArrayList(); + private final List formatters = new ArrayList<>(); + private final List filesets = new ArrayList<>(); private final PMDConfiguration configuration = new PMDConfiguration(); private boolean failOnError; private boolean failOnRuleViolation; @@ -138,7 +138,7 @@ public class PMDTaskImpl { final String separator = System.getProperty("file.separator"); for (FileSet fs : filesets) { - List files = new LinkedList(); + List files = new LinkedList<>(); DirectoryScanner ds = fs.getDirectoryScanner(project); String[] srcFiles = ds.getIncludedFiles(); for (String srcFile : srcFiles) { @@ -173,7 +173,7 @@ public class PMDTaskImpl { return null; } // not relevant }; - List renderers = new LinkedList(); + List renderers = new LinkedList<>(); renderers.add(logRenderer); for (Formatter formatter : formatters) { renderers.add(formatter.getRenderer()); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/Benchmarker.java b/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/Benchmarker.java index 34f4b79d86..5279112e22 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/Benchmarker.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/Benchmarker.java @@ -103,7 +103,7 @@ public class Benchmarker { if (debug) { System.out.println("Checking directory " + srcDir); } - Set results = new TreeSet(); + Set results = new TreeSet<>(); RuleSetFactory factory = new RuleSetFactory(); if (StringUtil.isNotEmpty(ruleset)) { stress(languageVersion, factory.createRuleSet(ruleset), dataSources, results, debug); @@ -185,7 +185,7 @@ public class Benchmarker { } } - private static final Map BENCHMARKS_BY_NAME = new HashMap(); + private static final Map BENCHMARKS_BY_NAME = new HashMap<>(); /** * @param type Benchmark diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/TextReport.java b/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/TextReport.java index bab6a8e33d..7dd2b466b3 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/TextReport.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/benchmark/TextReport.java @@ -65,7 +65,7 @@ public class TextReport implements BenchmarkReport { */ public void generate(Map benchmarksByName, PrintStream out) { - List results = new ArrayList(benchmarksByName.values()); + List results = new ArrayList<>(benchmarksByName.values()); long[] totalTime = new long[Benchmark.TotalPMD.index + 1]; long[] totalCount = new long[Benchmark.TotalPMD.index + 1]; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java index 44a693bd39..f31fc48bb1 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java @@ -64,7 +64,7 @@ public class PMDParameters { @Parameter(names = { "-property", "-P" }, description = "{name}={value}: Define a property for the report format.", converter = PropertyConverter.class) - private List properties = new ArrayList(); + private List properties = new ArrayList<>(); @Parameter(names = { "-reportfile", "-r" }, description = "Sends report output to a file; default to System.out.") private String reportfile = null; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java index 033d4ba9c2..a3b17dd6f0 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java @@ -29,7 +29,7 @@ public class CPD { private CPDConfiguration configuration; - private Map source = new TreeMap(); + private Map source = new TreeMap<>(); private CPDListener listener = new CPDNullListener(); private Tokens tokens = new Tokens(); private MatchAlgorithm matchAlgorithm; @@ -76,7 +76,7 @@ public class CPD { add(finder.findFilesFrom(dir, configuration.filenameFilter(), recurse)); } - private Set current = new HashSet(); + private Set current = new HashSet<>(); public void add(File file) throws IOException { @@ -163,7 +163,7 @@ public class CPD { * @return names of sources to be processed */ public List getSourcePaths() { - return new ArrayList(source.keySet()); + return new ArrayList<>(source.keySet()); } /** @@ -172,7 +172,7 @@ public class CPD { * @return all Sources to be processed */ public List getSources() { - return new ArrayList(source.values()); + return new ArrayList<>(source.values()); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java index c65694245f..93abf4c949 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java @@ -157,7 +157,7 @@ public class CPDConfiguration extends AbstractConfiguration { return getRendererFromString(name, System.getProperty("file.encoding")); } - private static final Map> RENDERERS = new HashMap>(); + private static final Map> RENDERERS = new HashMap<>(); static { RENDERERS.put(DEFAULT_RENDERER, SimpleRenderer.class); RENDERERS.put("xml", XMLRenderer.class); @@ -289,7 +289,7 @@ public class CPDConfiguration extends AbstractConfiguration { } final FilenameFilter languageFilter = language.getFileFilter(); - final Set exclusions = new HashSet(); + final Set exclusions = new HashSet<>(); if (excludes != null) { FileFinder finder = new FileFinder(); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDTask.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDTask.java index 69be0f7997..d49984cb12 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDTask.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDTask.java @@ -54,7 +54,7 @@ public class CPDTask extends Task { private String skipBlocksPattern = Tokenizer.DEFAULT_SKIP_BLOCKS_PATTERN; private File outputFile; private String encoding = System.getProperty("file.encoding"); - private List filesets = new ArrayList(); + private List filesets = new ArrayList<>(); public void execute() throws BuildException { ClassLoader oldClassloader = Thread.currentThread().getContextClassLoader(); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java index dd1b6f3831..493e3f2415 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java @@ -142,7 +142,7 @@ public class GUI implements CPDListener { } private static final int DEFAULT_CPD_MINIMUM_LENGTH = 75; - private static final Map LANGUAGE_CONFIGS_BY_LABEL = new HashMap(LANGUAGE_SETS.length); + private static final Map LANGUAGE_CONFIGS_BY_LABEL = new HashMap<>(LANGUAGE_SETS.length); private static final KeyStroke COPY_KEY_STROKE = KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK,false); private static final KeyStroke DELETE_KEY_STROKE = KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0); @@ -158,10 +158,10 @@ public class GUI implements CPDListener { width = aWidth; sorter = aSorter; } - public String label() { return label; }; - public int alignment() { return alignment; }; - public int width() { return width; }; - public Comparator sorter() { return sorter; }; + public String label() { return label; } + public int alignment() { return alignment; } + public int width() { return width; } + public Comparator sorter() { return sorter; } } private final ColumnSpec[] matchColumns = new ColumnSpec[] { @@ -255,12 +255,12 @@ public class GUI implements CPDListener { } private class AlignmentRenderer extends DefaultTableCellRenderer { - - private int[] alignments; + private static final long serialVersionUID = -2190382865483285032L; + private int[] alignments; public AlignmentRenderer(int[] theAlignments) { alignments = theAlignments; - }; + } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); @@ -283,7 +283,7 @@ public class GUI implements CPDListener { private JCheckBox ignoreLiteralsCheckbox = new JCheckBox("", false); private JCheckBox ignoreAnnotationsCheckbox = new JCheckBox("", false); private JCheckBox ignoreUsingsCheckbox = new JCheckBox("", false); - private JComboBox languageBox = new JComboBox(); + private JComboBox languageBox = new JComboBox<>(); private JTextField extensionField = new JTextField(); private JLabel extensionLabel = new JLabel("Extension:", SwingConstants.RIGHT); private JTable resultsTable = new JTable(); @@ -293,7 +293,7 @@ public class GUI implements CPDListener { private JFrame frame; private boolean trimLeadingWhitespace; - private List matches = new ArrayList(); + private List matches = new ArrayList<>(); private void addSaveOptionsTo(JMenu menu) { @@ -387,7 +387,7 @@ public class GUI implements CPDListener { helper.add(minimumLengthField); helper.addLabel("Language:"); for (int i=0; i selections = new ArrayList(selectionIndices.length); + List selections = new ArrayList<>(selectionIndices.length); for (int i=0; i sourceIDs = new HashSet(match.getMarkCount()); + Set sourceIDs = new HashSet<>(match.getMarkCount()); for (Iterator occurrences = match.iterator(); occurrences.hasNext();) { sourceIDs.add(occurrences.next().getFilename()); } @@ -631,14 +631,14 @@ public class GUI implements CPDListener { cpd.go(); t.stop(); - matches = new ArrayList(); + matches = new ArrayList<>(); for (Iterator i = cpd.getMatches(); i.hasNext();) { Match match = i.next(); setLabelFor(match); matches.add(match); } - setListDataFrom(cpd.getMatches()); + setListDataFrom(matches); String report = new SimpleRenderer().render(cpd.getMatches()); if (report.length() == 0) { JOptionPane.showMessageDialog(frame, @@ -716,10 +716,10 @@ public class GUI implements CPDListener { public String getColumnName(int i) { return matchColumns[i].label(); } public void addTableModelListener(TableModelListener l) { } public void removeTableModelListener(TableModelListener l) { } - public int sortColumn() { return sortColumn; }; - public void sortColumn(int column) { sortColumn = column; }; - public boolean sortDescending() { return sortDescending; }; - public void sortDescending(boolean flag) { sortDescending = flag; }; + public int sortColumn() { return sortColumn; } + public void sortColumn(int column) { sortColumn = column; } + public boolean sortDescending() { return sortDescending; } + public void sortDescending(boolean flag) { sortDescending = flag; } public void sort(Comparator comparator) { Collections.sort(items, comparator); if (sortDescending) { @@ -744,7 +744,7 @@ public class GUI implements CPDListener { resultsTable.repaint(); } - private void setListDataFrom(Iterator iter) { + private void setListDataFrom(List matches) { resultsTable.setModel(tableModelFrom(matches)); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/LanguageFactory.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/LanguageFactory.java index 08f72667b9..73bbef9ff9 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/LanguageFactory.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/LanguageFactory.java @@ -20,7 +20,7 @@ public final class LanguageFactory { supportedLanguages = instance.languages.keySet().toArray(new String[instance.languages.size()]); } - private Map languages = new HashMap(); + private Map languages = new HashMap<>(); private LanguageFactory() { ServiceLoader languageLoader = ServiceLoader.load(Language.class); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Match.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Match.java index 01103a7ef9..ae41e865a3 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Match.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Match.java @@ -13,7 +13,7 @@ import java.util.TreeSet; public class Match implements Comparable { private int tokenCount; - private Set markSet = new TreeSet(); + private Set markSet = new TreeSet<>(); private String label; public static final Comparator MATCHES_COMPARATOR = new Comparator() { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchAlgorithm.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchAlgorithm.java index d6b93fe0b9..c0ddf44b67 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchAlgorithm.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchAlgorithm.java @@ -90,7 +90,7 @@ public class MatchAlgorithm { @SuppressWarnings("PMD.JumbledIncrementer") private Map hash() { - Map markGroups = new HashMap(tokens.size()); + Map markGroups = new HashMap<>(tokens.size()); for (int i = code.size() - 1; i >= 0; i--) { TokenEntry token = code.get(i); if (token != TokenEntry.EOF) { @@ -104,7 +104,7 @@ public class MatchAlgorithm { if (o == null) { markGroups.put(token, token); } else if (o instanceof TokenEntry) { - List l = new ArrayList(); + List l = new ArrayList<>(); l.add((TokenEntry) o); l.add(token); markGroups.put(token, l); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchCollector.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchCollector.java index b5b5360153..4e3dcb68bb 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchCollector.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/MatchCollector.java @@ -10,8 +10,8 @@ import java.util.Map; import java.util.TreeMap; public class MatchCollector { - private List matchList = new ArrayList(); - private Map> matchTree = new TreeMap>(); + private List matchList = new ArrayList<>(); + private Map> matchTree = new TreeMap<>(); private MatchAlgorithm ma; public MatchCollector(MatchAlgorithm ma) { @@ -49,7 +49,7 @@ public class MatchCollector { private void reportMatch(TokenEntry mark1, TokenEntry mark2, int dupes) { Map matches = matchTree.get(dupes); if (matches == null) { - matches = new TreeMap(); + matches = new TreeMap<>(); matchTree.put(dupes, matches); addNewMatch(mark1, mark2, dupes, matches); } else { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/ReportException.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/ReportException.java index 680da398bf..722e958976 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/ReportException.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/ReportException.java @@ -7,8 +7,9 @@ package net.sourceforge.pmd.cpd; * @author Philippe T'Seyen */ public class ReportException extends Exception { + private static final long serialVersionUID = 6043174086675858209L; public ReportException(Throwable cause) { - super(); + super(cause); } } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/SourceCode.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/SourceCode.java index 19e4fb2eb6..3cee545019 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/SourceCode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/SourceCode.java @@ -30,7 +30,7 @@ public class SourceCode { if (c != null) { return c; } - this.code = new SoftReference>(load()); + this.code = new SoftReference<>(load()); return code.get(); } @@ -42,7 +42,7 @@ public class SourceCode { LineNumberReader lnr = null; try { lnr = new LineNumberReader(getReader()); - List lines = new ArrayList(); + List lines = new ArrayList<>(); String currentLine; while ((currentLine = lnr.readLine()) != null) { lines.add(currentLine); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/TokenEntry.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/TokenEntry.java index c4a08024a5..89e0f5ca4a 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/TokenEntry.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/TokenEntry.java @@ -22,7 +22,7 @@ public class TokenEntry implements Comparable { private static final ThreadLocal> TOKENS = new ThreadLocal>(){ @Override protected Map initialValue() { - return new HashMap(); + return new HashMap<>(); } }; private static final ThreadLocal TOKEN_COUNT = new ThreadLocal(){ @@ -69,8 +69,8 @@ public class TokenEntry implements Comparable { private List entries; public State(List entries) { this.tokenCount = TokenEntry.TOKEN_COUNT.get().intValue(); - this.tokens = new HashMap(TokenEntry.TOKENS.get()); - this.entries = new ArrayList(entries); + this.tokens = new HashMap<>(TokenEntry.TOKENS.get()); + this.entries = new ArrayList<>(entries); } public List restore() { TokenEntry.TOKEN_COUNT.get().set(tokenCount); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Tokens.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Tokens.java index 1bf8f911dc..b5f2426d36 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Tokens.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/Tokens.java @@ -9,7 +9,7 @@ import java.util.List; public class Tokens { - private List tokens = new ArrayList(); + private List tokens = new ArrayList<>(); public void add(TokenEntry tokenEntry) { this.tokens.add(tokenEntry); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/DCD.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/DCD.java index af1963d76a..08adc1fdc0 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/DCD.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/DCD.java @@ -90,7 +90,7 @@ public class DCD { public static void main(String[] args) throws Exception { // 1) Directories - List directories = new ArrayList(); + List directories = new ArrayList<>(); directories.add(new File("C:/pmd/workspace/pmd-trunk/src")); // Basic filter @@ -106,13 +106,13 @@ public class DCD { }; // 2) Filename filters - List filters = new ArrayList(); + List filters = new ArrayList<>(); filters.add(javaFilter); assert directories.size() == filters.size(); // Find all files, convert to class names - List classes = new ArrayList(); + List classes = new ArrayList<>(); for (int i = 0; i < directories.size(); i++) { File directory = directories.get(i); FilenameFilter filter = filters.get(i); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/asm/TypeSignatureVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/asm/TypeSignatureVisitor.java index 3fd67d7cea..5beaf32643 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/asm/TypeSignatureVisitor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/asm/TypeSignatureVisitor.java @@ -38,7 +38,7 @@ public class TypeSignatureVisitor extends SignatureVisitor { private Class returnType; // Completed Parameter Types are stored here - private List> parameterTypes = new ArrayList>(0); + private List> parameterTypes = new ArrayList<>(0); private final PrintVisitor p; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/ClassNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/ClassNode.java index 3c65afec06..0bbd6990f2 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/ClassNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/ClassNode.java @@ -52,7 +52,7 @@ public class ClassNode implements NodeVisitorAcceptor, Comparable { public FieldNode defineField(String name, String desc) { if (fieldNodes == null) { - fieldNodes = new ArrayList(1); + fieldNodes = new ArrayList<>(1); } for (FieldNode fieldNode : fieldNodes) { if (fieldNode.equals(name, desc)) { @@ -66,7 +66,7 @@ public class ClassNode implements NodeVisitorAcceptor, Comparable { public ConstructorNode defineConstructor(String name, String desc) { if (constructorNodes == null) { - constructorNodes = new ArrayList(1); + constructorNodes = new ArrayList<>(1); } for (ConstructorNode constructorNode : constructorNodes) { if (constructorNode.equals(name, desc)) { @@ -81,7 +81,7 @@ public class ClassNode implements NodeVisitorAcceptor, Comparable { public MethodNode defineMethod(String name, String desc) { if (methodNodes == null) { - methodNodes = new ArrayList(1); + methodNodes = new ArrayList<>(1); } for (MethodNode methodNode : methodNodes) { if (methodNode.equals(name, desc)) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/FieldNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/FieldNode.java index ce5260e83c..e863e1cd17 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/FieldNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/FieldNode.java @@ -25,7 +25,7 @@ public class FieldNode extends MemberNode { Field field = fieldReference == null ? null : fieldReference.get(); if (field == null) { field = ClassLoaderUtil.getField(getClassNode().getType(), name); - this.fieldReference = new WeakReference(field); + this.fieldReference = new WeakReference<>(field); } return field; } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MemberNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MemberNode.java index 02c10d868f..f9c811511e 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MemberNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MemberNode.java @@ -53,7 +53,7 @@ public abstract class MemberNode, T extends Member> i public void addUse(MemberNode use) { if (uses == null) { - uses = new ArrayList(1); + uses = new ArrayList<>(1); } if (!uses.contains(use)) { uses.add(use); @@ -66,7 +66,7 @@ public abstract class MemberNode, T extends Member> i public void addUser(MemberNode user) { if (users == null) { - users = new ArrayList(1); + users = new ArrayList<>(1); } if (!users.contains(user)) { users.add(user); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MethodNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MethodNode.java index 745559f87d..2d1015e159 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MethodNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/MethodNode.java @@ -31,7 +31,7 @@ public class MethodNode extends MemberNode { TypeSignatureVisitor visitor = new TypeSignatureVisitor(); signatureReader.accept(visitor); method = ClassLoaderUtil.getMethod(super.getClassNode().getType(), name, visitor.getMethodParameterTypes()); - methodReference = new WeakReference(method); + methodReference = new WeakReference<>(method); } return method; } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraph.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraph.java index bf48369a24..cbd73b35c6 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraph.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraph.java @@ -46,7 +46,7 @@ import net.sourceforge.pmd.util.filter.Filter; */ public class UsageGraph implements NodeVisitorAcceptor { - private final List classNodes = new ArrayList(); + private final List classNodes = new ArrayList<>(); protected final Filter classFilter; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraphBuilder.java b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraphBuilder.java index 45080e0c9c..69ba568c3a 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraphBuilder.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/dcd/graph/UsageGraphBuilder.java @@ -386,7 +386,8 @@ public class UsageGraphBuilder { return null; } - public void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels) { + public void visitTableSwitchInsn(int min, int max, Label dflt, + Label... labels) { if (TRACE) { println("visitTableSwitchInsn:"); printlnIndent("min: " + min); @@ -434,7 +435,7 @@ public class UsageGraphBuilder { private static List asList(int[] array) { List list = null; if (array != null) { - list = new ArrayList(array.length); + list = new ArrayList<>(array.length); for (int i : array) { list.add(i); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/BaseLanguageModule.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/BaseLanguageModule.java index 689e81686f..cf48b37bc7 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/BaseLanguageModule.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/BaseLanguageModule.java @@ -28,7 +28,7 @@ public abstract class BaseLanguageModule implements Language { protected void addVersion(String version, LanguageVersionHandler languageVersionHandler, boolean isDefault) { if(versions == null) { - versions = new HashMap(); + versions = new HashMap<>(); } LanguageVersion languageVersion = new LanguageVersion(this, version, languageVersionHandler); versions.put(version, languageVersion); @@ -69,7 +69,7 @@ public abstract class BaseLanguageModule implements Language { @Override public List getVersions() { - return new ArrayList(versions.values()); + return new ArrayList<>(versions.values()); } @Override diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageRegistry.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageRegistry.java index 927b069086..f365262d0e 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageRegistry.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageRegistry.java @@ -20,7 +20,7 @@ public final class LanguageRegistry { private Map languages; private LanguageRegistry() { - languages = new HashMap(); + languages = new HashMap<>(); ServiceLoader languageLoader = ServiceLoader.load(Language.class); for (Language language : languageLoader) { languages.put(language.getName(), language); @@ -52,11 +52,15 @@ public final class LanguageRegistry { return null; } - public static LanguageVersion findLanguageVersionByTerseName(String terseName) { - String version = null; - if (terseName.contains(" ")) { - version = terseName.substring(terseName.lastIndexOf(' ') + 1); - terseName = terseName.substring(0, terseName.lastIndexOf(' ')); + public static LanguageVersion findLanguageVersionByTerseName(String terseNameAndVersion) { + String version; + String terseName; + if (terseNameAndVersion.contains(" ")) { + version = terseNameAndVersion.substring(terseNameAndVersion.lastIndexOf(' ') + 1); + terseName = terseNameAndVersion.substring(0, terseNameAndVersion.lastIndexOf(' ')); + } else { + version = null; + terseName = terseNameAndVersion; } Language language = findLanguageByTerseName(terseName); if (language != null) { @@ -70,7 +74,7 @@ public final class LanguageRegistry { } public static List findByExtension(String extension) { - List languages = new ArrayList(); + List languages = new ArrayList<>(); for (Language language : getInstance().languages.values()) { if (language.hasExtension(extension)) { languages.add(language); @@ -80,7 +84,7 @@ public final class LanguageRegistry { } public static List findAllVersions() { - List versions = new ArrayList(); + List versions = new ArrayList<>(); for (Language language : getLanguages()) { for (LanguageVersion languageVersion : language.getVersions()) { versions.add(languageVersion); @@ -95,7 +99,7 @@ public final class LanguageRegistry { * @return A List of Languages with Rule support. */ public static List findWithRuleSupport() { - List languages = new ArrayList(); + List languages = new ArrayList<>(); for (Language language : getInstance().languages.values()) { if (language.getRuleChainVisitorClass() != null) { languages.add(language); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersion.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersion.java index b13ab74833..92973a62dc 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersion.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersion.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd.lang; /** diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionDiscoverer.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionDiscoverer.java index a1394aa11f..df08941f14 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionDiscoverer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/LanguageVersionDiscoverer.java @@ -14,7 +14,7 @@ import java.util.Map; * here. */ public class LanguageVersionDiscoverer { - private Map languageToLanguageVersion = new HashMap(); + private Map languageToLanguageVersion = new HashMap<>(); /** * Set the given LanguageVersion as the current default for it's Language. diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java index 6f6e0e4140..e1c64f6c41 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java @@ -214,7 +214,7 @@ public abstract class AbstractNode implements Node { * @return List of parentType instances found. */ public List getParentsOfType(Class parentType) { - List parents = new ArrayList(); + List parents = new ArrayList<>(); Node parentNode = jjtGetParent(); while (parentNode != null) { if (parentNode.getClass() == parentType) { @@ -229,7 +229,7 @@ public abstract class AbstractNode implements Node { * {@inheritDoc} */ public List findDescendantsOfType(Class targetType) { - List list = new ArrayList(); + List list = new ArrayList<>(); findDescendantsOfType(this, targetType, list, true); return list; } @@ -263,7 +263,7 @@ public abstract class AbstractNode implements Node { * {@inheritDoc} */ public List findChildrenOfType(Class targetType) { - List list = new ArrayList(); + List list = new ArrayList<>(); int n = jjtGetNumChildren(); for (int i = 0; i < n; i++) { Node child = jjtGetChild(i); @@ -370,7 +370,8 @@ public abstract class AbstractNode implements Node { /** * {@inheritDoc} */ - public List findChildNodesWithXPath(String xpathString) throws JaxenException { + @SuppressWarnings("unchecked") + public List findChildNodesWithXPath(String xpathString) throws JaxenException { return new BaseXPath(xpathString, new DocumentNavigator()).selectNodes(this); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractTokenManager.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractTokenManager.java index f84820555c..3da88c58c9 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractTokenManager.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractTokenManager.java @@ -12,9 +12,9 @@ public abstract class AbstractTokenManager { // Because the TokenMgrError class does not have access to the TokenManager instance, we // cannot store the file name as an instance field, but must use a static. - private static ThreadLocal fileName = new ThreadLocal(); + private static ThreadLocal fileName = new ThreadLocal<>(); - protected Map suppressMap = new HashMap(); + protected Map suppressMap = new HashMap<>(); protected String suppressMarker = PMD.SUPPRESS_MARKER; public static void setFileName(String fileName) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIterator.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIterator.java index b856ac3afe..beb15161f9 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIterator.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIterator.java @@ -56,7 +56,7 @@ public class AttributeAxisIterator implements Iterator { this.node = contextNode; if (!methodCache.containsKey(contextNode.getClass())) { Method[] preFilter = contextNode.getClass().getMethods(); - List postFilter = new ArrayList(); + List postFilter = new ArrayList<>(); for (Method element : preFilter) { if (isAttributeAccessor(element)) { postFilter.add(new MethodWrapper(element)); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/DocumentNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/DocumentNode.java index c64f7ef013..c837033886 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/DocumentNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/DocumentNode.java @@ -29,7 +29,7 @@ public class DocumentNode extends AbstractNodeInfo implements DocumentInfo { /** * Mapping from AST Node to corresponding ElementNode. */ - public final Map nodeToElementNode = new HashMap(); + public final Map nodeToElementNode = new HashMap<>(); /** * Construct a DocumentNode, with the given AST Node serving as the root diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/AbstractDataFlowNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/AbstractDataFlowNode.java index dd37c23529..3698126551 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/AbstractDataFlowNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/AbstractDataFlowNode.java @@ -19,10 +19,10 @@ public abstract class AbstractDataFlowNode implements DataFlowNode { protected Node node; - protected List parents = new ArrayList(); - protected List children = new ArrayList(); + protected List parents = new ArrayList<>(); + protected List children = new ArrayList<>(); protected BitSet type = new BitSet(); - protected List variableAccess = new ArrayList(); + protected List variableAccess = new ArrayList<>(); protected List dataFlow; protected int line; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/LinkerException.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/LinkerException.java index ffe4231bcd..28f27daf15 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/LinkerException.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/LinkerException.java @@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.dfa; * @author raik */ public class LinkerException extends Exception { + private static final long serialVersionUID = 3238380880636634352L; public LinkerException() { super("An error occured by computing the data flow paths"); //TODO redefinition | accurate? diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/NodeType.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/NodeType.java index a142dd54d8..fda44f3996 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/NodeType.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/NodeType.java @@ -45,7 +45,7 @@ public class NodeType { public static final int THROW_STATEMENT = 70; // Poor Man's Enum until we convert the class to real enum - private static final Map TYPE_MAP = new HashMap(); + private static final Map TYPE_MAP = new HashMap<>(); static { TYPE_MAP.put(NodeType.IF_EXPR, "IF_EXPR"); TYPE_MAP.put(NodeType.IF_LAST_STATEMENT, "IF_LAST_STATEMENT"); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceChecker.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceChecker.java index b9a5289024..fcfa0b6c0a 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceChecker.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceChecker.java @@ -28,7 +28,7 @@ public class SequenceChecker { public static final int ROOT = -1; - private List nextSteps = new ArrayList(); + private List nextSteps = new ArrayList<>(); // NodeType private int type; private boolean lastStep; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceException.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceException.java index 3e7570b792..f72732097e 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceException.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/SequenceException.java @@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.dfa; * @author raik */ public class SequenceException extends Exception { + private static final long serialVersionUID = -3271242247181888687L; public SequenceException() { super("Sequence error."); //TODO redefinition diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/Structure.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/Structure.java index d266937415..b8730a8bef 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/Structure.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/Structure.java @@ -22,9 +22,9 @@ public class Structure { private final static Logger LOGGER = Logger.getLogger(Structure.class.getName()); private final DataFlowHandler dataFlowHandler; - private List dataFlow = new ArrayList(); - private Stack braceStack = new Stack(); - private Stack continueBreakReturnStack = new Stack(); + private List dataFlow = new ArrayList<>(); + private Stack braceStack = new Stack<>(); + private Stack continueBreakReturnStack = new Stack<>(); public Structure(DataFlowHandler dataFlowHandler) { this.dataFlowHandler = dataFlowHandler; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/VariableAccessException.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/VariableAccessException.java index b00c53d0a9..b380e0f63d 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/VariableAccessException.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/VariableAccessException.java @@ -8,6 +8,7 @@ package net.sourceforge.pmd.lang.dfa; * @author raik */ public class VariableAccessException extends Exception { + private static final long serialVersionUID = 7385246683069003412L; public VariableAccessException() { super("VariableAccess error."); //TODO redefinition diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/pathfinder/CurrentPath.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/pathfinder/CurrentPath.java index ae3d4d76a9..5156941eea 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/pathfinder/CurrentPath.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/pathfinder/CurrentPath.java @@ -15,7 +15,7 @@ public class CurrentPath { private final List list; public CurrentPath() { - list = new ArrayList(); + list = new ArrayList<>(); } public int getLength() { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/report/AbstractReportNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/report/AbstractReportNode.java index fe4f045f75..8af148809e 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/report/AbstractReportNode.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/dfa/report/AbstractReportNode.java @@ -7,7 +7,7 @@ import java.util.ArrayList; import java.util.List; public abstract class AbstractReportNode { - private List childNodes = new ArrayList(); + private List childNodes = new ArrayList<>(); private AbstractReportNode parentNode = null; /* diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java index 15d128abfb..707277476b 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java @@ -34,12 +34,12 @@ public abstract class AbstractRule extends AbstractPropertySource implements Rul private String ruleSetName; private String message; private String description; - private List examples = new ArrayList(); + private List examples = new ArrayList<>(); private String externalInfoUrl; private RulePriority priority = RulePriority.LOW; private boolean usesDFA; private boolean usesTypeResolution; - private List ruleChainVisits = new ArrayList(); + private List ruleChainVisits = new ArrayList<>(); public AbstractRule() { definePropertyDescriptor(Rule.VIOLATION_SUPPRESS_REGEX_DESCRIPTOR); @@ -68,13 +68,13 @@ public abstract class AbstractRule extends AbstractPropertySource implements Rul } private List copyExamples() { - List copy = new ArrayList(examples.size()); + List copy = new ArrayList<>(examples.size()); copy.addAll(examples); return copy; } private List copyRuleChainVisits() { - List copy = new ArrayList(ruleChainVisits.size()); + List copy = new ArrayList<>(ruleChainVisits.size()); copy.addAll(ruleChainVisits); return copy; } 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 e87e3a508b..84d0e6edb0 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,7 @@ public abstract class AbstractRuleChainVisitor implements RuleChainVisitor { /** * These are all the rules participating in the RuleChain, grouped by RuleSet. */ - protected Map> ruleSetRules = new LinkedHashMap>(); + protected Map> ruleSetRules = new LinkedHashMap<>(); /** * This is a mapping from node names to nodes instances for the current AST. @@ -127,7 +127,7 @@ public abstract class AbstractRuleChainVisitor implements RuleChainVisitor { } // Determine all node types that need visiting - Set visitedNodes = new HashSet(); + Set visitedNodes = new HashSet<>(); for (Iterator>> entryIterator = ruleSetRules.entrySet().iterator(); entryIterator.hasNext();) { Map.Entry> entry = entryIterator.next(); for (Iterator ruleIterator = entry.getValue().iterator(); ruleIterator.hasNext();) { @@ -149,9 +149,9 @@ public abstract class AbstractRuleChainVisitor implements RuleChainVisitor { // Setup the data structure to manage mapping node names to node // instances. We intend to reuse this data structure between // visits to different ASTs. - nodeNameToNodes = new HashMap>(); + nodeNameToNodes = new HashMap<>(); for (String s: visitedNodes) { - List nodes = new ArrayList(100); + List nodes = new ArrayList<>(100); nodeNameToNodes.put(s, nodes); } } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/ImportWrapper.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/ImportWrapper.java index 54116d5fb4..da14a37b85 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/ImportWrapper.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/ImportWrapper.java @@ -15,7 +15,7 @@ public class ImportWrapper { private String name; private String fullname; private boolean isStaticDemand; - private Set allDemands = new HashSet(); + private Set allDemands = new HashSet<>(); public ImportWrapper(String fullname, String name) { this(fullname, name, null); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java index 5b5a233eb1..1c40a66caa 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java @@ -41,7 +41,7 @@ public class RuleReference extends AbstractDelegateRule { private RulePriority priority; private RuleSetReference ruleSetReference; - private static final List> EMPTY_DESCRIPTORS = new ArrayList>(0); + private static final List> EMPTY_DESCRIPTORS = new ArrayList<>(0); public Language getOverriddenLanguage() { return language; @@ -180,7 +180,7 @@ public class RuleReference extends AbstractDelegateRule { // Only override if different than current values. if (!contains(super.getExamples(), example)) { if (examples == null) { - examples = new ArrayList(1); + examples = new ArrayList<>(1); } // TODO Fix later. To keep example overrides from being unbounded, // we're only going to keep track of the last one. @@ -230,7 +230,7 @@ public class RuleReference extends AbstractDelegateRule { // to check if the property is already overridden at this level. super.definePropertyDescriptor(propertyDescriptor); if (propertyDescriptors == null) { - propertyDescriptors = new ArrayList>(); + propertyDescriptors = new ArrayList<>(); } propertyDescriptors.add(propertyDescriptor); } @@ -244,7 +244,7 @@ public class RuleReference extends AbstractDelegateRule { // Only override if different than current value. if (!isSame(super.getProperty(propertyDescriptor), value)) { if (propertyValues == null) { - propertyValues = new HashMap, Object>(); + propertyValues = new HashMap<>(); } propertyValues.put(propertyDescriptor, value); super.setProperty(propertyDescriptor, value); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/XPathRule.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/XPathRule.java index 9c07a561ec..02c7fbcdc2 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/XPathRule.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/XPathRule.java @@ -27,7 +27,7 @@ import net.sourceforge.pmd.util.StringUtil; public class XPathRule extends AbstractRule { public static final StringProperty XPATH_DESCRIPTOR = new StringProperty("xpath", "XPath expression", "", 1.0f); - public static final EnumeratedProperty VERSION_DESCRIPTOR = new EnumeratedProperty("version", + public static final EnumeratedProperty VERSION_DESCRIPTOR = new EnumeratedProperty<>("version", "XPath specification version", new String[] { XPATH_1_0, XPATH_1_0_COMPATIBILITY, XPATH_2_0 }, new String[] { XPATH_1_0, XPATH_1_0_COMPATIBILITY, XPATH_2_0 }, diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractPackagedProperty.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractPackagedProperty.java index f73772e0a6..e1e222fc64 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractPackagedProperty.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractPackagedProperty.java @@ -101,7 +101,7 @@ public abstract class AbstractPackagedProperty extends AbstractProperty { } String[] names = new String[items.length]; - Set nameSet = new HashSet(items.length); + Set nameSet = new HashSet<>(items.length); String name = null; for (int i = 0; i < items.length; i++) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractProperty.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractProperty.java index 7f02e92c33..bea05117a1 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractProperty.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/AbstractProperty.java @@ -403,7 +403,7 @@ public abstract class AbstractProperty implements PropertyDescriptor { */ public Map attributeValuesById() { - Map values = new HashMap(); + Map values = new HashMap<>(); addAttributesTo(values); return values; } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/BasicPropertyDescriptorFactory.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/BasicPropertyDescriptorFactory.java index bf56c52224..7a8dc209f2 100755 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/BasicPropertyDescriptorFactory.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/BasicPropertyDescriptorFactory.java @@ -56,7 +56,7 @@ public class BasicPropertyDescriptorFactory implements PropertyDescriptorFact public BasicPropertyDescriptorFactory(Class theValueType, Map additionalFieldTypesByKey) { valueType = theValueType; - Map temp = new HashMap(CORE_FIELD_TYPES_BY_KEY.size() + Map temp = new HashMap<>(CORE_FIELD_TYPES_BY_KEY.size() + additionalFieldTypesByKey.size()); temp.putAll(CORE_FIELD_TYPES_BY_KEY); temp.putAll(additionalFieldTypesByKey); @@ -143,7 +143,7 @@ public class BasicPropertyDescriptorFactory implements PropertyDescriptorFact protected static Integer[] integersIn(String numberString, char delimiter) { String[] values = StringUtil.substringsOf(numberString, delimiter); - List ints = new ArrayList(values.length); + List ints = new ArrayList<>(values.length); for (String value : values) { try { Integer newInt = Integer.parseInt(value); @@ -157,7 +157,7 @@ public class BasicPropertyDescriptorFactory implements PropertyDescriptorFact protected static Long[] longsIn(String numberString, char delimiter) { String[] values = StringUtil.substringsOf(numberString, delimiter); - List longs = new ArrayList(values.length); + List longs = new ArrayList<>(values.length); for (String value : values) { try { Long newLong = Long.parseLong(value); @@ -171,7 +171,7 @@ public class BasicPropertyDescriptorFactory implements PropertyDescriptorFact protected static Float[] floatsIn(String numberString, char delimiter) { String[] values = StringUtil.substringsOf(numberString, delimiter); - List floats = new ArrayList(values.length); + List floats = new ArrayList<>(values.length); for (String value : values) { try { Float newFloat = Float.parseFloat(value); @@ -185,7 +185,7 @@ public class BasicPropertyDescriptorFactory implements PropertyDescriptorFact protected static Double[] doublesIn(String numberString, char delimiter) { String[] values = StringUtil.substringsOf(numberString, delimiter); - List doubles = new ArrayList(values.length); + List doubles = new ArrayList<>(values.length); for (String value : values) { try { Double newDouble = Double.parseDouble(value); @@ -246,7 +246,7 @@ public class BasicPropertyDescriptorFactory implements PropertyDescriptorFact } public static Map expectedFieldTypesWith(String[] otherKeys, Boolean[] otherValues) { - Map largerMap = new HashMap(otherKeys.length + CORE_FIELD_TYPES_BY_KEY.size()); + Map largerMap = new HashMap<>(otherKeys.length + CORE_FIELD_TYPES_BY_KEY.size()); largerMap.putAll(CORE_FIELD_TYPES_BY_KEY); for (int i = 0; i < otherKeys.length; i++) { largerMap.put(otherKeys[i], otherValues[i]); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/PropertyDescriptorUtil.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/PropertyDescriptorUtil.java index 9c54959c23..69d7f9f49c 100755 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/PropertyDescriptorUtil.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/properties/factories/PropertyDescriptorUtil.java @@ -46,7 +46,7 @@ public class PropertyDescriptorUtil { private static final Map DESCRIPTOR_FACTORIES_BY_TYPE; static { - Map temp = new HashMap(18); + Map temp = new HashMap<>(18); temp.put("Boolean", BooleanProperty.FACTORY); temp.put("Boolean[]", BooleanMultiProperty.FACTORY); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/stat/StatisticalRuleHelper.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/stat/StatisticalRuleHelper.java index 32512193fe..f755cb388f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/stat/StatisticalRuleHelper.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/stat/StatisticalRuleHelper.java @@ -29,7 +29,7 @@ public class StatisticalRuleHelper { private AbstractRule rule; - private SortedSet dataPoints = new TreeSet(); + private SortedSet dataPoints = new TreeSet<>(); private int count = 0; private double total = 0.0; @@ -110,7 +110,7 @@ public class StatisticalRuleHelper { } private SortedSet applyMinimumValue(SortedSet pointSet, double minValue) { - SortedSet rc = new TreeSet(); + SortedSet rc = new TreeSet<>(); double threshold = minValue - DELTA; for (DataPoint point: pointSet) { @@ -122,7 +122,7 @@ public class StatisticalRuleHelper { } private SortedSet applyTopScore(SortedSet points, int topScore) { - SortedSet s = new TreeSet(); + SortedSet s = new TreeSet<>(); DataPoint[] arr = points.toArray(new DataPoint[]{}); for (int i = arr.length - 1; i >= (arr.length - topScore); i--) { s.add(arr[i]); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/AbstractXPathRuleQuery.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/AbstractXPathRuleQuery.java index 853bd8da61..4dbfed1cbf 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/AbstractXPathRuleQuery.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/AbstractXPathRuleQuery.java @@ -34,7 +34,7 @@ public abstract class AbstractXPathRuleQuery implements XPathRuleQuery { /** * Subclasses can manage RuleChain visits via this list. */ - protected final List ruleChainVisits = new ArrayList(); + protected final List ruleChainVisits = new ArrayList<>(); /** * {@inheritDoc} diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQuery.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQuery.java index 8025fa94ca..f918d53222 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQuery.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQuery.java @@ -42,7 +42,7 @@ public class JaxenXPathRuleQuery extends AbstractXPathRuleQuery { private static enum InitializationStatus { NONE, PARTIAL, FULL - }; + } // Mapping from Node name to applicable XPath queries private InitializationStatus initializationStatus = InitializationStatus.NONE; @@ -64,7 +64,7 @@ public class JaxenXPathRuleQuery extends AbstractXPathRuleQuery { @Override @SuppressWarnings("unchecked") public List evaluate(Node node, RuleContext data) { - List results = new ArrayList(); + List results = new ArrayList<>(); try { initializeXPathExpression(data.getLanguageVersion().getLanguageVersionHandler().getXPathHandler() .getNavigator()); @@ -115,13 +115,13 @@ public class JaxenXPathRuleQuery extends AbstractXPathRuleQuery { // parsed XPath AST using the Jaxen APIs to make this determination. // If the query is not exactly what we are looking for, do not use the RuleChain. // - nodeNameToXPaths = new HashMap>(); + nodeNameToXPaths = new HashMap<>(); BaseXPath originalXPath = createXPath(xpath, navigator); indexXPath(originalXPath, AST_ROOT); boolean useRuleChain = true; - Stack pending = new Stack(); + Stack pending = new Stack<>(); pending.push(originalXPath.getRootExpr()); while (!pending.isEmpty()) { Expr node = pending.pop(); @@ -204,7 +204,7 @@ public class JaxenXPathRuleQuery extends AbstractXPathRuleQuery { private void indexXPath(XPath xpath, String nodeName) { List xpaths = nodeNameToXPaths.get(nodeName); if (xpaths == null) { - xpaths = new ArrayList(); + xpaths = new ArrayList<>(); nodeNameToXPaths.put(nodeName, xpaths); } xpaths.add(xpath); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/SaxonXPathRuleQuery.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/SaxonXPathRuleQuery.java index 90d787e270..6321a64924 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/SaxonXPathRuleQuery.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/xpath/SaxonXPathRuleQuery.java @@ -57,7 +57,7 @@ public class SaxonXPathRuleQuery extends AbstractXPathRuleQuery { public List evaluate(Node node, RuleContext data) { initializeXPathExpression(); - List results = new ArrayList(); + List results = new ArrayList<>(); try { // Get the DocumentNode for the AST DocumentNode documentNode = getDocumentNode(node); @@ -117,7 +117,7 @@ public class SaxonXPathRuleQuery extends AbstractXPathRuleQuery { return results; } - private static final Map CACHE = new HashMap(); + private static final Map CACHE = new HashMap<>(); private DocumentNode getDocumentNode(Node node) { // Get the root AST node @@ -162,7 +162,7 @@ public class SaxonXPathRuleQuery extends AbstractXPathRuleQuery { // Create XPathVariables for later use. It is a Saxon quirk that // XPathVariables must be defined on the static context, and // reused later to associate an actual value on the dynamic context. - xpathVariables = new ArrayList(); + xpathVariables = new ArrayList<>(); for (PropertyDescriptor propertyDescriptor : super.properties.keySet()) { String name = propertyDescriptor.name(); if (!"xpath".equals(name)) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/symboltable/AbstractScope.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/symboltable/AbstractScope.java index f0be0da597..66fe8bc357 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/symboltable/AbstractScope.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/symboltable/AbstractScope.java @@ -19,7 +19,7 @@ public abstract class AbstractScope implements Scope { private Scope parent; /** Stores the name declaration already sorted by class. */ private Map, Map>> nameDeclarations = - new LinkedHashMap, Map>>(); + new LinkedHashMap<>(); @Override public Scope getParent() { @@ -33,7 +33,7 @@ public abstract class AbstractScope implements Scope { @Override public Map> getDeclarations() { - Map> result = new LinkedHashMap>(); + Map> result = new LinkedHashMap<>(); for (Map> e : nameDeclarations.values()) { result.putAll(e); } @@ -45,7 +45,7 @@ public abstract class AbstractScope implements Scope { @SuppressWarnings("unchecked") Map> result = (Map>)nameDeclarations.get(clazz); if (result == null) { - result = new LinkedHashMap>(); + result = new LinkedHashMap<>(); } return result; } @@ -64,7 +64,7 @@ public abstract class AbstractScope implements Scope { public void addDeclaration(NameDeclaration declaration) { Map> declarationsPerClass = nameDeclarations.get(declaration.getClass()); if (declarationsPerClass == null) { - declarationsPerClass = new LinkedHashMap>(); + declarationsPerClass = new LinkedHashMap<>(); nameDeclarations.put(declaration.getClass(), declarationsPerClass); } declarationsPerClass.put(declaration, new ArrayList()); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/processor/MultiThreadProcessor.java b/pmd-core/src/main/java/net/sourceforge/pmd/processor/MultiThreadProcessor.java index f3c559197b..a2c4e2efb3 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/processor/MultiThreadProcessor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/processor/MultiThreadProcessor.java @@ -42,7 +42,7 @@ public class MultiThreadProcessor extends AbstractPMDProcessor { PmdThreadFactory factory = new PmdThreadFactory(ruleSetFactory, ctx); ExecutorService executor = Executors.newFixedThreadPool( configuration.getThreads(), factory); - List> tasks = new LinkedList>(); + List> tasks = new LinkedList<>(); for (DataSource dataSource : files) { String niceFileName = filenameFrom(dataSource); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractIncrementingRenderer.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractIncrementingRenderer.java index caf5900344..492c46a16c 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractIncrementingRenderer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractIncrementingRenderer.java @@ -28,12 +28,12 @@ public abstract class AbstractIncrementingRenderer extends AbstractRenderer { /** * Accumulated processing errors. */ - protected List errors = new LinkedList(); + protected List errors = new LinkedList<>(); /** * Accumulated suppressed violations. */ - protected List suppressed = new LinkedList(); + protected List suppressed = new LinkedList<>(); public AbstractIncrementingRenderer(String name, String description) { super(name, description); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java index bb72f7205c..f00e845620 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java @@ -23,7 +23,7 @@ public abstract class AbstractRenderer extends AbstractPropertySource implements @Deprecated // use PropertySource.getPropertyDescriptors() instead - protected Map propertyDefinitions = new LinkedHashMap(); + protected Map propertyDefinitions = new LinkedHashMap<>(); protected boolean showSuppressedViolations = true; protected Writer writer; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CSVRenderer.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CSVRenderer.java index eea547f9bb..d4617cdb30 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CSVRenderer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CSVRenderer.java @@ -31,20 +31,20 @@ public class CSVRenderer extends AbstractIncrementingRenderer { private static final String DEFAULT_SEPARATOR = ","; - private static final Map PROPERTY_DESCRIPTORS_BY_ID = new HashMap(); + private static final Map PROPERTY_DESCRIPTORS_BY_ID = new HashMap<>(); public static final String NAME = "csv"; @SuppressWarnings("unchecked") private static final ColumnDescriptor[] ALL_COLUMNS = new ColumnDescriptor[] { - new ColumnDescriptor("problem", "Problem", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return Integer.toString(idx); }} ), - new ColumnDescriptor("package", "Package", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getPackageName(); }} ), - new ColumnDescriptor("file", "File", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getFilename(); }} ), - new ColumnDescriptor("priority", "Priority", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return Integer.toString(rv.getRule().getPriority().getPriority()); }} ), - new ColumnDescriptor("line", "Line", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return Integer.toString(rv.getBeginLine()); }} ), - new ColumnDescriptor("desc", "Description", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return StringUtil.replaceString(rv.getDescription(), '\"', "'"); }} ), - new ColumnDescriptor("ruleSet", "Rule set", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getRule().getRuleSetName(); }} ), - new ColumnDescriptor("rule", "Rule", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getRule().getName(); }} ) + new ColumnDescriptor<>("problem", "Problem", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return Integer.toString(idx); }} ), + new ColumnDescriptor<>("package", "Package", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getPackageName(); }} ), + new ColumnDescriptor<>("file", "File", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getFilename(); }} ), + new ColumnDescriptor<>("priority", "Priority", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return Integer.toString(rv.getRule().getPriority().getPriority()); }} ), + new ColumnDescriptor<>("line", "Line", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return Integer.toString(rv.getBeginLine()); }} ), + new ColumnDescriptor<>("desc", "Description", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return StringUtil.replaceString(rv.getDescription(), '\"', "'"); }} ), + new ColumnDescriptor<>("ruleSet", "Rule set", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getRule().getRuleSetName(); }} ), + new ColumnDescriptor<>("rule", "Rule", new Accessor() { public String get(int idx, RuleViolation rv, String cr) { return rv.getRule().getName(); }} ) }; @@ -73,7 +73,7 @@ public class CSVRenderer extends AbstractIncrementingRenderer { private List> activeColumns() { - List> actives = new ArrayList>(); + List> actives = new ArrayList<>(); for (ColumnDescriptor desc : ALL_COLUMNS) { BooleanProperty prop = booleanPropertyFor(desc.id, null); @@ -91,7 +91,7 @@ public class CSVRenderer extends AbstractIncrementingRenderer { return csvWriter; } - csvWriter = new CSVWriter(activeColumns(), separator, cr); + csvWriter = new CSVWriter<>(activeColumns(), separator, cr); return csvWriter; } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/IDEAJRenderer.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/IDEAJRenderer.java index b249ed6b5e..543284aabf 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/IDEAJRenderer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/IDEAJRenderer.java @@ -98,7 +98,7 @@ public class IDEAJRenderer extends AbstractIncrementingRenderer { private static class SourcePath { - private Set paths = new HashSet(); + private Set paths = new HashSet<>(); public SourcePath(String sourcePathString) { for (StringTokenizer st = new StringTokenizer(sourcePathString, diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/RendererFactory.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/RendererFactory.java index 132c0051b9..b504f35480 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/RendererFactory.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/RendererFactory.java @@ -25,7 +25,7 @@ public class RendererFactory { public static final Map> REPORT_FORMAT_TO_RENDERER; static { - Map> map = new TreeMap>(); + Map> map = new TreeMap<>(); map.put(XMLRenderer.NAME, XMLRenderer.class); map.put(IDEAJRenderer.NAME, IDEAJRenderer.class); map.put(TextColorRenderer.NAME, TextColorRenderer.class); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/ClassUtil.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/ClassUtil.java index 76d97c7946..0667d69e87 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/ClassUtil.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/ClassUtil.java @@ -21,7 +21,7 @@ public final class ClassUtil { public static final Class[] EMPTY_CLASS_ARRAY = new Class[0]; private ClassUtil() { - }; + } @SuppressWarnings("PMD.AvoidUsingShortType") private static final TypeMap PRIMITIVE_TYPE_NAMES = new TypeMap(new Class[] { int.class, byte.class, long.class, @@ -51,7 +51,7 @@ public final class ClassUtil { */ private static Map, String> computeClassShortNames() { - Map, String> map = new HashMap, String>(); + Map, String> map = new HashMap<>(); map.putAll(PRIMITIVE_TYPE_NAMES.asInverseWithShortName()); map.putAll(TYPES_BY_NAME.asInverseWithShortName()); return map; @@ -140,7 +140,7 @@ public final class ClassUtil { */ public static Map> asMethodGroupsByTypeName(Method[] methods) { - Map> methodGroups = new HashMap>(methods.length); + Map> methodGroups = new HashMap<>(methods.length); for (int i=0; i urls = new ArrayList(); + final List urls = new ArrayList<>(); if (classpath.startsWith("file://")) { // Treat as file URL addFileURLs(urls, new URL(classpath)); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/CollectionUtil.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/CollectionUtil.java index 38082bd9e0..a8192b7c88 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/CollectionUtil.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/CollectionUtil.java @@ -33,7 +33,7 @@ public final class CollectionUtil { java.util.Hashtable.class}); private CollectionUtil() { - }; + } /** * Add elements from the source to the target as long as they don't already exist there. @@ -115,7 +115,7 @@ public final class CollectionUtil { */ public static Set asSet(T[] items) { - return new HashSet(Arrays.asList(items)); + return new HashSet<>(Arrays.asList(items)); } /** @@ -130,7 +130,7 @@ public final class CollectionUtil { if (keys.length != values.length) { throw new RuntimeException("mapFrom keys and values arrays have different sizes"); } - Map map = new HashMap(keys.length); + Map map = new HashMap<>(keys.length); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } @@ -144,7 +144,7 @@ public final class CollectionUtil { * @return Map */ public static Map invertedMapFrom(Map source) { - Map map = new HashMap(source.size()); + Map map = new HashMap<>(source.size()); for (Map.Entry entry : source.entrySet()) { map.put(entry.getValue(), entry.getKey()); } @@ -302,9 +302,9 @@ public final class CollectionUtil { */ public static T[] addWithoutDuplicates(T[] values, T[] newValues) { - Set originals = new HashSet(values.length); + Set originals = new HashSet<>(values.length); for (T value : values) { originals.add(value); } - List newOnes = new ArrayList(newValues.length); + List newOnes = new ArrayList<>(newValues.length); for (T value : newValues) { if (originals.contains(value)) { continue; } newOnes.add(value); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/FileFinder.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/FileFinder.java index aea99caa53..a8f8d382cf 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/FileFinder.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/FileFinder.java @@ -18,7 +18,7 @@ public class FileFinder { public List findFilesFrom(File dir, FilenameFilter filter, boolean recurse) { this.filter = filter; - List files = new ArrayList(); + List files = new ArrayList<>(); scanDirectory(dir, files, recurse); return files; } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/FileUtil.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/FileUtil.java index c5bfd3023a..6c83bd3503 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/FileUtil.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/FileUtil.java @@ -74,7 +74,7 @@ public final class FileUtil { * @return A list of DataSources, one for each file collected. */ public static List collectFiles(String fileLocations, FilenameFilter filenameFilter) { - List dataSources = new ArrayList(); + List dataSources = new ArrayList<>(); for (String fileLocation : fileLocations.split(",")) { collect(dataSources, fileLocation, filenameFilter); } @@ -108,7 +108,7 @@ public final class FileUtil { } else { // Match files, or directories which are not excluded. // FUTURE Make the excluded directories be some configurable option - Filter filter = new OrFilter(Filters.toFileFilter(filenameFilter), new AndFilter(Filters + Filter filter = new OrFilter<>(Filters.toFileFilter(filenameFilter), new AndFilter<>(Filters .getDirectoryFilter(), Filters.toNormalizedFileFilter(Filters.buildRegexFilterExcludeOverInclude( null, Collections.singletonList("SCCS"))))); FileFinder finder = new FileFinder(); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java index 78184c2f59..caf2e7c13f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java @@ -339,7 +339,7 @@ public final class StringUtil { return new String[] { str }; } - List list = new ArrayList(); + List list = new ArrayList<>(); int currPos = 0; int len = separator.length(); while (index != -1) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/TypeMap.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/TypeMap.java index 74ac231ea6..aa9690facc 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/TypeMap.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/TypeMap.java @@ -25,7 +25,7 @@ public class TypeMap { * @param initialSize int */ public TypeMap(int initialSize) { - typesByName = new HashMap>(initialSize); + typesByName = new HashMap<>(initialSize); } /** @@ -110,7 +110,7 @@ public class TypeMap { * @return Map */ public Map, String> asInverseWithShortName() { - Map, String> inverseMap = new HashMap, String>(typesByName.size() / 2); + Map, String> inverseMap = new HashMap<>(typesByName.size() / 2); Iterator>> iter = typesByName.entrySet().iterator(); while (iter.hasNext()) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBMSMetadata.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBMSMetadata.java index 774d2170b5..cbccddfb9b 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBMSMetadata.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBMSMetadata.java @@ -306,13 +306,13 @@ public class DBMSMetadata { ResultSet sourceCodeObjects = null ; - List sourceObjectsList = new ArrayList() ; + List sourceObjectsList = new ArrayList<>(); List searchLanguages = languages ; List searchSchemas = schemas ; List searchSourceCodeTypes = sourceCodeTypes ; List searchSourceCodeNames = sourceCodeNames ; - List wildcardList = Arrays.asList(new String[] {"%"} ); + List wildcardList = Arrays.asList("%"); /* * Assign each search list to the first @@ -324,7 +324,7 @@ public class DBMSMetadata */ if( null == searchLanguages ) { - List dbURIList = (null == dburi) ? null : dburi.getLanguagesList() ; + List dbURIList = (null == dburi) ? null : dburi.getLanguagesList() ; if (null == dbURIList || dbURIList.isEmpty()) { searchLanguages = wildcardList; @@ -337,7 +337,7 @@ public class DBMSMetadata if( null == searchSchemas ) { - List dbURIList = (null == dburi) ? null : dburi.getSchemasList() ; + List dbURIList = (null == dburi) ? null : dburi.getSchemasList() ; if (null == dbURIList || dbURIList.isEmpty()) { searchSchemas = wildcardList; @@ -350,7 +350,7 @@ public class DBMSMetadata if( null == searchSourceCodeTypes ) { - List dbURIList = (null == dburi) ? null : dburi.getSourceCodeTypesList() ; + List dbURIList = (null == dburi) ? null : dburi.getSourceCodeTypesList() ; if (null == dbURIList || dbURIList.isEmpty()) { searchSourceCodeTypes = wildcardList; @@ -363,7 +363,7 @@ public class DBMSMetadata if( null == searchSourceCodeNames ) { - List dbURIList = (null == dburi) ? null : dburi.getSourceCodeNamesList() ; + List dbURIList = (null == dburi) ? null : dburi.getSourceCodeNamesList() ; if (null == dbURIList || dbURIList.isEmpty()) { searchSourceCodeNames = wildcardList; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBURI.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBURI.java index 8e15f917b5..73a23528bf 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBURI.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/database/DBURI.java @@ -276,7 +276,7 @@ private final static Logger LOGGER = Logger.getLogger(CLASS_NAME); */ private Map getParameterMap (URI dburi) throws UnsupportedEncodingException { - Map map = new HashMap(); + Map map = new HashMap<>(); String query = dburi.getRawQuery(); LOGGER.log(Level.FINEST, "dburi,getQuery()={0}", query); if (null != query && !query.equals("")) @@ -325,7 +325,7 @@ private final static Logger LOGGER = Logger.getLogger(CLASS_NAME); if (null != query && !query.equals("")) { String[] params = query.split("&"); - Map map = new HashMap(); + Map map = new HashMap<>(); for (String param : params) { String[] splits = param.split("="); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java index 10c93de09b..fad1ad0b49 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java @@ -142,7 +142,7 @@ public class Designer implements ClipboardOwner { } private static LanguageVersion[] getSupportedLanguageVersions() { - List languageVersions = new ArrayList(); + List languageVersions = new ArrayList<>(); for (LanguageVersion languageVersion : LanguageRegistry.findAllVersions()) { LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler(); if (languageVersionHandler != null) { @@ -360,7 +360,7 @@ public class Designer implements ClipboardOwner { } public List getAttributes() { - List result = new LinkedList(); + List result = new LinkedList<>(); AttributeAxisIterator attributeAxisIterator = new AttributeAxisIterator(node); while (attributeAxisIterator.hasNext()) { Attribute attribute = attributeAxisIterator.next(); @@ -534,7 +534,7 @@ public class Designer implements ClipboardOwner { RuleContext ruleContext = new RuleContext(); ruleContext.setLanguageVersion(getLanguageVersion()); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.add(c); ruleSets.apply(nodes, ruleContext, xpathRule.getLanguage()); @@ -559,7 +559,7 @@ public class Designer implements ClipboardOwner { + astTreeNode.label()); symbolTableTreeNode.add(selectedAstTreeNode); - List scopes = new ArrayList(); + List scopes = new ArrayList<>(); Scope scope = astTreeNode.getScope(); while (scope != null) { scopes.add(scope); diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/AbstractCompoundFilter.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/AbstractCompoundFilter.java index 348a499d05..9377ff223d 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/AbstractCompoundFilter.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/AbstractCompoundFilter.java @@ -4,6 +4,7 @@ package net.sourceforge.pmd.util.filter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -18,14 +19,11 @@ public abstract class AbstractCompoundFilter implements Filter { protected List> filters; public AbstractCompoundFilter() { - filters = new ArrayList>(2); + filters = new ArrayList<>(2); } public AbstractCompoundFilter(Filter... filters) { - this.filters = new ArrayList>(filters.length); - for (Filter filter : filters) { - this.filters.add(filter); - } + this.filters = Arrays.asList(filters); } public List> getFilters() { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/Filters.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/Filters.java index aca2c36d11..f789891b68 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/Filters.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/filter/Filters.java @@ -23,7 +23,7 @@ public class Filters { * @return A List containing only those objects for which the Filter returned true. */ public static List filter(Filter filter, Collection collection) { - List list = new ArrayList(); + List list = new ArrayList<>(); for (T obj : collection) { if (filter.filter(obj)) { list.add(obj); @@ -55,7 +55,7 @@ public class Filters { * @return A File Filter. */ public static Filter getFileExtensionOrDirectoryFilter(String... extensions) { - return new OrFilter(getFileExtensionFilter(extensions), getDirectoryFilter()); + return new OrFilter<>(getFileExtensionFilter(extensions), getDirectoryFilter()); } /** @@ -150,7 +150,7 @@ public class Filters { */ public static Filter buildRegexFilterExcludeOverInclude(List includeRegexes, List excludeRegexes) { - OrFilter includeFilter = new OrFilter(); + OrFilter includeFilter = new OrFilter<>(); if (includeRegexes == null || includeRegexes.isEmpty()) { includeFilter.addFilter(new RegexStringFilter(".*")); } else { @@ -159,14 +159,14 @@ public class Filters { } } - OrFilter excludeFilter = new OrFilter(); + OrFilter excludeFilter = new OrFilter<>(); if (excludeRegexes != null) { for (String excludeRegex : excludeRegexes) { excludeFilter.addFilter(new RegexStringFilter(excludeRegex)); } } - return new AndFilter(includeFilter, new NotFilter(excludeFilter)); + return new AndFilter<>(includeFilter, new NotFilter<>(excludeFilter)); } /** @@ -184,20 +184,20 @@ public class Filters { */ public static Filter buildRegexFilterIncludeOverExclude(List includeRegexes, List excludeRegexes) { - OrFilter includeFilter = new OrFilter(); + OrFilter includeFilter = new OrFilter<>(); if (includeRegexes != null) { for (String includeRegex : includeRegexes) { includeFilter.addFilter(new RegexStringFilter(includeRegex)); } } - OrFilter excludeFilter = new OrFilter(); + OrFilter excludeFilter = new OrFilter<>(); if (excludeRegexes != null) { for (String excludeRegex : excludeRegexes) { excludeFilter.addFilter(new RegexStringFilter(excludeRegex)); } } - return new OrFilter(includeFilter, new NotFilter(excludeFilter)); + return new OrFilter<>(includeFilter, new NotFilter<>(excludeFilter)); } } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/gui/ASTPanel.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/gui/ASTPanel.java index ddbcc8442c..7bfbac080c 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/gui/ASTPanel.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/gui/ASTPanel.java @@ -79,7 +79,7 @@ public class ASTPanel extends JPanel implements ViewerModelListener, TreeSelecti break; case ViewerModelEvent.NODE_SELECTED: if (e.getSource() != this) { - List list = new ArrayList(); + List list = new ArrayList<>(); for (Node n = (Node) e.getParameter(); n != null; n = n.jjtGetParent()) { list.add(n); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ASTModel.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ASTModel.java index 8320feae88..f91bd6f465 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ASTModel.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ASTModel.java @@ -25,7 +25,7 @@ import net.sourceforge.pmd.lang.ast.Node; public class ASTModel implements TreeModel { private Node root; - private List listeners = new ArrayList(1); + private List listeners = new ArrayList<>(1); /** * creates the tree model diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/SimpleNodeTreeNodeAdapter.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/SimpleNodeTreeNodeAdapter.java index c7da6373d0..00581887ed 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/SimpleNodeTreeNodeAdapter.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/SimpleNodeTreeNodeAdapter.java @@ -113,7 +113,7 @@ public class SimpleNodeTreeNodeAdapter implements TreeNode { */ private void checkChildren() { if (children == null) { - children = new ArrayList(node.jjtGetNumChildren()); + children = new ArrayList<>(node.jjtGetNumChildren()); for (int i = 0; i < node.jjtGetNumChildren(); i++) { children.add(new SimpleNodeTreeNodeAdapter(this, node.jjtGetChild(i))); } diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ViewerModel.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ViewerModel.java index f9792e8561..28b7ad0987 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ViewerModel.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/viewer/model/ViewerModel.java @@ -27,7 +27,7 @@ public class ViewerModel { private List evaluationResults; public ViewerModel() { - listeners = new ArrayList(5); + listeners = new ArrayList<>(5); } public Node getRootNode() { diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/AbstractRuleTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/AbstractRuleTest.java index be1ad13e60..16542d4104 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/AbstractRuleTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/AbstractRuleTest.java @@ -113,7 +113,7 @@ public class AbstractRuleTest { public void testRuleSuppress() { MyRule r = new MyRule(); RuleContext ctx = new RuleContext(); - Map m = new HashMap(); + Map m = new HashMap<>(); m.put(Integer.valueOf(5), ""); ctx.setReport(new Report()); ctx.getReport().suppress(m); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/ReportTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/ReportTest.java index 4cc23927cb..94e55a5286 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/ReportTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/ReportTest.java @@ -72,11 +72,11 @@ public class ReportTest implements ReportListener { ctx.setSourceCodeFilename("foo"); Node s = getNode(10, 5); Rule rule1 = new MockRule("name", "desc", "msg", "rulesetname"); - r.addRuleViolation(new ParametricRuleViolation(rule1, ctx, s, rule1.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule1, ctx, s, rule1.getMessage())); ctx.setSourceCodeFilename("bar"); Node s1 = getNode(10, 5); Rule rule2 = new MockRule("name", "desc", "msg", "rulesetname"); - r.addRuleViolation(new ParametricRuleViolation(rule2, ctx, s1, rule2.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule2, ctx, s1, rule2.getMessage())); Renderer rend = new XMLRenderer(); String result = render(rend, r); assertTrue("sort order wrong", result.indexOf("bar") < result.indexOf("foo")); @@ -89,11 +89,11 @@ public class ReportTest implements ReportListener { ctx.setSourceCodeFilename("foo1"); Node s = getNode(10, 5); Rule rule1 = new MockRule("rule2", "rule2", "msg", "rulesetname"); - r.addRuleViolation(new ParametricRuleViolation(rule1, ctx, s, rule1.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule1, ctx, s, rule1.getMessage())); ctx.setSourceCodeFilename("foo2"); Node s1 = getNode(20, 5); Rule rule2 = new MockRule("rule1", "rule1", "msg", "rulesetname"); - r.addRuleViolation(new ParametricRuleViolation(rule2, ctx, s1, rule2.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule2, ctx, s1, rule2.getMessage())); Renderer rend = new XMLRenderer(); String result = render(rend, r); assertTrue("sort order wrong", result.indexOf("rule2") < result.indexOf("rule1")); @@ -108,7 +108,7 @@ public class ReportTest implements ReportListener { ctx.setSourceCodeFilename("file"); Node s = getNode(5, 5); Rule rule1 = new MockRule("name", "desc", "msg", "rulesetname"); - rpt.addRuleViolation(new ParametricRuleViolation(rule1, ctx, s, rule1.getMessage())); + rpt.addRuleViolation(new ParametricRuleViolation<>(rule1, ctx, s, rule1.getMessage())); assertTrue(violationSemaphore); metricSemaphore = false; @@ -124,13 +124,13 @@ public class ReportTest implements ReportListener { ctx.setSourceCodeFilename("foo1"); Node s = getNode(5, 5); Rule rule = new MockRule("name", "desc", "msg", "rulesetname"); - r.addRuleViolation(new ParametricRuleViolation(rule, ctx, s, rule.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule, ctx, s, rule.getMessage())); ctx.setSourceCodeFilename("foo2"); Rule mr = new MockRule("rule1", "rule1", "msg", "rulesetname"); Node s1 = getNode(20, 5); Node s2 = getNode(30, 5); - r.addRuleViolation(new ParametricRuleViolation(mr, ctx, s1, mr.getMessage())); - r.addRuleViolation(new ParametricRuleViolation(mr, ctx, s2, mr.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(mr, ctx, s1, mr.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(mr, ctx, s2, mr.getMessage())); Map summary = r.getSummary(); assertEquals(summary.keySet().size(), 2); assertTrue(summary.values().contains(Integer.valueOf(1))); @@ -143,9 +143,9 @@ public class ReportTest implements ReportListener { RuleContext ctx = new RuleContext(); Rule rule = new MockRule("name", "desc", "msg", "rulesetname"); Node node1 = getNode(5, 5, true); - r.addRuleViolation(new ParametricRuleViolation(rule, ctx, node1, rule.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule, ctx, node1, rule.getMessage())); Node node2 = getNode(5, 6, true); - r.addRuleViolation(new ParametricRuleViolation(rule, ctx, node2, rule.getMessage())); + r.addRuleViolation(new ParametricRuleViolation<>(rule, ctx, node2, rule.getMessage())); Iterator violations = r.iterator(); int violationCount = 0; diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java index eb0fc98403..82ba06ac7e 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java @@ -138,7 +138,7 @@ public class RuleSetFactoryTest { public void testMultipleRules() throws RuleSetNotFoundException { RuleSet rs = loadRuleSet(MULTIPLE_RULES); assertEquals(2, rs.size()); - Set expected = new HashSet(); + Set expected = new HashSet<>(); expected.add("MockRuleName1"); expected.add("MockRuleName2"); for (Rule rule : rs.getRules()) { diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetTest.java index 17f3d6431f..f6ca1b89d1 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetTest.java @@ -268,7 +268,7 @@ public class RuleSetTest { @Test public void testSetExcludePatterns() { - List excludePatterns = new ArrayList(); + List excludePatterns = new ArrayList<>(); excludePatterns.add("*"); excludePatterns.add(".*"); RuleSet ruleSet = new RuleSet(); @@ -309,7 +309,7 @@ public class RuleSetTest { @Test public void testSetIncludePatterns() { - List includePatterns = new ArrayList(); + List includePatterns = new ArrayList<>(); includePatterns.add("*"); includePatterns.add(".*"); RuleSet ruleSet = new RuleSet(); @@ -403,7 +403,7 @@ public class RuleSetTest { private void verifyRuleSet(RuleSet IUT, int size, Set values) throws Throwable { RuleContext context = new RuleContext(); - Set reportedValues = new HashSet(); + Set reportedValues = new HashSet<>(); context.setReport(new Report()); IUT.apply(makeCompilationUnits(), context); @@ -425,7 +425,7 @@ public class RuleSetTest { } private List makeCompilationUnits() { - List RC = new ArrayList(); + List RC = new ArrayList<>(); DummyNode node = new DummyNode(1); node.testingOnly__setBeginLine(1); node.testingOnly__setBeginColumn(1); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/RuleViolationComparatorTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/RuleViolationComparatorTest.java index cfc91874df..de76b7885d 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/RuleViolationComparatorTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/RuleViolationComparatorTest.java @@ -51,7 +51,7 @@ public class RuleViolationComparatorTest { expectedOrder[index++] = createJavaRuleViolation(rule2, "file6", 10, "desc1", 0, 20, 80); // Randomize - List ruleViolations = new ArrayList(Arrays.asList(expectedOrder)); + List ruleViolations = new ArrayList<>(Arrays.asList(expectedOrder)); long seed = System.nanoTime(); Random random = new Random(seed); Collections.shuffle(ruleViolations, random); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDConfigurationTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDConfigurationTest.java index 98fb23b789..41e990cc76 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDConfigurationTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDConfigurationTest.java @@ -13,7 +13,7 @@ public class CPDConfigurationTest { @Test public void testRenderers() { - Map> renderersToTest = new HashMap>(); + Map> renderersToTest = new HashMap<>(); renderersToTest.put("csv", CSVRenderer.class); renderersToTest.put("xml", XMLRenderer.class); renderersToTest.put("csv_with_linecount_per_file", CSVWithLinecountPerFileRenderer.class); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CSVRendererTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CSVRendererTest.java index 53bbcfdab8..4b1c5e70cb 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CSVRendererTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CSVRendererTest.java @@ -17,7 +17,7 @@ public class CSVRendererTest { @Test public void testLineCountPerFile() { Renderer renderer = new CSVRenderer(true); - List list = new ArrayList(); + List list = new ArrayList<>(); String codeFragment = "code\nfragment"; Mark mark1 = createMark("public", "/var/Foo.java", 48, 10, codeFragment); Mark mark2 = createMark("stuff", "/var/Bar.java", 73, 20, codeFragment); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/SourceCodeTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/SourceCodeTest.java index a3758ccc90..53c3d3f0fd 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/SourceCodeTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/SourceCodeTest.java @@ -23,9 +23,9 @@ public class SourceCodeTest { public void testSimple() throws Throwable { Tokenizer tokenizer = new AbstractTokenizer() { { - this.stringToken = new ArrayList(); - this.ignorableCharacter = new ArrayList(); - this.ignorableStmt = new ArrayList(); + this.stringToken = new ArrayList<>(); + this.ignorableCharacter = new ArrayList<>(); + this.ignorableStmt = new ArrayList<>(); } }; SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader(SAMPLE_CODE, "Foo.java")); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/XMLRendererTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/XMLRendererTest.java index dce0636984..7b21880d48 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/XMLRendererTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/XMLRendererTest.java @@ -31,7 +31,7 @@ public class XMLRendererTest { public void testWithNoDuplication() { Renderer renderer = new XMLRenderer(); - List list = new ArrayList(); + List list = new ArrayList<>(); String report = renderer.render(list.iterator()); try { Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(report.getBytes(ENCODING))); @@ -48,7 +48,7 @@ public class XMLRendererTest { @Test public void testWithOneDuplication() { Renderer renderer = new XMLRenderer(); - List list = new ArrayList(); + List list = new ArrayList<>(); int lineCount = 6; String codeFragment = "code\nfragment"; Mark mark1 = createMark("public", "/var/Foo.java", 48, lineCount, codeFragment); @@ -85,7 +85,7 @@ public class XMLRendererTest { @Test public void testRenderWithMultipleMatch() { Renderer renderer = new XMLRenderer(); - List list = new ArrayList(); + List list = new ArrayList<>(); int lineCount1 = 6; String codeFragment1 = "code fragment"; Mark mark1 = createMark("public", "/var/Foo.java", 48, lineCount1, codeFragment1); @@ -114,7 +114,7 @@ public class XMLRendererTest { @Test public void testRendererEncodedPath() { Renderer renderer = new XMLRenderer(); - List list = new ArrayList(); + List list = new ArrayList<>(); final String espaceChar = "<"; Mark mark1 = createMark("public", "/var/F" + '<' + "oo.java", 48, 6, "code fragment"); Mark mark2 = createMark("void", "/var/F list = new ArrayList(); - List attrs = new ArrayList(); + List list = new ArrayList<>(); + List attrs = new ArrayList<>(); attrs.add(new Attribute(myNode, "matches", myNode.getClass().getMethod("getClassName", new Class[0]))); list.add(attrs); list.add(exp); 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 29e452b54f..800e1760a2 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 @@ -51,7 +51,7 @@ public class DummyLanguageModule extends BaseLanguageModule { protected void indexNodes(List nodes, RuleContext ctx) { for (Node n : nodes) { indexNode(n); - List childs = new ArrayList(); + List childs = new ArrayList<>(); for (int i = 0; i < n.jjtGetNumChildren(); i++) { childs.add(n.jjtGetChild(i)); } diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIteratorTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIteratorTest.java index 9ae4e09223..9062873a92 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIteratorTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/xpath/AttributeAxisIteratorTest.java @@ -26,7 +26,7 @@ public class AttributeAxisIteratorTest { dummyNode.testingOnly__setBeginColumn(1); AttributeAxisIterator it = new AttributeAxisIterator(dummyNode); - Map atts = new HashMap(); + Map atts = new HashMap<>(); while (it.hasNext()) { Attribute attribute = it.next(); atts.put(attribute.getName(), attribute); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/properties/AbstractPropertyDescriptorTester.java b/pmd-core/src/test/java/net/sourceforge/pmd/properties/AbstractPropertyDescriptorTester.java index 7485fe68cb..e2fe9c47dc 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/properties/AbstractPropertyDescriptorTester.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/properties/AbstractPropertyDescriptorTester.java @@ -15,7 +15,6 @@ import net.sourceforge.pmd.lang.rule.properties.factories.PropertyDescriptorUtil import net.sourceforge.pmd.util.CollectionUtil; import org.junit.Assert; -import org.junit.Assume; import org.junit.Test; /** @@ -85,7 +84,7 @@ public abstract class AbstractPropertyDescriptorTester { } private Map getPropertyDescriptorValues() { - Map valuesById = new HashMap(); + Map valuesById = new HashMap<>(); valuesById.put(PropertyDescriptorFields.NAME, "test"); valuesById.put(PropertyDescriptorFields.DESCRIPTION, "desc"); valuesById.put(PropertyDescriptorFields.MIN, "0"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/properties/EnumeratedPropertyTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/properties/EnumeratedPropertyTest.java index 846afc687d..7edfe6d3fe 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/properties/EnumeratedPropertyTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/properties/EnumeratedPropertyTest.java @@ -71,9 +71,9 @@ public class EnumeratedPropertyTest extends AbstractPropertyDescriptorTester { */ protected PropertyDescriptor createProperty(boolean multiValue) { - return multiValue ? new EnumeratedMultiProperty("testEnumerations", + return multiValue ? new EnumeratedMultiProperty<>("testEnumerations", "Test enumerations with complex types", keys, values, new int[] { 0, 1 }, 1.0f) - : new EnumeratedProperty("testEnumerations", "Test enumerations with complex types", keys, + : new EnumeratedProperty<>("testEnumerations", "Test enumerations with complex types", keys, values, 0, 1.0f); } @@ -85,9 +85,9 @@ public class EnumeratedPropertyTest extends AbstractPropertyDescriptorTester { */ protected PropertyDescriptor createBadProperty(boolean multiValue) { - return multiValue ? new EnumeratedMultiProperty("testEnumerations", + return multiValue ? new EnumeratedMultiProperty<>("testEnumerations", "Test enumerations with complex types", keys, new Object[0], new int[] { 99 }, 1.0f) - : new EnumeratedProperty("testEnumerations", "Test enumerations with complex types", + : new EnumeratedProperty<>("testEnumerations", "Test enumerations with complex types", new String[0], values, -1, 1.0f); } diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/properties/NonRuleWithAllPropertyTypes.java b/pmd-core/src/test/java/net/sourceforge/pmd/properties/NonRuleWithAllPropertyTypes.java index 00f1904114..6d0a5d8784 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/properties/NonRuleWithAllPropertyTypes.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/properties/NonRuleWithAllPropertyTypes.java @@ -83,10 +83,10 @@ public class NonRuleWithAllPropertyTypes extends AbstractRule { public static final MethodMultiProperty multiMethod = new MethodMultiProperty("multiMethod", "Multiple methods", new Method[] { stringLength, stringToLowerCase }, new String[] { "java.lang" }, 6.0f); - public static final EnumeratedProperty enumType = new EnumeratedProperty("enumType", + public static final EnumeratedProperty enumType = new EnumeratedProperty<>("enumType", "Enumerated choices", new String[] { "String", "Object" }, new Class[] { String.class, Object.class }, 1, 5.0f); - public static final EnumeratedMultiProperty multiEnumType = new EnumeratedMultiProperty( + public static final EnumeratedMultiProperty multiEnumType = new EnumeratedMultiProperty<>( "multiEnumType", "Multiple enumerated choices", new String[] { "String", "Object" }, new Class[] { String.class, Object.class }, new int[] { 0, 1 }, 5.0f); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/renderers/SummaryHTMLRendererTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/renderers/SummaryHTMLRendererTest.java index 6e8558c138..212d1fc592 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/renderers/SummaryHTMLRendererTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/renderers/SummaryHTMLRendererTest.java @@ -167,11 +167,11 @@ public class SummaryHTMLRendererTest extends AbstractRendererTst { private Report createEmptyReportWithSuppression() { Report rep = new Report(); - Map suppressions = new HashMap(); + Map suppressions = new HashMap<>(); suppressions.put(1, "test"); rep.suppress(suppressions); RuleContext ctx = new RuleContext(); - ParametricRuleViolation violation = new ParametricRuleViolation(new FooRule(), ctx, null, + ParametricRuleViolation violation = new ParametricRuleViolation<>(new FooRule(), ctx, null, "suppress test"); violation.setLines(1, 1); rep.addRuleViolation(violation); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/stat/StatisticalRuleTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/stat/StatisticalRuleTest.java index 6be0cc7a75..e593afd712 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/stat/StatisticalRuleTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/stat/StatisticalRuleTest.java @@ -133,7 +133,7 @@ public class StatisticalRuleTest { IUT.addDataPoint(points[i]); } } else { - List lPoints = new ArrayList(); + List lPoints = new ArrayList<>(); for (int i = 0; i < POINTS; i++) { points[i] = new DataPoint(); points[i].setScore(1.0 * i); @@ -849,7 +849,7 @@ public class StatisticalRuleTest { } public Report makeReport(Rule IUT) { - List list = new ArrayList(); + List list = new ArrayList<>(); Report report = new Report(); RuleContext ctx = new RuleContext(); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/CompoundListTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/CompoundListTest.java index da9bc990ac..80454cd8db 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/CompoundListTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/CompoundListTest.java @@ -23,14 +23,14 @@ public class CompoundListTest { @Before public void setUp() { - l1 = new ArrayList(); + l1 = new ArrayList<>(); l1.add("1"); l1.add("2"); - l2 = new ArrayList(); + l2 = new ArrayList<>(); l2.add("3"); l2.add("4"); - iterator = new CompoundIterator(l1.iterator(), l2.iterator()); + iterator = new CompoundIterator<>(l1.iterator(), l2.iterator()); } @Test diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBURITest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBURITest.java index 5d51373ffa..5aa39e4d82 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBURITest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBURITest.java @@ -75,7 +75,7 @@ public class DBURITest { String query = dburi.getQuery(); if (null != query && !query.equals("")) { String[] params = query.split("&"); - Map map = new HashMap(); + Map map = new HashMap<>(); for (String param : params) { String[] splits = param.split("="); String name = splits[0]; @@ -186,9 +186,9 @@ public class DBURITest { public void testGetSchemasList() throws URISyntaxException, Exception { System.out.println("getSchemasList"); DBURI instance = new DBURI(C_ORACLE_OCI_2); - List expResult; + List expResult; expResult = Arrays.asList("scott,hr,sh,system".split(",")); - List result = instance.getSchemasList(); + List result = instance.getSchemasList(); assertEquals(expResult, result); // TODO review the generated test code and remove the default call to // fail. @@ -216,8 +216,8 @@ public class DBURITest { public void testGetSourceCodeTypesList() throws URISyntaxException, Exception { System.out.println("getSourceCodeTypesList"); DBURI instance = new DBURI(C_ORACLE_OCI_2); - List expResult = Arrays.asList("procedures,functions,triggers,package,types".split(",")); - List result = instance.getSourceCodeTypesList(); + List expResult = Arrays.asList("procedures,functions,triggers,package,types".split(",")); + List result = instance.getSourceCodeTypesList(); assertEquals(expResult, result); // TODO review the generated test code and remove the default call to // fail. @@ -245,8 +245,8 @@ public class DBURITest { public void testGetSourceCodeNamesList() throws URISyntaxException, Exception { System.out.println("getSourceCodeNamesList"); DBURI instance = new DBURI(C_ORACLE_OCI_3); - List expResult = Arrays.asList("PKG_%%,PRC_%%".split(",")); - List result = instance.getSourceCodeNamesList(); + List expResult = Arrays.asList("PKG_%%,PRC_%%".split(",")); + List result = instance.getSourceCodeNamesList(); assertEquals(expResult, result); // TODO review the generated test code and remove the default call to // fail. @@ -274,8 +274,8 @@ public class DBURITest { public void testGetLanguagesList() throws URISyntaxException, Exception { System.out.println("getLanguagesList"); DBURI instance = new DBURI(C_ORACLE_OCI_2); - List expResult = Arrays.asList("plsql,java".split(",")); - List result = instance.getLanguagesList(); + List expResult = Arrays.asList("plsql,java".split(",")); + List result = instance.getLanguagesList(); assertEquals(expResult, result); // TODO review the generated test code and remove the default call to // fail. @@ -471,11 +471,11 @@ public class DBURITest { public void testGetParameters() throws URISyntaxException, Exception { System.out.println("getParameters"); DBURI instance = new DBURI(C_TEST_URI); - Map expResult = new HashMap(); + Map expResult = new HashMap<>(); expResult.put("param1", "x&1"); expResult.put("param2", null); expResult.put("param3", null); - Map result = instance.getParameters(); + Map result = instance.getParameters(); assertEquals(expResult, result); // TODO review the generated test code and remove the default call to // fail. @@ -488,7 +488,7 @@ public class DBURITest { @Test public void testSetParameters() throws URISyntaxException, Exception { System.out.println("setParameters"); - Map parameters = new HashMap(); + Map parameters = new HashMap<>(); parameters.put("param1", "x%FFF"); parameters.put("param2", "IAmParameter2"); parameters.put("param3", "IAmParameter3"); diff --git a/pmd-fortran/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-fortran/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index 99fb64d199..041ba4887e 100644 --- a/pmd-fortran/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-fortran/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd; import java.util.Arrays; @@ -17,7 +20,7 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest { } @Parameters - public static Collection data() { + public static Collection data() { return Arrays.asList(new Object[][] { { FortranLanguageModule.NAME, FortranLanguageModule.TERSE_NAME, "", LanguageRegistry.getLanguage(FortranLanguageModule.NAME).getDefaultVersion() } }); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/JavaLanguageModule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/JavaLanguageModule.java index 8ea2767e53..c776b4cb29 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/JavaLanguageModule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/JavaLanguageModule.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd.lang.java; import net.sourceforge.pmd.lang.BaseLanguageModule; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/Comment.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/Comment.java index a50d7bd81c..73c0d6291b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/Comment.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/Comment.java @@ -28,7 +28,7 @@ public abstract class Comment extends AbstractNode { private void findJavadocs(String commentText) { - Collection kids = new ArrayList(); + Collection kids = new ArrayList<>(); Map tags = CommentUtil.javadocTagsIn(commentText); for (Map.Entry entry : tags.entrySet()) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/CommentUtil.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/CommentUtil.java index b2642fe63d..43c8502557 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/CommentUtil.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/CommentUtil.java @@ -26,15 +26,15 @@ public final class CommentUtil { if (position >= text.length()) { return null; } - - int end = ++position; + int newposition = position + 1; + int end = newposition; char ch = text.charAt(end); while (Character.isLetterOrDigit(ch) && end < text.length()) { ch = text.charAt(++end); } - return text.substring(position, end); + return text.substring(newposition, end); } public static String javadocContentAfter(String text, int position) { @@ -63,14 +63,14 @@ public final class CommentUtil { } private static final Pattern JAVADOC_TAG = Pattern.compile("@[A-Za-z0-9]+"); - private static final Map JAVADOC_CACHE = new HashMap(); + private static final Map JAVADOC_CACHE = new HashMap<>(); public static Map javadocTagsIn(String comment) { Matcher m = JAVADOC_TAG.matcher(comment); Map tags = null; while (m.find()) { if (tags == null) { - tags = new HashMap(); + tags = new HashMap<>(); } String match = comment.substring(m.start() + 1, m.end()); String tag = JAVADOC_CACHE.get(match); @@ -88,7 +88,7 @@ public final class CommentUtil { public static List multiLinesIn(String comment) { String[] lines = comment.split(CR); - List filteredLines = new ArrayList(lines.length); + List filteredLines = new ArrayList<>(lines.length); for (String rawLine : lines) { String line = rawLine.trim(); @@ -153,7 +153,7 @@ public final class CommentUtil { } } - List filtered = new ArrayList(); + List filtered = new ArrayList<>(); for (int i = firstNonEmpty; i < lastNonEmpty; i++) { filtered.add(lines.get(i)); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java index e7dd485958..bf497a9b2b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java @@ -83,7 +83,7 @@ public class DumpFacade extends JavaParserVisitorAdapter { } // Extras - List extras = new ArrayList(); + List extras = new ArrayList<>(); collectModifiers(node, extras); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/JavaDFAGraphRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/JavaDFAGraphRule.java index e474080976..71b655bba9 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/JavaDFAGraphRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/JavaDFAGraphRule.java @@ -32,7 +32,7 @@ public class JavaDFAGraphRule extends AbstractJavaRule implements DFAGraphRule { @Override public Object visit(ASTCompilationUnit acu, Object data) { - methods = new ArrayList(); + methods = new ArrayList<>(); return super.visit(acu, data); } } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java index a684d1a2ad..de9a0f6e3a 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java @@ -58,7 +58,7 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter { private List markUsages(DataFlowNode inode) { // undefinitions was once a field... seems like it works fine as a local - List undefinitions = new ArrayList(); + List undefinitions = new ArrayList<>(); Set>> variableDeclarations = collectDeclarations(inode); for (Map> declarations : variableDeclarations) { for (Map.Entry> entry : declarations.entrySet()) { @@ -83,7 +83,7 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter { } private Set>> collectDeclarations(DataFlowNode inode) { - Set>> decls = new HashSet>>(); + Set>> decls = new HashSet<>(); Map> varDecls; for (int i = 0; i < inode.getFlow().size(); i++) { DataFlowNode n = inode.getFlow().get(i); @@ -125,7 +125,7 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter { List children = inode.getNode().findDescendantsOfType(node.getClass()); for (Node n : children) { if (node.equals(n)) { - List v = new ArrayList(); + List v = new ArrayList<>(); v.add(va); inode.setVariableAccess(v); return; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/javadoc/JavadocTag.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/javadoc/JavadocTag.java index fffe1b8a54..946a1bcc2d 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/javadoc/JavadocTag.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/javadoc/JavadocTag.java @@ -12,7 +12,7 @@ public final class JavadocTag { public final String label; public final String description; - private static final Map TAGS_BY_ID = new HashMap(); + private static final Map TAGS_BY_ID = new HashMap<>(); public static final JavadocTag AUTHOR = new JavadocTag("author", "Authors of the source code, in chronological order"); public static final JavadocTag SINCE = new JavadocTag("since", "Version of the source code that this item was introduced, can be a number or a date"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractInefficientZeroCheck.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractInefficientZeroCheck.java index 157a12dc90..9166d1ada4 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractInefficientZeroCheck.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractInefficientZeroCheck.java @@ -36,7 +36,7 @@ public abstract class AbstractInefficientZeroCheck extends AbstractJavaRule { * @return map */ public Map> getComparisonTargets() { - Map> rules = new HashMap>(); + Map> rules = new HashMap<>(); rules.put("==", Arrays.asList("0")); rules.put("!=", Arrays.asList("0")); rules.put(">", Arrays.asList("0")); @@ -44,7 +44,7 @@ public abstract class AbstractInefficientZeroCheck extends AbstractJavaRule { return rules; } - private static Map inverse = new HashMap(); + private static Map inverse = new HashMap<>(); static { inverse.put("<", ">"); inverse.put(">", "<"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/UselessAssignment.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/UselessAssignment.java index ecebf633ef..9b529c72fe 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/UselessAssignment.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/UselessAssignment.java @@ -58,7 +58,7 @@ public class UselessAssignment extends AbstractJavaRule implements Executable { } public void execute(CurrentPath path) { - Map hash = new HashMap(); + Map hash = new HashMap<>(); //System.out.println("path size is " + path.size()); for (Iterator i = path.iterator(); i.hasNext();) { //System.out.println("i = " + i); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidBranchingStatementAsLastInLoopRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidBranchingStatementAsLastInLoopRule.java index b09992c564..54ab2cb220 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidBranchingStatementAsLastInLoopRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidBranchingStatementAsLastInLoopRule.java @@ -25,13 +25,13 @@ public class AvoidBranchingStatementAsLastInLoopRule extends AbstractJavaRule { private static final String[] ALL_LOOP_TYPES_VALUES = ALL_LOOP_TYPES_LABELS; private static final int[] ALL_LOOP_TYPES_DEFAULTS = new int[] { 0, 1, 2 }; - public static final EnumeratedMultiProperty CHECK_BREAK_LOOP_TYPES = new EnumeratedMultiProperty( + public static final EnumeratedMultiProperty CHECK_BREAK_LOOP_TYPES = new EnumeratedMultiProperty<>( "checkBreakLoopTypes", "Check for break statements in loop types", ALL_LOOP_TYPES_LABELS, ALL_LOOP_TYPES_VALUES, ALL_LOOP_TYPES_DEFAULTS, 1); - public static final EnumeratedMultiProperty CHECK_CONTINUE_LOOP_TYPES = new EnumeratedMultiProperty( + public static final EnumeratedMultiProperty CHECK_CONTINUE_LOOP_TYPES = new EnumeratedMultiProperty<>( "checkContinueLoopTypes", "Check for continue statements in loop types", ALL_LOOP_TYPES_LABELS, ALL_LOOP_TYPES_VALUES, ALL_LOOP_TYPES_DEFAULTS, 2); - public static final EnumeratedMultiProperty CHECK_RETURN_LOOP_TYPES = new EnumeratedMultiProperty( + public static final EnumeratedMultiProperty CHECK_RETURN_LOOP_TYPES = new EnumeratedMultiProperty<>( "checkReturnLoopTypes", "Check for return statements in loop types", ALL_LOOP_TYPES_LABELS, ALL_LOOP_TYPES_VALUES, ALL_LOOP_TYPES_DEFAULTS, 3); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidUsingHardCodedIPRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidUsingHardCodedIPRule.java index a432c7f841..4be88c7b48 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidUsingHardCodedIPRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/AvoidUsingHardCodedIPRule.java @@ -17,7 +17,7 @@ public class AvoidUsingHardCodedIPRule extends AbstractJavaRule { public static final String IPV6 = "IPv6"; public static final String IPV4_MAPPED_IPV6 = "IPv4 mapped IPv6"; - public static final EnumeratedMultiProperty CHECK_ADDRESS_TYPES_DESCRIPTOR = new EnumeratedMultiProperty( + public static final EnumeratedMultiProperty CHECK_ADDRESS_TYPES_DESCRIPTOR = new EnumeratedMultiProperty<>( "checkAddressTypes", "Check for IP address types.", new String[] { IPV4, IPV6, IPV4_MAPPED_IPV6 }, new String[] { IPV4, IPV6, IPV4_MAPPED_IPV6 }, new int[] { 0, 1, 2 }, 2.0f); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/BrokenNullCheckRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/BrokenNullCheckRule.java index bee737b0b5..683a0ee066 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/BrokenNullCheckRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/BrokenNullCheckRule.java @@ -97,10 +97,10 @@ public class BrokenNullCheckRule extends AbstractJavaRule { } private boolean primaryExpressionsAreEqual(ASTPrimaryExpression nullCompareVariable, ASTPrimaryExpression expressionUsage) { - List nullCompareNames = new ArrayList(); + List nullCompareNames = new ArrayList<>(); findExpressionNames(nullCompareVariable, nullCompareNames); - List expressionUsageNames = new ArrayList(); + List expressionUsageNames = new ArrayList<>(); findExpressionNames(expressionUsage, expressionUsageNames); for (int i = 0; i < nullCompareNames.size(); i++) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/CheckResultSetRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/CheckResultSetRule.java index ff699c73f8..4456399fc8 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/CheckResultSetRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/CheckResultSetRule.java @@ -28,9 +28,9 @@ import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule; */ public class CheckResultSetRule extends AbstractJavaRule { - private Map resultSetVariables = new HashMap(); + private Map resultSetVariables = new HashMap<>(); - private static Set methods = new HashSet(); + private static Set methods = new HashSet<>(); static { methods.add(".next"); methods.add(".previous"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/DoubleCheckedLockingRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/DoubleCheckedLockingRule.java index c9aac7bb0d..45d7d3873f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/DoubleCheckedLockingRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/basic/DoubleCheckedLockingRule.java @@ -60,7 +60,7 @@ public class DoubleCheckedLockingRule extends AbstractJavaRule { @Override public Object visit(ASTCompilationUnit compilationUnit, Object data) { if (this.volatileFields == null) { - this.volatileFields = new ArrayList(0); + this.volatileFields = new ArrayList<>(0); } else { this.volatileFields.clear(); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/NPathComplexityRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/NPathComplexityRule.java index 2309dab22f..4ecbd361a0 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/NPathComplexityRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/NPathComplexityRule.java @@ -89,7 +89,7 @@ public class NPathComplexityRule extends AbstractStatisticalJavaRule { // next - List statementChildren = new ArrayList(); + List statementChildren = new ArrayList<>(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { if (node.jjtGetChild(i).getClass() == ASTStatement.class) { statementChildren.add((JavaNode) node.jjtGetChild(i)); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/StdCyclomaticComplexityRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/StdCyclomaticComplexityRule.java index 488671b93d..687f78699b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/StdCyclomaticComplexityRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/StdCyclomaticComplexityRule.java @@ -74,7 +74,7 @@ public class StdCyclomaticComplexityRule extends AbstractJavaRule { } } - protected Stack entryStack = new Stack(); + protected Stack entryStack = new Stack<>(); public StdCyclomaticComplexityRule() { definePropertyDescriptor(REPORT_LEVEL_DESCRIPTOR); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/TooManyFieldsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/TooManyFieldsRule.java index f4bd336bba..a3fed081f2 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/TooManyFieldsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codesize/TooManyFieldsRule.java @@ -37,8 +37,8 @@ public class TooManyFieldsRule extends AbstractJavaRule { int maxFields = getProperty(MAX_FIELDS_DESCRIPTOR); - stats = new HashMap(5); - nodes = new HashMap(5); + stats = new HashMap<>(5); + nodes = new HashMap<>(5); List l = node.findDescendantsOfType(ASTFieldDeclaration.class); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/AbstractCommentRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/AbstractCommentRule.java index b55501b70d..ee0a367b5b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/AbstractCommentRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/AbstractCommentRule.java @@ -43,7 +43,7 @@ public abstract class AbstractCommentRule extends AbstractJavaRule { return Collections.emptyList(); } - List ints = new ArrayList(); + List ints = new ArrayList<>(); ints.add(atPos); atPos = comments.indexOf('@', atPos + 1); @@ -97,7 +97,7 @@ public abstract class AbstractCommentRule extends AbstractJavaRule { private static String multiLinesIn(String comment) { String[] lines = comment.split("\n"); - List filteredLines = new ArrayList(lines.length); + List filteredLines = new ArrayList<>(lines.length); for (String rawLine : lines) { String line = rawLine.trim(); @@ -127,7 +127,7 @@ public abstract class AbstractCommentRule extends AbstractJavaRule { private String formalLinesIn(String comment) { String[] lines = comment.split("\n"); - List filteredLines = new ArrayList(lines.length); + List filteredLines = new ArrayList<>(lines.length); for (String line : lines) { line = line.trim(); @@ -196,7 +196,7 @@ public abstract class AbstractCommentRule extends AbstractJavaRule { protected SortedMap orderedCommentsAndDeclarations(ASTCompilationUnit cUnit) { - SortedMap itemsByLineNumber = new TreeMap(); + SortedMap itemsByLineNumber = new TreeMap<>(); List packageDecl = cUnit .findDescendantsOfType(ASTClassOrInterfaceDeclaration.class); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentContentRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentContentRule.java index 3c643b012d..efbf78d1f8 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentContentRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentContentRule.java @@ -49,7 +49,7 @@ public class CommentContentRule extends AbstractCommentRule { private static final Set> NON_REGEX_PROPERTIES; static { - NON_REGEX_PROPERTIES = new HashSet>(1); + NON_REGEX_PROPERTIES = new HashSet<>(1); NON_REGEX_PROPERTIES.add(CASE_SENSITIVE_DESCRIPTOR); } @@ -105,7 +105,7 @@ public class CommentContentRule extends AbstractCommentRule { commentText = commentText.toUpperCase(); } - List foundWords = new ArrayList(); + List foundWords = new ArrayList<>(); for (int i = 0; i < currentBadWords.length; i++) { if (commentText.indexOf(currentBadWords[i]) >= 0) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentRequiredRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentRequiredRule.java index 7e119025f0..97e6c11fd9 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentRequiredRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentRequiredRule.java @@ -39,23 +39,23 @@ public class CommentRequiredRule extends AbstractCommentRule { } } - public static final EnumeratedProperty HEADER_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty( + public static final EnumeratedProperty HEADER_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty<>( "headerCommentRequirement", "Header comments. Possible values: " + Arrays.toString(CommentRequirement.values()), CommentRequirement.labels(), CommentRequirement.values(), 0, 1.0f); - public static final EnumeratedProperty FIELD_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty( + public static final EnumeratedProperty FIELD_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty<>( "fieldCommentRequirement", "Field comments. Possible values: " + Arrays.toString(CommentRequirement.values()), CommentRequirement.labels(), CommentRequirement.values(), 0, 2.0f); - public static final EnumeratedProperty PUB_METHOD_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty( + public static final EnumeratedProperty PUB_METHOD_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty<>( "publicMethodCommentRequirement", "Public method and constructor comments. Possible values: " + Arrays.toString(CommentRequirement.values()), CommentRequirement.labels(), CommentRequirement.values(), 0, 3.0f); - public static final EnumeratedProperty PROT_METHOD_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty( + public static final EnumeratedProperty PROT_METHOD_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty<>( "protectedMethodCommentRequirement", "Protected method constructor comments. Possible values: " + Arrays.toString(CommentRequirement.values()), CommentRequirement.labels(), CommentRequirement.values(), 0, 4.0f); - public static final EnumeratedProperty ENUM_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty( + public static final EnumeratedProperty ENUM_CMT_REQUIREMENT_DESCRIPTOR = new EnumeratedProperty<>( "enumCommentRequirement", "Enum comments. Possible values: " + Arrays.toString(CommentRequirement.values()), CommentRequirement.labels(), CommentRequirement.values(), 0, 5.0f); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentSizeRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentSizeRule.java index d451e6782a..bcf07991c2 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentSizeRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/CommentSizeRule.java @@ -70,7 +70,7 @@ public class CommentSizeRule extends AbstractCommentRule { int maxLength = getProperty(MAX_LINE_LENGTH); - List indicies = new ArrayList(); + List indicies = new ArrayList<>(); String[] lines = comment.getImage().split(CR); int offset = comment.getBeginLine(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/HeaderCommentsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/HeaderCommentsRule.java index 6073b3fea7..8df8ddaaae 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/HeaderCommentsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/comments/HeaderCommentsRule.java @@ -46,7 +46,7 @@ public class HeaderCommentsRule extends AbstractCommentRule { } } - public static final EnumeratedProperty HEADER_PLACEMENT_DESCRIPTOR = new EnumeratedProperty( + public static final EnumeratedProperty HEADER_PLACEMENT_DESCRIPTOR = new EnumeratedProperty<>( "headerPlacement", "Placement of the header comment", RequiredHeaderPlacement.labels(), diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/DataflowAnomalyAnalysisRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/DataflowAnomalyAnalysisRule.java index bade8368fa..0335f800aa 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/DataflowAnomalyAnalysisRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/DataflowAnomalyAnalysisRule.java @@ -69,7 +69,7 @@ public class DataflowAnomalyAnalysisRule extends AbstractJavaRule implements Exe public Object visit(ASTMethodDeclaration methodDeclaration, Object data) { rc = (RuleContext) data; - daaRuleViolations = new ArrayList(); + daaRuleViolations = new ArrayList<>(); final DataFlowNode node = methodDeclaration.getDataFlowNode().getFlow().get(0); @@ -86,7 +86,7 @@ public class DataflowAnomalyAnalysisRule extends AbstractJavaRule implements Exe return; } - Map usagesByVarName = new HashMap(); + Map usagesByVarName = new HashMap<>(); Iterator pathIterator = path.iterator(); while (pathIterator.hasNext()) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/OnlyOneReturnRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/OnlyOneReturnRule.java index a8657e8302..1f6210341f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/OnlyOneReturnRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/controversial/OnlyOneReturnRule.java @@ -30,7 +30,7 @@ public class OnlyOneReturnRule extends AbstractJavaRule { return data; } - List returnNodes = new ArrayList(); + List returnNodes = new ArrayList<>(); node.findDescendantsOfType(ASTReturnStatement.class, returnNodes, false); returnNodes = filterLambdaExpressions(returnNodes); @@ -56,7 +56,7 @@ public class OnlyOneReturnRule extends AbstractJavaRule { * @return all return statements, that are NOT within a lambda expression. */ private List filterLambdaExpressions(List returnNodes) { - List filtered = new ArrayList(); + List filtered = new ArrayList<>(); for (ASTReturnStatement ret : returnNodes) { if (ret.getFirstParentOfType(ASTLambdaExpression.class) == null) { filtered.add(ret); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/CouplingBetweenObjectsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/CouplingBetweenObjectsRule.java index 0711f570e2..1fd6fdc462 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/CouplingBetweenObjectsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/CouplingBetweenObjectsRule.java @@ -46,7 +46,7 @@ public class CouplingBetweenObjectsRule extends AbstractJavaRule { @Override public Object visit(ASTCompilationUnit cu, Object data) { - typesFoundSoFar = new HashSet(); + typesFoundSoFar = new HashSet<>(); couplingCount = 0; Object returnObj = cu.childrenAccept(this, data); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LawOfDemeterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LawOfDemeterRule.java index f025411561..7b86a22e9b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LawOfDemeterRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LawOfDemeterRule.java @@ -126,7 +126,7 @@ public class LawOfDemeterRule extends AbstractJavaRule { * @return a list of MethodCalls, might be empty. */ public static List createMethodCalls(ASTPrimaryExpression expression) { - List result = new ArrayList(); + List result = new ArrayList<>(); if (isNotAConstructorCall(expression) && isNotLiteral(expression) && hasSuffixesWithArguments(expression)) { ASTPrimaryPrefix prefixNode = expression.getFirstDescendantOfType(ASTPrimaryPrefix.class); @@ -164,7 +164,7 @@ public class LawOfDemeterRule extends AbstractJavaRule { } private static List findSuffixesWithoutArguments(ASTPrimaryExpression expr) { - List result = new ArrayList(); + List result = new ArrayList<>(); if (hasRealPrefix(expr)) { List suffixes = expr.findDescendantsOfType(ASTPrimarySuffix.class); for (ASTPrimarySuffix suffix : suffixes) { @@ -306,7 +306,7 @@ public class LawOfDemeterRule extends AbstractJavaRule { } private Assignment determineLastAssignment() { - List assignments = new ArrayList(); + List assignments = new ArrayList<>(); ASTBlock block = expression.getFirstParentOfType(ASTMethodDeclaration.class).getFirstChildOfType(ASTBlock.class); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LoosePackageCouplingRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LoosePackageCouplingRule.java index 106b641842..b5787203c0 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LoosePackageCouplingRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/coupling/LoosePackageCouplingRule.java @@ -64,7 +64,7 @@ public class LoosePackageCouplingRule extends AbstractJavaRule { // Sort the restricted packages in reverse order. This will ensure the // child packages are in the list before their parent packages. - this.restrictedPackages = new ArrayList(Arrays.asList(super.getProperty(PACKAGES_DESCRIPTOR))); + this.restrictedPackages = new ArrayList<>(Arrays.asList(super.getProperty(PACKAGES_DESCRIPTOR))); Collections.sort(restrictedPackages, Collections.reverseOrder()); return data; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/AccessorClassGenerationRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/AccessorClassGenerationRule.java index babee43aeb..8683a2ce4e 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/AccessorClassGenerationRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/AccessorClassGenerationRule.java @@ -34,7 +34,7 @@ import net.sourceforge.pmd.lang.java.symboltable.SourceFileScope; */ public class AccessorClassGenerationRule extends AbstractJavaRule { - private List classDataList = new ArrayList(); + private List classDataList = new ArrayList<>(); private int classID = -1; private String packageName; @@ -59,9 +59,9 @@ public class AccessorClassGenerationRule extends AbstractJavaRule { public ClassData(String className) { this.className = className; - this.privateConstructors = new ArrayList(); - this.instantiations = new ArrayList(); - this.classQualifyingNames = new ArrayList(); + this.privateConstructors = new ArrayList<>(); + this.instantiations = new ArrayList<>(); + this.classQualifyingNames = new ArrayList<>(); } public void addInstantiation(AllocData ad) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/CloseResourceRule.java index fcef6e33f9..e56ce7e827 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/CloseResourceRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/CloseResourceRule.java @@ -54,10 +54,10 @@ import org.jaxen.JaxenException; */ public class CloseResourceRule extends AbstractJavaRule { - private Set types = new HashSet(); - private Set simpleTypes = new HashSet(); + private Set types = new HashSet<>(); + private Set simpleTypes = new HashSet<>(); - private Set closeTargets = new HashSet(); + private Set closeTargets = new HashSet<>(); private static final StringMultiProperty CLOSE_TARGETS_DESCRIPTOR = new StringMultiProperty("closeTargets", "Methods which may close this resource", new String[] {}, 1.0f, ','); @@ -115,7 +115,7 @@ public class CloseResourceRule extends AbstractJavaRule { private void checkForResources(Node node, Object data) { List vars = node.findDescendantsOfType(ASTLocalVariableDeclaration.class); - List ids = new ArrayList(); + List ids = new ArrayList<>(); // find all variable references to Connection objects for (ASTLocalVariableDeclaration var : vars) { @@ -229,7 +229,7 @@ public class CloseResourceRule extends AbstractJavaRule { break; } - List exprs = new ArrayList(); + List exprs = new ArrayList<>(); f.findDescendantsOfType(ASTStatementExpression.class, exprs, true); for (ASTStatementExpression stmt : exprs) { ASTPrimaryExpression expr = stmt.getFirstChildOfType(ASTPrimaryExpression.class); @@ -272,7 +272,7 @@ public class CloseResourceRule extends AbstractJavaRule { // in the other class since there is no way to // really check it. if (!closed) { - List suffixes = new ArrayList(); + List suffixes = new ArrayList<>(); expr.findDescendantsOfType(ASTPrimarySuffix.class, suffixes, true); for (ASTPrimarySuffix oSuffix : suffixes) { String suff = oSuffix.getImage(); @@ -298,7 +298,7 @@ public class CloseResourceRule extends AbstractJavaRule { // See if the variable is returned by the method, which means the // method is a utility for creating the db resource, which means of // course it can't be closed by the method, so it isn't an error. - List returns = new ArrayList(); + List returns = new ArrayList<>(); top.findDescendantsOfType(ASTReturnStatement.class, returns, true); for (ASTReturnStatement returnStatement : returns) { ASTName name = returnStatement.getFirstDescendantOfType(ASTName.class); @@ -319,7 +319,7 @@ public class CloseResourceRule extends AbstractJavaRule { } private boolean variableIsPassedToMethod(ASTPrimaryExpression expr, String variable) { - List methodParams = new ArrayList(); + List methodParams = new ArrayList<>(); expr.findDescendantsOfType(ASTName.class, methodParams, true); for (ASTName pName : methodParams) { String paramName = pName.getImage(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ConstructorCallsOverridableMethodRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ConstructorCallsOverridableMethodRule.java index af1e00ab6b..d332bb787b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ConstructorCallsOverridableMethodRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ConstructorCallsOverridableMethodRule.java @@ -215,8 +215,8 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul if (lastNode.jjtGetNumChildren() == 1 && lastNode.jjtGetChild(0) instanceof ASTArguments) { //could be ASTExpression for instance 'a[4] = 5'; //start putting method together // System.out.println("Putting method together now"); - List varNames = new ArrayList(); - List packagesAndClasses = new ArrayList(); //look in JLS for better name here; + List varNames = new ArrayList<>(); + List packagesAndClasses = new ArrayList<>(); //look in JLS for better name here; String methodName = null; ASTArguments args = (ASTArguments) lastNode.jjtGetChild(0); int numOfArguments = args.getArgumentCount(); @@ -386,7 +386,7 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul private ASTExplicitConstructorInvocation eci; private String name; private int count = 0; - private List argumentTypes = new ArrayList(); + private List argumentTypes = new ArrayList<>(); public ConstructorInvocation(ASTExplicitConstructorInvocation eci) { this.eci = eci; @@ -527,10 +527,10 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul public EvalPackage(String className) { this.className = className; - this.calledMethods = new ArrayList();//meths called from constructor - this.allMethodsOfClass = new TreeMap>(new MethodHolderComparator()); - this.calledConstructors = new ArrayList();//all constructors called from constructor - this.allPrivateConstructorsOfClass = new TreeMap>(new ConstructorHolderComparator()); + this.calledMethods = new ArrayList<>();//meths called from constructor + this.allMethodsOfClass = new TreeMap<>(new MethodHolderComparator()); + this.calledConstructors = new ArrayList<>();//all constructors called from constructor + this.allPrivateConstructorsOfClass = new TreeMap<>(new ConstructorHolderComparator()); } public String className; @@ -557,7 +557,7 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul /** * 1 package per class. */ - private final List evalPackages = new ArrayList();//could use java.util.Stack + private final List evalPackages = new ArrayList<>();//could use java.util.Stack private EvalPackage getCurrentEvalPackage() { return evalPackages.get(evalPackages.size() - 1); @@ -797,7 +797,7 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul @Override public Object visit(ASTConstructorDeclaration node, Object data) { if (!(getCurrentEvalPackage() instanceof NullEvalPackage)) {//only evaluate if we have an eval package for this class - List calledMethodsOfConstructor = new ArrayList(); + List calledMethodsOfConstructor = new ArrayList<>(); ConstructorHolder ch = new ConstructorHolder(node); addCalledMethodsOfNode(node, calledMethodsOfConstructor, getCurrentEvalPackage().className); if (!node.isPrivate()) { @@ -834,8 +834,8 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul ASTMethodDeclaration decl = node.getFirstParentOfType(ASTMethodDeclaration.class); h.setCalledMethod(decl.getMethodName()); } - List l = new ArrayList(); - addCalledMethodsOfNode((Node)parent, l, getCurrentEvalPackage().className); + List l = new ArrayList<>(); + addCalledMethodsOfNode(parent, l, getCurrentEvalPackage().className); getCurrentEvalPackage().allMethodsOfClass.put(h, l); } return super.visit(node, data); @@ -846,7 +846,7 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul * Adds all methods called on this instance from within this Node. */ private static void addCalledMethodsOfNode(Node node, List calledMethods, String className) { - List expressions = new ArrayList(); + List expressions = new ArrayList<>(); node.findDescendantsOfType(ASTPrimaryExpression.class, expressions, !(node instanceof AccessNode)); addCalledMethodsOfNodeImpl(expressions, calledMethods, className); } @@ -917,7 +917,7 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul private static List getMethodDeclaratorParameterTypes(Node methodOrConstructorDeclarator) { List parameters = methodOrConstructorDeclarator.findDescendantsOfType(ASTFormalParameter.class); - List parameterTypes = new ArrayList(); + List parameterTypes = new ArrayList<>(); if (parameters != null) { for (ASTFormalParameter p : parameters) { ASTType type = p.getFirstChildOfType(ASTType.class); @@ -934,7 +934,7 @@ public final class ConstructorCallsOverridableMethodRule extends AbstractJavaRul } private static List getArgumentTypes(ASTArguments args) { - List argumentTypes = new ArrayList(); + List argumentTypes = new ArrayList<>(); ASTArgumentList argumentList = args.getFirstChildOfType(ASTArgumentList.class); if (argumentList != null) { for (int a = 0; a < argumentList.jjtGetNumChildren(); a++) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GenericClassCounterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GenericClassCounterRule.java index ca71641bdc..7e1890b35b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GenericClassCounterRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GenericClassCounterRule.java @@ -62,10 +62,10 @@ public class GenericClassCounterRule extends AbstractJavaRule { "Defines how many occurences are legal",new String(),4.0f); - private List namesMatch = new ArrayList(0); - private List typesMatch = new ArrayList(0); - private List matches = new ArrayList(0); - private List simpleClassname = new ArrayList(0); + private List namesMatch = new ArrayList<>(0); + private List typesMatch = new ArrayList<>(0); + private List matches = new ArrayList<>(0); + private List simpleClassname = new ArrayList<>(0); @SuppressWarnings("PMD") // When the rule is finished, this field will be used. @@ -83,7 +83,7 @@ public class GenericClassCounterRule extends AbstractJavaRule { private List arrayAsList(String[] array) { - List list = new ArrayList(array.length); + List list = new ArrayList<>(array.length); int nbItem = 0; while (nbItem < array.length ) { list.add(array[nbItem++]); @@ -101,7 +101,7 @@ public class GenericClassCounterRule extends AbstractJavaRule { String thresholdAsString = getProperty(THRESHOLD_DESCRIPTOR); this.threshold = Integer.valueOf(thresholdAsString); // Initializing list of match - this.matches = new ArrayList(); + this.matches = new ArrayList<>(); } @@ -124,7 +124,7 @@ public class GenericClassCounterRule extends AbstractJavaRule { for (Pattern pattern : this.typesMatch) { if ( RegexHelper.isMatch(pattern,node.getImportedName())) { if ( simpleClassname == null ) { - simpleClassname = new ArrayList(1); + simpleClassname = new ArrayList<>(1); } simpleClassname.add(node.getImportedName()); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GodClassRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GodClassRule.java index e6c362d33c..cc9f0ef301 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GodClassRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/GodClassRule.java @@ -88,7 +88,7 @@ public class GodClassRule extends AbstractJavaRule { public Object visit(ASTCompilationUnit node, Object data) { wmcCounter = 0; atfdCounter = 0; - methodAttributeAccess = new HashMap>(); + methodAttributeAccess = new HashMap<>(); Object result = super.visit(node, data); @@ -150,7 +150,7 @@ public class GodClassRule extends AbstractJavaRule { * @return */ private int determineMethodPairs() { - List methods = new ArrayList(methodAttributeAccess.keySet()); + List methods = new ArrayList<>(methodAttributeAccess.keySet()); int methodCount = methods.size(); int pairs = 0; @@ -161,7 +161,7 @@ public class GodClassRule extends AbstractJavaRule { String secondMethodName = methods.get(j); Set accessesOfFirstMethod = methodAttributeAccess.get(firstMethodName); Set accessesOfSecondMethod = methodAttributeAccess.get(secondMethodName); - Set combinedAccesses = new HashSet(); + Set combinedAccesses = new HashSet<>(); combinedAccesses.addAll(accessesOfFirstMethod); combinedAccesses.addAll(accessesOfSecondMethod); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ImmutableFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ImmutableFieldRule.java index 01bd122e7e..db1d4aaf27 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ImmutableFieldRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ImmutableFieldRule.java @@ -47,7 +47,7 @@ public class ImmutableFieldRule extends AbstractJavaRule { continue; } - int result = initializedInConstructor(entry.getValue(), new HashSet(constructors)); + int result = initializedInConstructor(entry.getValue(), new HashSet<>(constructors)); if (result == MUTABLE) { continue; } @@ -65,7 +65,7 @@ public class ImmutableFieldRule extends AbstractJavaRule { private int initializedInConstructor(List usages, Set allConstructors) { int result = MUTABLE; int methodInitCount = 0; - Set consSet = new HashSet(); + Set consSet = new HashSet<>(); for (NameOccurrence occ: usages) { JavaNameOccurrence jocc = (JavaNameOccurrence)occ; if (jocc.isOnLeftHandSide() || jocc.isSelfAssignment()) { @@ -117,7 +117,7 @@ public class ImmutableFieldRule extends AbstractJavaRule { } private List findAllConstructors(ASTClassOrInterfaceDeclaration node) { - List cons = new ArrayList(); + List cons = new ArrayList<>(); node.getFirstChildOfType(ASTClassOrInterfaceBody.class) .findDescendantsOfType(ASTConstructorDeclaration.class, cons, false); return cons; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/NonThreadSafeSingletonRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/NonThreadSafeSingletonRule.java index 2e62c10ea0..d39d69c577 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/NonThreadSafeSingletonRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/NonThreadSafeSingletonRule.java @@ -24,7 +24,7 @@ import net.sourceforge.pmd.lang.rule.properties.BooleanProperty; public class NonThreadSafeSingletonRule extends AbstractJavaRule { - private Map fieldDecls = new HashMap(); + private Map fieldDecls = new HashMap<>(); private boolean checkNonStaticMethods = true; private boolean checkNonStaticFields = true; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/PositionalIteratorRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/PositionalIteratorRule.java index 550d2cc5e0..1682cd0e65 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/PositionalIteratorRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/PositionalIteratorRule.java @@ -19,7 +19,7 @@ public class PositionalIteratorRule extends AbstractJavaRule { if (exprName.indexOf(".hasNext") != -1 && node.jjtGetNumChildren() > 1) { Node loopBody = node.jjtGetChild(1); - List names = new ArrayList(); + List names = new ArrayList<>(); collectNames(getVariableName(exprName), names, loopBody); int nextCount = 0; for (String name: names) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java index dfe863a867..611d800f4e 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java @@ -143,7 +143,7 @@ public class SingularFieldRule extends AbstractJavaRule { private boolean isInAssignment(Node potentialStatement) { if (potentialStatement instanceof ASTStatementExpression) { ASTStatementExpression statement = (ASTStatementExpression)potentialStatement; - List assignments = new ArrayList(); + List assignments = new ArrayList<>(); statement.findDescendantsOfType(ASTAssignmentOperator.class, assignments, false); return !assignments.isEmpty() && "=".equals(assignments.get(0).getImage()); } else { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseCollectionIsEmptyRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseCollectionIsEmptyRule.java index fd8b737b6b..432c9be82a 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseCollectionIsEmptyRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseCollectionIsEmptyRule.java @@ -52,7 +52,7 @@ public class UseCollectionIsEmptyRule extends AbstractInefficientZeroCheck { @Override public Map> getComparisonTargets() { - Map> rules = new HashMap>(); + Map> rules = new HashMap<>(); rules.put("<", Arrays.asList("0", "1")); rules.put(">", Arrays.asList("0")); rules.put("==", Arrays.asList("0")); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/finalizers/AvoidCallingFinalizeRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/finalizers/AvoidCallingFinalizeRule.java index 6de59975b7..2ab744261d 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/finalizers/AvoidCallingFinalizeRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/finalizers/AvoidCallingFinalizeRule.java @@ -17,7 +17,7 @@ import net.sourceforge.pmd.lang.symboltable.ScopedNode; public class AvoidCallingFinalizeRule extends AbstractJavaRule { - private Set checked = new HashSet(); + private Set checked = new HashSet<>(); public Object visit(ASTCompilationUnit acu, Object ctx) { checked.clear(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/DuplicateImportsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/DuplicateImportsRule.java index 484de593c0..1e598e378c 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/DuplicateImportsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/DuplicateImportsRule.java @@ -19,8 +19,8 @@ public class DuplicateImportsRule extends AbstractJavaRule { private Set importOnDemandImports; public Object visit(ASTCompilationUnit node, Object data) { - singleTypeImports = new HashSet(); - importOnDemandImports = new HashSet(); + singleTypeImports = new HashSet<>(); + importOnDemandImports = new HashSet<>(); super.visit(node, data); // this checks for things like: diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnnecessaryFullyQualifiedNameRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnnecessaryFullyQualifiedNameRule.java index f7461ba905..9b78dd3cde 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnnecessaryFullyQualifiedNameRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnnecessaryFullyQualifiedNameRule.java @@ -16,10 +16,10 @@ import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule; public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule { - private List imports = new ArrayList(); - private List matches = new ArrayList(); - private List violations = new ArrayList(); - private List enumViolations = new ArrayList(); + private List imports = new ArrayList<>(); + private List matches = new ArrayList<>(); + private List violations = new ArrayList<>(); + private List enumViolations = new ArrayList<>(); public UnnecessaryFullyQualifiedNameRule() { super.addRuleChainVisit(ASTCompilationUnit.class); @@ -49,7 +49,7 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule { @Override public Object visit(ASTClassOrInterfaceType node, Object data) { - checkImports(node, data, false); + checkImports(node); return data; } @@ -57,12 +57,12 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule { public Object visit(ASTName node, Object data) { if (!(node.jjtGetParent() instanceof ASTImportDeclaration) && !(node.jjtGetParent() instanceof ASTPackageDeclaration)) { - checkImports(node, data, true); + checkImports(node); } return data; } - private void checkImports(JavaNode node, Object data, boolean checkStatic) { + private void checkImports(JavaNode node) { String name = node.getImage(); matches.clear(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnusedImportsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnusedImportsRule.java index 295ae9f364..31c4ab1981 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnusedImportsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/imports/UnusedImportsRule.java @@ -22,7 +22,7 @@ import net.sourceforge.pmd.lang.rule.ImportWrapper; public class UnusedImportsRule extends AbstractJavaRule { - protected Set imports = new HashSet(); + protected Set imports = new HashSet<>(); @Override public Object visit(ASTCompilationUnit node, Object data) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/javabeans/BeanMembersShouldSerializeRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/javabeans/BeanMembersShouldSerializeRule.java index 4f7153c59d..936ec603dd 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/javabeans/BeanMembersShouldSerializeRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/javabeans/BeanMembersShouldSerializeRule.java @@ -59,7 +59,7 @@ public class BeanMembersShouldSerializeRule extends AbstractJavaRule { Map> methods = node.getScope().getEnclosingScope(ClassScope.class) .getMethodDeclarations(); - List getSetMethList = new ArrayList(methods.size()); + List getSetMethList = new ArrayList<>(methods.size()); for (MethodNameDeclaration d : methods.keySet()) { ASTMethodDeclarator mnd = d.getMethodNameDeclaratorNode(); if (isBeanAccessor(mnd)) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/junit/JUnitAssertionsShouldIncludeMessageRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/junit/JUnitAssertionsShouldIncludeMessageRule.java index f0b3222874..c21ca8722f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/junit/JUnitAssertionsShouldIncludeMessageRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/junit/JUnitAssertionsShouldIncludeMessageRule.java @@ -47,7 +47,7 @@ public class JUnitAssertionsShouldIncludeMessageRule extends AbstractJUnitRule { } } - private List checks = new ArrayList(); + private List checks = new ArrayList<>(); public JUnitAssertionsShouldIncludeMessageRule() { checks.add(new AssertionCall("assertArrayEquals", 2)); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardDebugLoggingRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardDebugLoggingRule.java index 47224c6e44..121a953a22 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardDebugLoggingRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardDebugLoggingRule.java @@ -8,7 +8,7 @@ import java.util.HashMap; public class GuardDebugLoggingRule extends GuardLogStatementRule { public GuardDebugLoggingRule() { - super.guardStmtByLogLevel = new HashMap(1); + super.guardStmtByLogLevel = new HashMap<>(1); super.guardStmtByLogLevel.put(".debug","isDebugEnabled"); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardLogStatementRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardLogStatementRule.java index 0f8b9311c7..204940ddd2 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardLogStatementRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/GuardLogStatementRule.java @@ -36,7 +36,7 @@ public class GuardLogStatementRule extends AbstractOptimizationRule implements R public static final StringMultiProperty GUARD_METHODS = new StringMultiProperty("guardsMethods", "method use to guard the log statement", new String[] {}, 2.0f, ','); - protected Map guardStmtByLogLevel = new HashMap(5); + protected Map guardStmtByLogLevel = new HashMap<>(5); private static final String XPATH_EXPRESSION = "//PrimaryPrefix[ends-with(Name/@Image, 'LOG_LEVEL')]" + "[count(../descendant::AdditiveExpression) > 0]" @@ -57,7 +57,7 @@ public class GuardLogStatementRule extends AbstractOptimizationRule implements R protected void findViolationForEachLogStatement(ASTCompilationUnit unit, Object data, String xpathExpression) { for (Entry entry : guardStmtByLogLevel.entrySet()) { - List nodes = findViolations(unit, entry.getKey(), entry.getValue(), xpathExpression); + List nodes = findViolations(unit, entry.getKey(), entry.getValue(), xpathExpression); for (Node node : nodes) { super.addViolation(data, node); } @@ -65,7 +65,7 @@ public class GuardLogStatementRule extends AbstractOptimizationRule implements R } @SuppressWarnings("unchecked") - private List findViolations(ASTCompilationUnit unit, String logLevel, String guard, String xpathExpression) { + private List findViolations(ASTCompilationUnit unit, String logLevel, String guard, String xpathExpression) { try { return unit.findChildNodesWithXPath(xpathExpression .replaceAll("LOG_LEVEL_UPPERCASE", logLevel.toUpperCase()).replaceAll("LOG_LEVEL", logLevel) @@ -94,8 +94,8 @@ public class GuardLogStatementRule extends AbstractOptimizationRule implements R protected void extractProperties() { if (guardStmtByLogLevel.isEmpty()) { - List logLevels = new ArrayList(Arrays.asList(super.getProperty(LOG_LEVELS))); - List guardMethods = new ArrayList(Arrays.asList(super.getProperty(GUARD_METHODS))); + List logLevels = new ArrayList<>(Arrays.asList(super.getProperty(LOG_LEVELS))); + List guardMethods = new ArrayList<>(Arrays.asList(super.getProperty(GUARD_METHODS))); if (guardMethods.isEmpty() && !logLevels.isEmpty()) { throw new IllegalArgumentException("Can't specify guardMethods without specifiying logLevels."); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/MoreThanOneLoggerRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/MoreThanOneLoggerRule.java index 6f368e42bb..074752f2c3 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/MoreThanOneLoggerRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/logging/MoreThanOneLoggerRule.java @@ -47,7 +47,7 @@ public class MoreThanOneLoggerRule extends AbstractJavaRule { SLF4J_LOGGER = c; } - private Stack stack = new Stack(); + private Stack stack = new Stack<>(); private Integer count; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/JUnitUseExpectedRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/JUnitUseExpectedRule.java index 0175b917bb..f8ab92e75a 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/JUnitUseExpectedRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/JUnitUseExpectedRule.java @@ -57,7 +57,7 @@ public class JUnitUseExpectedRule extends AbstractJUnitRule { if (child instanceof ASTMethodDeclaration) { boolean isJUnitMethod = isJUnitMethod((ASTMethodDeclaration) child, data); if (inAnnotation || isJUnitMethod) { - List found = new ArrayList(); + List found = new ArrayList<>(); found.addAll((List) visit((ASTMethodDeclaration) child, data)); for (Node name : found) { addViolation(data, name); @@ -73,7 +73,7 @@ public class JUnitUseExpectedRule extends AbstractJUnitRule { @Override public Object visit(ASTMethodDeclaration node, Object data) { List catches = node.findDescendantsOfType(ASTTryStatement.class); - List found = new ArrayList(); + List found = new ArrayList<>(); if (catches.isEmpty()) { return found; } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java index 72e48e9f4b..9128141319 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java @@ -33,7 +33,7 @@ import net.sourceforge.pmd.lang.symboltable.NameOccurrence; //TODO This is not referenced by any RuleSet? public class UnnecessaryCastRule extends AbstractJavaRule { - private static Set implClassNames = new HashSet(); + private static Set implClassNames = new HashSet<>(); static { implClassNames.add("List"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/naming/AvoidFieldNameMatchingMethodNameRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/naming/AvoidFieldNameMatchingMethodNameRule.java index a69c9ea43f..32b2077371 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/naming/AvoidFieldNameMatchingMethodNameRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/naming/AvoidFieldNameMatchingMethodNameRule.java @@ -28,8 +28,8 @@ public class AvoidFieldNameMatchingMethodNameRule extends AbstractJavaRule { @Override public Object visit(ASTClassOrInterfaceBody node, Object data) { int n = node.jjtGetNumChildren(); - List fields = new ArrayList(); - Set methodNames = new HashSet(); + List fields = new ArrayList<>(); + Set methodNames = new HashSet<>(); for (int i = 0; i < n; i++) { Node child = node.jjtGetChild(i); if (child.jjtGetNumChildren() == 0) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/optimizations/PrematureDeclarationRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/optimizations/PrematureDeclarationRule.java index b441f07027..c150cb33a3 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/optimizations/PrematureDeclarationRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/optimizations/PrematureDeclarationRule.java @@ -219,7 +219,7 @@ public class PrematureDeclarationRule extends AbstractJavaRule { int count = block.jjtGetNumChildren(); int start = indexOf(block, node.jjtGetParent()) + 1; - List nextBlocks = new ArrayList(count); + List nextBlocks = new ArrayList<>(count); for (int i = start; i < count; i++) { Node maybeBlock = block.jjtGetChild(i); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/regex/RegexHelper.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/regex/RegexHelper.java index c4175292f3..7238a2f444 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/regex/RegexHelper.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/regex/RegexHelper.java @@ -32,14 +32,14 @@ public final class RegexHelper { public static List compilePatternsFromList(List list) { List patterns; if (list != null && !list.isEmpty()) { - patterns = new ArrayList(list.size()); + patterns = new ArrayList<>(list.size()); for (String stringPattern : list) { if (stringPattern != null && !"".equals(stringPattern)) { patterns.add(Pattern.compile(stringPattern)); } } } else { - patterns = new ArrayList(0); + patterns = new ArrayList<>(0); } return patterns; } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/AvoidDuplicateLiteralsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/AvoidDuplicateLiteralsRule.java index 5bc4084d0c..67d393365a 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/AvoidDuplicateLiteralsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/AvoidDuplicateLiteralsRule.java @@ -60,7 +60,7 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule { } public Set parse(String s) { - Set result = new HashSet(); + Set result = new HashSet<>(); StringBuilder currentToken = new StringBuilder(); boolean inEscapeMode = false; for (int i = 0; i < s.length(); i++) { @@ -87,8 +87,8 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule { } } - private Map> literals = new HashMap>(); - private Set exceptions = new HashSet(); + private Map> literals = new HashMap<>(); + private Set exceptions = new HashSet<>(); private int minLength; public AvoidDuplicateLiteralsRule() { @@ -112,7 +112,7 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule { ExceptionParser p = new ExceptionParser(getProperty(SEPARATOR_DESCRIPTOR)); exceptions = p.parse(getProperty(EXCEPTION_LIST_DESCRIPTOR)); } else if (getProperty(EXCEPTION_FILE_DESCRIPTOR) != null) { - exceptions = new HashSet(); + exceptions = new HashSet<>(); LineNumberReader reader = null; try { reader = getLineReader(); @@ -179,7 +179,7 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule { List occurrences = literals.get(image); occurrences.add(node); } else { - List occurrences = new ArrayList(); + List occurrences = new ArrayList<>(); occurrences.add(node); literals.put(image, occurrences); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/ConsecutiveLiteralAppendsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/ConsecutiveLiteralAppendsRule.java index e07130c240..a7183225ec 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/ConsecutiveLiteralAppendsRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/ConsecutiveLiteralAppendsRule.java @@ -63,7 +63,7 @@ public class ConsecutiveLiteralAppendsRule extends AbstractJavaRule { private final static Set> BLOCK_PARENTS; static { - BLOCK_PARENTS = new HashSet>(); + BLOCK_PARENTS = new HashSet<>(); BLOCK_PARENTS.add(ASTForStatement.class); BLOCK_PARENTS.add(ASTWhileStatement.class); BLOCK_PARENTS.add(ASTDoStatement.class); @@ -337,17 +337,18 @@ public class ConsecutiveLiteralAppendsRule extends AbstractJavaRule { */ private Node getSwitchParent(Node parentNode, Node lastNode) { int allChildren = parentNode.jjtGetNumChildren(); + Node result = parentNode; ASTSwitchLabel label = null; for (int ix = 0; ix < allChildren; ix++) { - Node n = parentNode.jjtGetChild(ix); + Node n = result.jjtGetChild(ix); if (n instanceof ASTSwitchLabel) { label = (ASTSwitchLabel) n; } else if (n.equals(lastNode)) { - parentNode = label; + result = label; break; } } - return parentNode; + return result; } /** diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InsufficientStringBufferDeclarationRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InsufficientStringBufferDeclarationRule.java index 5d977dd954..6859c48c1f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InsufficientStringBufferDeclarationRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InsufficientStringBufferDeclarationRule.java @@ -3,7 +3,6 @@ */ package net.sourceforge.pmd.lang.java.rule.strings; -import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -46,7 +45,7 @@ public class InsufficientStringBufferDeclarationRule extends AbstractJavaRule { private final static Set> BLOCK_PARENTS; static { - BLOCK_PARENTS = new HashSet>(2); + BLOCK_PARENTS = new HashSet<>(2); BLOCK_PARENTS.add(ASTIfStatement.class); BLOCK_PARENTS.add(ASTSwitchStatement.class); } @@ -68,7 +67,7 @@ public class InsufficientStringBufferDeclarationRule extends AbstractJavaRule { anticipatedLength += getConstructorAppendsLength(node); List usage = node.getUsages(); - Map> blocks = new HashMap>(); + Map> blocks = new HashMap<>(); for (NameOccurrence no : usage) { JavaNameOccurrence jno = (JavaNameOccurrence)no; Node n = jno.getLocation(); @@ -140,7 +139,7 @@ public class InsufficientStringBufferDeclarationRule extends AbstractJavaRule { } Map thisBranch = blocks.get(statement); if (thisBranch == null) { - thisBranch = new HashMap(); + thisBranch = new HashMap<>(); blocks.put(statement, thisBranch); } Integer x = thisBranch.get(block); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/UseStringBufferLengthRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/UseStringBufferLengthRule.java index e1f90234c5..07d65a38e6 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/UseStringBufferLengthRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/UseStringBufferLengthRule.java @@ -46,7 +46,7 @@ public class UseStringBufferLengthRule extends AbstractJavaRule { * StringBuffer declarations - check each usage - flag those that involve * variable.toString() */ - private Set alreadySeen = new HashSet(); + private Set alreadySeen = new HashSet<>(); @Override public Object visit(ASTMethodDeclaration acu, Object data) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/sunsecure/ArrayIsStoredDirectlyRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/sunsecure/ArrayIsStoredDirectlyRule.java index 9fec7141b3..7c05809c26 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/sunsecure/ArrayIsStoredDirectlyRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/sunsecure/ArrayIsStoredDirectlyRule.java @@ -149,7 +149,7 @@ public class ArrayIsStoredDirectlyRule extends AbstractSunSecureRule { private final ASTFormalParameter[] getArrays(ASTFormalParameters params) { final List l = params.findChildrenOfType(ASTFormalParameter.class); if (l != null && !l.isEmpty()) { - List l2 = new ArrayList(); + List l2 = new ArrayList<>(); for (ASTFormalParameter fp: l) { if (fp.isArray()) { l2.add(fp); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOperationOnImmutableRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOperationOnImmutableRule.java index d0a15fe454..a0d9f94abc 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOperationOnImmutableRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOperationOnImmutableRule.java @@ -41,7 +41,7 @@ public class UselessOperationOnImmutableRule extends AbstractJavaRule { /** * These are the classes that the rule can apply to */ - private static final Map> MAP_CLASSES = new HashMap>(); + private static final Map> MAP_CLASSES = new HashMap<>(); static { MAP_CLASSES.put("java.math.BigDecimal", BIG_DECIMAL_METHODS); MAP_CLASSES.put("BigDecimal", BIG_DECIMAL_METHODS); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOverridingMethodRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOverridingMethodRule.java index 34a3c2071b..df17c94618 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOverridingMethodRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unnecessary/UselessOverridingMethodRule.java @@ -46,7 +46,7 @@ public class UselessOverridingMethodRule extends AbstractJavaRule { public UselessOverridingMethodRule() { definePropertyDescriptor(IGNORE_ANNOTATIONS_DESCRIPTOR); - exceptions = new ArrayList(1); + exceptions = new ArrayList<>(1); exceptions.add("CloneNotSupportedException"); } @@ -229,7 +229,7 @@ public class UselessOverridingMethodRule extends AbstractJavaRule { } public List findFirstDegreeChildrenOfType(Node n, Class targetType) { - List l = new ArrayList(); + List l = new ArrayList<>(); lclFindChildrenOfType(n, targetType, l); return l; } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateFieldRule.java index 3ab7f479ee..959b781f0b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateFieldRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateFieldRule.java @@ -34,7 +34,7 @@ public class UnusedPrivateFieldRule extends AbstractJavaRule { private boolean lombokImported = false; private static final String LOMBOK_PACKAGE = "lombok"; - private static final Set LOMBOK_ANNOTATIONS = new HashSet(); + private static final Set LOMBOK_ANNOTATIONS = new HashSet<>(); static { LOMBOK_ANNOTATIONS.add("Data"); LOMBOK_ANNOTATIONS.add("Getter"); @@ -136,7 +136,7 @@ public class UnusedPrivateFieldRule extends AbstractJavaRule { .findChildrenOfType(ASTClassOrInterfaceBodyDeclaration.class); List enumConstants = body .findChildrenOfType(ASTEnumConstant.class); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.addAll(classOrInterfaceBodyDeclarations); nodes.addAll(enumConstants); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateMethodRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateMethodRule.java index 5f2ec75d83..da5a10759b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateMethodRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedPrivateMethodRule.java @@ -60,8 +60,8 @@ public class UnusedPrivateMethodRule extends AbstractJavaRule { // some rather hideous hackery here // to work around the fact that PMD does not yet do full type analysis // when it does, delete this - Set unique = new HashSet(); - Set sigs = new HashSet(); + Set unique = new HashSet<>(); + Set sigs = new HashSet<>(); for (MethodNameDeclaration mnd: methods.keySet()) { String sig = mnd.getImage() + mnd.getParameterCount() + mnd.isVarargs(); if (!sigs.contains(sig)) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java index 0cd0a9be12..65299a3fce 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java @@ -136,7 +136,7 @@ public class ClassScope extends AbstractJavaScope { } protected Set findVariableHere(JavaNameOccurrence occurrence) { - Set result = new HashSet(); + Set result = new HashSet<>(); Map> methodDeclarations = getMethodDeclarations(); Map> variableDeclarations = getVariableDeclarations(); if (occurrence.isThisOrSuper() || occurrence.getImage() != null && occurrence.getImage().equals(className)) { @@ -219,7 +219,7 @@ public class ClassScope extends AbstractJavaScope { return result; } - List images = new ArrayList(); + List images = new ArrayList<>(); if (occurrence.getImage() != null) { images.add(occurrence.getImage()); if (occurrence.getImage().startsWith(className)) { @@ -297,7 +297,7 @@ public class ClassScope extends AbstractJavaScope { * @return List of types */ private List determineParameterTypes(MethodNameDeclaration mnd) { - List parameterTypes = new ArrayList(); + List parameterTypes = new ArrayList<>(); List parameters = mnd.getMethodNameDeclaratorNode().findDescendantsOfType( ASTFormalParameter.class); for (ASTFormalParameter p : parameters) { @@ -322,7 +322,7 @@ public class ClassScope extends AbstractJavaScope { return null; } - Set qualifiedNames = new LinkedHashSet(); + Set qualifiedNames = new LinkedHashSet<>(); qualifiedNames.addAll(this.getEnclosingScope(SourceFileScope.class).getQualifiedTypeNames().keySet()); qualifiedNames.addAll(this.getEnclosingScope(SourceFileScope.class).getExplicitImports()); @@ -353,7 +353,7 @@ public class ClassScope extends AbstractJavaScope { */ private List determineArgumentTypes(JavaNameOccurrence occurrence, List parameterTypes) { - List argumentTypes = new ArrayList(); + List argumentTypes = new ArrayList<>(); Map qualifiedTypeNames = getEnclosingScope(SourceFileScope.class).getQualifiedTypeNames(); ASTArgumentList arguments = null; Node nextSibling = null; @@ -514,7 +514,7 @@ public class ClassScope extends AbstractJavaScope { * @return the resolved class or null if nothing was found. */ private Class resolveGenericType(Node argument, String typeImage) { - List types = new ArrayList(); + List types = new ArrayList<>(); // first search only within the same method ASTClassOrInterfaceBodyDeclaration firstParentOfType = argument.getFirstParentOfType(ASTClassOrInterfaceBodyDeclaration.class); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunction.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunction.java index 716a2386a9..263d503922 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunction.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunction.java @@ -12,7 +12,7 @@ import net.sourceforge.pmd.util.UnaryFunction; public class ImageFinderFunction implements UnaryFunction { - private Set images = new HashSet(); + private Set images = new HashSet<>(); private NameDeclaration decl; public ImageFinderFunction(String img) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/LocalScope.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/LocalScope.java index c546d9d8d2..d6f8d5da64 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/LocalScope.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/LocalScope.java @@ -3,7 +3,6 @@ */ package net.sourceforge.pmd.lang.java.symboltable; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -49,7 +48,7 @@ public class LocalScope extends AbstractJavaScope { } public Set findVariableHere(JavaNameOccurrence occurrence) { - Set result = new HashSet(); + Set result = new HashSet<>(); if (occurrence.isThisOrSuper() || occurrence.isMethodOrConstructorInvocation()) { return result; } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/MethodScope.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/MethodScope.java index c1f0b22d2c..91535ab957 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/MethodScope.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/MethodScope.java @@ -52,7 +52,7 @@ public class MethodScope extends AbstractJavaScope { } public Set findVariableHere(JavaNameOccurrence occurrence) { - Set result = new HashSet(); + Set result = new HashSet<>(); if (occurrence.isThisOrSuper() || occurrence.isMethodOrConstructorInvocation()) { return result; } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/NameFinder.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/NameFinder.java index 05515ece66..8b44c22d73 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/NameFinder.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/NameFinder.java @@ -20,7 +20,7 @@ import net.sourceforge.pmd.lang.symboltable.NameOccurrence; public class NameFinder { - private List names = new ArrayList(); + private List names = new ArrayList<>(); public NameFinder(ASTPrimaryExpression node) { ASTPrimaryPrefix prefix = (ASTPrimaryPrefix) node.jjtGetChild(0); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/OccurrenceFinder.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/OccurrenceFinder.java index 6af6059a04..25e33d37b6 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/OccurrenceFinder.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/OccurrenceFinder.java @@ -19,7 +19,7 @@ public class OccurrenceFinder extends JavaParserVisitorAdapter { // Maybe do some sort of State pattern thingy for when NameDeclaration // is empty/not empty? - Set declarations = new HashSet(); + Set declarations = new HashSet<>(); List names = nameFinder.getNames(); for (JavaNameOccurrence occ : names) { @@ -36,7 +36,7 @@ public class OccurrenceFinder extends JavaParserVisitorAdapter { break; } } else { - Set additionalDeclarations = new HashSet(); + Set additionalDeclarations = new HashSet<>(); for (NameDeclaration decl : declarations) { // now we've got a scope we're starting with, so work from there Scope startingScope = decl.getScope(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ScopeAndDeclarationFinder.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ScopeAndDeclarationFinder.java index 0a36bd6ed3..0a187a5124 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ScopeAndDeclarationFinder.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ScopeAndDeclarationFinder.java @@ -69,7 +69,7 @@ public class ScopeAndDeclarationFinder extends JavaParserVisitorAdapter { * A stack of scopes reflecting the scope hierarchy when a node is visited. * This is used to set the parents of the created scopes correctly. */ - private Stack scopes = new Stack(); + private Stack scopes = new Stack<>(); /** * Sets the scope of a node and adjusts the scope stack accordingly. diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/Search.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/Search.java index 69044d1e58..306639eabc 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/Search.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/Search.java @@ -14,7 +14,7 @@ public class Search { private static final boolean TRACE = false; private NameOccurrence occ; - private Set declarations = new HashSet(); + private Set declarations = new HashSet<>(); public Search(JavaNameOccurrence occ) { if (TRACE) { @@ -59,6 +59,6 @@ public class Search { } return scope.addNameOccurrence(nameOccurrence); } - return new HashSet(); + return new HashSet<>(); } } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SimpleTypedNameDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SimpleTypedNameDeclaration.java index ea21137aad..1d0869207a 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SimpleTypedNameDeclaration.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SimpleTypedNameDeclaration.java @@ -167,7 +167,7 @@ public class SimpleTypedNameDeclaration implements TypedNameDeclaration { return true; } - private static Set primitiveTypes = new HashSet(); + private static Set primitiveTypes = new HashSet<>(); static { primitiveTypes.add("float"); primitiveTypes.add("double"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScope.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScope.java index 123a1198a2..c037b7a5be 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScope.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScope.java @@ -115,7 +115,7 @@ public class SourceFileScope extends AbstractJavaScope { } protected Set findVariableHere(JavaNameOccurrence occ) { - Set result = new HashSet(); + Set result = new HashSet<>(); ImageFinderFunction finder = new ImageFinderFunction(occ.getImage()); Applier.apply(finder, getDeclarations().keySet().iterator()); if (finder.getDecl() != null) { @@ -134,7 +134,7 @@ public class SourceFileScope extends AbstractJavaScope { } private Map getSubTypes(String qualifyingName, Scope subType) { - Map types = new HashMap(); + Map types = new HashMap<>(); for (ClassNameDeclaration c : subType.getDeclarations(ClassNameDeclaration.class).keySet()) { String typeName = c.getName(); if (qualifyingName != null) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/TypeSet.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/TypeSet.java index af63cb8f04..c5bc0a185b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/TypeSet.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/TypeSet.java @@ -183,7 +183,7 @@ public class TypeSet { * Resolver that resolves primitive types such as int or double. */ public static class PrimitiveTypeResolver implements Resolver { - private Map> primitiveTypes = new HashMap>(); + private Map> primitiveTypes = new HashMap<>(); /** * Creates a new {@link PrimitiveTypeResolver}. */ @@ -242,8 +242,8 @@ public class TypeSet { } private String pkg; - private Set imports = new HashSet(); - private List resolvers = new ArrayList(); + private Set imports = new HashSet<>(); + private List resolvers = new ArrayList<>(); public void setASTCompilationUnitPackage(String pkg) { this.pkg = pkg; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunction.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunction.java index 6f5bc28452..7d46e82441 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunction.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunction.java @@ -13,7 +13,7 @@ import net.sourceforge.pmd.util.UnaryFunction; public class VariableUsageFinderFunction implements UnaryFunction { - private Map> results = new HashMap>(); + private Map> results = new HashMap<>(); private Map> decls; diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java index 8daa2eeab4..606dac5706 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java @@ -78,7 +78,7 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter { static { // Note: Assumption here that primitives come from same parent ClassLoader regardless of what ClassLoader we are passed - Map> thePrimitiveTypes = new HashMap>(); + Map> thePrimitiveTypes = new HashMap<>(); thePrimitiveTypes.put("void", Void.TYPE); thePrimitiveTypes.put("boolean", Boolean.TYPE); thePrimitiveTypes.put("byte", Byte.TYPE); @@ -90,7 +90,7 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter { thePrimitiveTypes.put("double", Double.TYPE); PRIMITIVE_TYPES = Collections.unmodifiableMap(thePrimitiveTypes); - Map theJavaLang = new HashMap(); + Map theJavaLang = new HashMap<>(); theJavaLang.put("Boolean", "java.lang.Boolean"); theJavaLang.put("Byte", "java.lang.Byte"); theJavaLang.put("Character", "java.lang.Character"); @@ -146,8 +146,8 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter { public Object visit(ASTCompilationUnit node, Object data) { String className = null; try { - importedOnDemand = new ArrayList(); - importedClasses = new HashMap(); + importedOnDemand = new ArrayList<>(); + importedClasses = new HashMap<>(); className = getClassName(node); if (className != null) { populateClassName(node, className); @@ -562,32 +562,28 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter { // Roll up the type based on type of the first child node. private void rollupTypeUnary(TypeNode typeNode) { - if (typeNode instanceof Node) { - Node node = (Node)typeNode; - if (node.jjtGetNumChildren() >= 1) { - Node child = node.jjtGetChild(0); - if (child instanceof TypeNode) { - typeNode.setType(((TypeNode)child).getType()); - } + Node node = typeNode; + if (node.jjtGetNumChildren() >= 1) { + Node child = node.jjtGetChild(0); + if (child instanceof TypeNode) { + typeNode.setType(((TypeNode)child).getType()); } } } // Roll up the type based on type of the first child node using Unary Numeric Promotion per JLS 5.6.1 private void rollupTypeUnaryNumericPromotion(TypeNode typeNode) { - if (typeNode instanceof Node) { - Node node = (Node)typeNode; - if (node.jjtGetNumChildren() >= 1) { - Node child = node.jjtGetChild(0); - if (child instanceof TypeNode) { - Class type = ((TypeNode)child).getType(); - if (type != null) { - if ("byte".equals(type.getName()) || "short".equals(type.getName()) - || "char".equals(type.getName())) { - populateType(typeNode, "int"); - } else { - typeNode.setType(((TypeNode)child).getType()); - } + Node node = typeNode; + if (node.jjtGetNumChildren() >= 1) { + Node child = node.jjtGetChild(0); + if (child instanceof TypeNode) { + Class type = ((TypeNode)child).getType(); + if (type != null) { + if ("byte".equals(type.getName()) || "short".equals(type.getName()) + || "char".equals(type.getName())) { + populateType(typeNode, "int"); + } else { + typeNode.setType(((TypeNode)child).getType()); } } } @@ -596,36 +592,34 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter { // Roll up the type based on type of the first and second child nodes using Binary Numeric Promotion per JLS 5.6.2 private void rollupTypeBinaryNumericPromotion(TypeNode typeNode) { - if (typeNode instanceof Node) { - Node node = (Node)typeNode; - if (node.jjtGetNumChildren() >= 2) { - Node child1 = node.jjtGetChild(0); - Node child2 = node.jjtGetChild(1); - if (child1 instanceof TypeNode && child2 instanceof TypeNode) { - Class type1 = ((TypeNode)child1).getType(); - Class type2 = ((TypeNode)child2).getType(); - if (type1 != null && type2 != null) { - // Yeah, String is not numeric, but easiest place to handle it, only affects ASTAdditiveExpression - if ("java.lang.String".equals(type1.getName()) || "java.lang.String".equals(type2.getName())) { - populateType(typeNode, "java.lang.String"); - } else if ("boolean".equals(type1.getName()) || "boolean".equals(type2.getName())) { - populateType(typeNode, "boolean"); - } else if ("double".equals(type1.getName()) || "double".equals(type2.getName())) { - populateType(typeNode, "double"); - } else if ("float".equals(type1.getName()) || "float".equals(type2.getName())) { - populateType(typeNode, "float"); - } else if ("long".equals(type1.getName()) || "long".equals(type2.getName())) { - populateType(typeNode, "long"); - } else { - populateType(typeNode, "int"); - } - } else if (type1 != null || type2 != null) { - // If one side is known to be a String, then the result is a String - // Yeah, String is not numeric, but easiest place to handle it, only affects ASTAdditiveExpression - if (type1 != null && "java.lang.String".equals(type1.getName()) - || type2 != null && "java.lang.String".equals(type2.getName())) { - populateType(typeNode, "java.lang.String"); - } + Node node = typeNode; + if (node.jjtGetNumChildren() >= 2) { + Node child1 = node.jjtGetChild(0); + Node child2 = node.jjtGetChild(1); + if (child1 instanceof TypeNode && child2 instanceof TypeNode) { + Class type1 = ((TypeNode)child1).getType(); + Class type2 = ((TypeNode)child2).getType(); + if (type1 != null && type2 != null) { + // Yeah, String is not numeric, but easiest place to handle it, only affects ASTAdditiveExpression + if ("java.lang.String".equals(type1.getName()) || "java.lang.String".equals(type2.getName())) { + populateType(typeNode, "java.lang.String"); + } else if ("boolean".equals(type1.getName()) || "boolean".equals(type2.getName())) { + populateType(typeNode, "boolean"); + } else if ("double".equals(type1.getName()) || "double".equals(type2.getName())) { + populateType(typeNode, "double"); + } else if ("float".equals(type1.getName()) || "float".equals(type2.getName())) { + populateType(typeNode, "float"); + } else if ("long".equals(type1.getName()) || "long".equals(type2.getName())) { + populateType(typeNode, "long"); + } else { + populateType(typeNode, "int"); + } + } else if (type1 != null || type2 != null) { + // If one side is known to be a String, then the result is a String + // Yeah, String is not numeric, but easiest place to handle it, only affects ASTAdditiveExpression + if (type1 != null && "java.lang.String".equals(type1.getName()) + || type2 != null && "java.lang.String".equals(type2.getName())) { + populateType(typeNode, "java.lang.String"); } } } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/PMDASMClassLoader.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/PMDASMClassLoader.java index f83167398e..53e2e04470 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/PMDASMClassLoader.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/PMDASMClassLoader.java @@ -55,7 +55,7 @@ public final class PMDASMClassLoader extends ClassLoader { } /** Caches the names of the classes that we can't load or that don't exist. */ - private final Set dontBother = new HashSet(); + private final Set dontBother = new HashSet<>(); @Override public synchronized Class loadClass(String name) throws ClassNotFoundException { @@ -88,7 +88,7 @@ public final class PMDASMClassLoader extends ClassLoader { List inner = asmVisitor.getInnerClasses(); if (inner != null && !inner.isEmpty()) { - inner = new ArrayList(inner); // to avoid + inner = new ArrayList<>(inner); // to avoid // ConcurrentModificationException for (String str : inner) { InputStream i = getResourceAsStream(str.replace('.', '/') + ".class"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/visitors/PMDASMVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/visitors/PMDASMVisitor.java index 0686fc1096..0f9a566bc0 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/visitors/PMDASMVisitor.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/visitors/PMDASMVisitor.java @@ -27,7 +27,7 @@ public class PMDASMVisitor extends ClassVisitor { private String outerName; - private Map packages = new HashMap(); + private Map packages = new HashMap<>(); private AnnotationVisitor annotationVisitor = new PMDAnnotationVisitor(this); @@ -129,7 +129,7 @@ public class PMDASMVisitor extends ClassVisitor { } if (innerClasses == null) { - innerClasses = new ArrayList(); + innerClasses = new ArrayList<>(); } if (!innerClasses.contains(name.replace('/', '.'))) { innerClasses.add(name.replace('/', '.')); @@ -379,7 +379,7 @@ public class PMDASMVisitor extends ClassVisitor { public void visitIincInsn(int var, int increment) { } - public void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels) { + public void visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) { } public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) { diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/cpd/MatchAlgorithmTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/cpd/MatchAlgorithmTest.java index b9032a41c4..ff04477bd3 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/cpd/MatchAlgorithmTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/cpd/MatchAlgorithmTest.java @@ -5,7 +5,6 @@ package net.sourceforge.pmd.cpd; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import java.util.HashMap; import java.util.Iterator; @@ -46,7 +45,7 @@ public class MatchAlgorithmTest { TokenEntry.clearImages(); tokenizer.tokenize(sourceCode, tokens); assertEquals(41, tokens.size()); - Map codeMap = new HashMap(); + Map codeMap = new HashMap<>(); codeMap.put("Foo.java", sourceCode); MatchAlgorithm matchAlgorithm = new MatchAlgorithm(codeMap, tokens, 5); @@ -78,7 +77,7 @@ public class MatchAlgorithmTest { Tokens tokens = new Tokens(); TokenEntry.clearImages(); tokenizer.tokenize(sourceCode, tokens); - Map codeMap = new HashMap(); + Map codeMap = new HashMap<>(); codeMap.put("Foo.java", sourceCode); MatchAlgorithm matchAlgorithm = new MatchAlgorithm(codeMap, tokens, 5); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/jaxen/DocumentNavigatorTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/jaxen/DocumentNavigatorTest.java index 8d0af01f0d..b8098e90f8 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/jaxen/DocumentNavigatorTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/jaxen/DocumentNavigatorTest.java @@ -89,7 +89,7 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testChildAxisIterator() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getChildAxisIterator(rule.compilationUnit); + Iterator iter = nav.getChildAxisIterator(rule.compilationUnit); assertSame(rule.compilationUnit.jjtGetChild(0), iter.next()); assertSame(rule.compilationUnit.jjtGetChild(1), iter.next()); assertFalse(iter.hasNext()); @@ -98,7 +98,7 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testParentAxisIterator() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getParentAxisIterator(rule.importDeclaration); + Iterator iter = nav.getParentAxisIterator(rule.importDeclaration); assertSame(rule.importDeclaration.jjtGetParent(), iter.next()); assertFalse(iter.hasNext()); } @@ -106,14 +106,14 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testParentAxisIterator2() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getParentAxisIterator(rule.compilationUnit); + Iterator iter = nav.getParentAxisIterator(rule.compilationUnit); assertFalse(iter.hasNext()); } @Test public void testDescendantAxisIterator() throws UnsupportedAxisException { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getDescendantAxisIterator(rule.statement); + Iterator iter = nav.getDescendantAxisIterator(rule.statement); Node statementExpression = rule.statement.jjtGetChild(0); assertSame(statementExpression, iter.next()); Node primaryExpression = statementExpression.jjtGetChild(0); @@ -132,7 +132,7 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testDescendantAxisIterator2() throws UnsupportedAxisException { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getDescendantAxisIterator(rule.primaryPrefix); + Iterator iter = nav.getDescendantAxisIterator(rule.primaryPrefix); Node name = rule.primaryPrefix.jjtGetChild(0); assertSame(name, iter.next()); assertFalse(iter.hasNext()); @@ -141,7 +141,7 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testFollowingSiblingAxisIterator() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getFollowingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(0)); + Iterator iter = nav.getFollowingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(0)); assertSame(rule.primaryExpression.jjtGetChild(1), iter.next()); assertFalse(iter.hasNext()); } @@ -149,14 +149,14 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testFollowingSiblingAxisIterator2() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getFollowingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(1)); + Iterator iter = nav.getFollowingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(1)); assertFalse(iter.hasNext()); } @Test public void testPrecedingSiblingAxisIterator() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getPrecedingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(1)); + Iterator iter = nav.getPrecedingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(1)); assertSame(rule.primaryExpression.jjtGetChild(0), iter.next()); assertFalse(iter.hasNext()); } @@ -164,21 +164,21 @@ public class DocumentNavigatorTest extends RuleTst { @Test public void testPrecedingSiblingAxisIterator2() { DocumentNavigator nav = new DocumentNavigator(); - Iterator iter = nav.getPrecedingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(0)); + Iterator iter = nav.getPrecedingSiblingAxisIterator(rule.primaryExpression.jjtGetChild(0)); assertFalse(iter.hasNext()); } @Test public void testXPath() throws JaxenException { BaseXPath xPath = new BaseXPath(".//*", new DocumentNavigator()); - List matches = xPath.selectNodes(rule.statement); + List matches = xPath.selectNodes(rule.statement); assertEquals(6, matches.size()); } @Test public void testXPath2() throws JaxenException { BaseXPath xPath = new BaseXPath(".//*", new DocumentNavigator()); - List matches = xPath.selectNodes(rule.importDeclaration); + List matches = xPath.selectNodes(rule.importDeclaration); assertEquals(1, matches.size()); } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ParserTst.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ParserTst.java index 820a7d7d4a..335ac27b21 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ParserTst.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ParserTst.java @@ -59,7 +59,7 @@ public abstract class ParserTst { } public Set getNodes(LanguageVersion languageVersion, Class clazz, String javaCode) throws Throwable { - Collector coll = new Collector(clazz); + Collector coll = new Collector<>(clazz); LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler(); ASTCompilationUnit cu = (ASTCompilationUnit)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(javaCode)); JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[]{JavaParserVisitor.class}, coll); @@ -68,7 +68,7 @@ public abstract class ParserTst { } public List getOrderedNodes(Class clazz, String javaCode) throws Throwable { - Collector coll = new Collector(clazz, new ArrayList()); + Collector coll = new Collector<>(clazz, new ArrayList()); LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler(); ASTCompilationUnit cu = (ASTCompilationUnit)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(javaCode)); JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[]{JavaParserVisitor.class}, coll); @@ -94,7 +94,7 @@ public abstract class ParserTst { public ASTCompilationUnit buildDFA(String javaCode) throws Throwable { LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler(); ASTCompilationUnit cu = (ASTCompilationUnit)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(javaCode)); - JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[]{JavaParserVisitor.class}, new Collector(ASTCompilationUnit.class)); + JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[]{JavaParserVisitor.class}, new Collector<>(ASTCompilationUnit.class)); jpv.visit(cu, null); new SymbolFacade().initializeWith(cu); new DataFlowFacade().initializeWith(languageVersionHandler.getDataFlowHandler(), cu); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperatorTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperatorTest.java index b9b425615a..aadec1e584 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperatorTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperatorTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd.lang.java.ast; import static org.junit.Assert.assertFalse; @@ -14,20 +17,20 @@ public class ASTAssignmentOperatorTest extends ParserTst { @Test public void testSimpleAssignmentRecognized() throws Throwable { - Set ops = super.getNodes(ASTAssignmentOperator.class, TEST1); - assertFalse(((ASTAssignmentOperator) (ops.iterator().next())).isCompound()); + Set ops = super.getNodes(ASTAssignmentOperator.class, TEST1); + assertFalse((ops.iterator().next()).isCompound()); } @Test public void testCompoundAssignmentPlusRecognized() throws Throwable { - Set ops = super.getNodes(ASTAssignmentOperator.class, TEST2); - assertTrue(((ASTAssignmentOperator) (ops.iterator().next())).isCompound()); + Set ops = super.getNodes(ASTAssignmentOperator.class, TEST2); + assertTrue((ops.iterator().next()).isCompound()); } @Test public void testCompoundAssignmentMultRecognized() throws Throwable { - Set ops = super.getNodes(ASTAssignmentOperator.class, TEST3); - assertTrue(((ASTAssignmentOperator) (ops.iterator().next())).isCompound()); + Set ops = super.getNodes(ASTAssignmentOperator.class, TEST3); + assertTrue((ops.iterator().next()).isCompound()); } private static final String TEST1 = diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteralTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteralTest.java index 414e8905df..88bbfe4382 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteralTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteralTest.java @@ -14,15 +14,15 @@ public class ASTBooleanLiteralTest extends ParserTst { @Test public void testTrue() throws Throwable { - Set ops = getNodes(ASTBooleanLiteral.class, TEST1); - ASTBooleanLiteral b = (ASTBooleanLiteral) ops.iterator().next(); + Set ops = getNodes(ASTBooleanLiteral.class, TEST1); + ASTBooleanLiteral b = ops.iterator().next(); assertTrue(b.isTrue()); } @Test public void testFalse() throws Throwable { - Set ops = getNodes(ASTBooleanLiteral.class, TEST2); - ASTBooleanLiteral b = (ASTBooleanLiteral) ops.iterator().next(); + Set ops = getNodes(ASTBooleanLiteral.class, TEST2); + ASTBooleanLiteral b = ops.iterator().next(); assertFalse(b.isTrue()); } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTLiteralTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTLiteralTest.java index 5f43dc1dd3..7ad6be689e 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTLiteralTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTLiteralTest.java @@ -15,44 +15,44 @@ public class ASTLiteralTest extends ParserTst { @Test public void testIsStringLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST1); - assertTrue(((ASTLiteral)(literals.iterator().next())).isStringLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST1); + assertTrue((literals.iterator().next()).isStringLiteral()); } @Test public void testIsNotStringLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST2); - assertFalse(((ASTLiteral)(literals.iterator().next())).isStringLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST2); + assertFalse((literals.iterator().next()).isStringLiteral()); } @Test public void testIsIntIntLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST3); - assertTrue(((ASTLiteral)(literals.iterator().next())).isIntLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST3); + assertTrue((literals.iterator().next()).isIntLiteral()); } @Test public void testIsIntLongLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST4); - assertTrue(((ASTLiteral)(literals.iterator().next())).isLongLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST4); + assertTrue((literals.iterator().next()).isLongLiteral()); } @Test public void testIsFloatFloatLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST5); - assertTrue(((ASTLiteral)(literals.iterator().next())).isFloatLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST5); + assertTrue((literals.iterator().next()).isFloatLiteral()); } @Test public void testIsFloatDoubleLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST6); - assertTrue(((ASTLiteral)(literals.iterator().next())).isDoubleLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST6); + assertTrue((literals.iterator().next()).isDoubleLiteral()); } @Test public void testIsCharLiteral() throws Throwable { - Set literals = getNodes(ASTLiteral.class, TEST7); - assertTrue(((ASTLiteral)(literals.iterator().next())).isCharLiteral()); + Set literals = getNodes(ASTLiteral.class, TEST7); + assertTrue((literals.iterator().next()).isCharLiteral()); } @Test diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffixTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffixTest.java index 8dca85a9ba..cc994d8cc7 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffixTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffixTest.java @@ -13,14 +13,14 @@ public class ASTPrimarySuffixTest extends ParserTst { @Test public void testArrayDereference() throws Throwable { - Set ops = getNodes(ASTPrimarySuffix.class, TEST1); - assertTrue(((ASTPrimarySuffix) (ops.iterator().next())).isArrayDereference()); + Set ops = getNodes(ASTPrimarySuffix.class, TEST1); + assertTrue(ops.iterator().next().isArrayDereference()); } @Test public void testArguments() throws Throwable { - Set ops = getNodes(ASTPrimarySuffix.class, TEST2); - assertTrue(((ASTPrimarySuffix) (ops.iterator().next())).isArguments()); + Set ops = getNodes(ASTPrimarySuffix.class, TEST2); + assertTrue(ops.iterator().next().isArguments()); } private static final String TEST1 = diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabelTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabelTest.java index 1f264a24a8..e7c50a92cc 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabelTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabelTest.java @@ -14,14 +14,14 @@ public class ASTSwitchLabelTest extends ParserTst { @Test public void testDefaultOff() throws Throwable { - Set ops = getNodes(ASTSwitchLabel.class, TEST1); - assertFalse(((ASTSwitchLabel) (ops.iterator().next())).isDefault()); + Set ops = getNodes(ASTSwitchLabel.class, TEST1); + assertFalse(ops.iterator().next().isDefault()); } @Test public void testDefaultSet() throws Throwable { - Set ops = getNodes(ASTSwitchLabel.class, TEST2); - assertTrue(((ASTSwitchLabel) (ops.iterator().next())).isDefault()); + Set ops = getNodes(ASTSwitchLabel.class, TEST2); + assertTrue(ops.iterator().next().isDefault()); } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/AccessNodeTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/AccessNodeTest.java index 60efa3933a..c02723341d 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/AccessNodeTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/AccessNodeTest.java @@ -27,8 +27,8 @@ public class AccessNodeTest extends ParserTst { @Test public void testModifiersOnClassDecl() throws Throwable { - Set ops = getNodes(ASTClassOrInterfaceDeclaration.class, TEST1); - assertTrue(((ASTClassOrInterfaceDeclaration) ops.iterator().next()).isPublic()); + Set ops = getNodes(ASTClassOrInterfaceDeclaration.class, TEST1); + assertTrue(ops.iterator().next().isPublic()); } private static final String TEST1 = diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/SimpleNodeTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/SimpleNodeTest.java index 2ca80dcf82..a9e4cb6850 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/SimpleNodeTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/SimpleNodeTest.java @@ -210,7 +210,7 @@ public class SimpleNodeTest extends ParserTst { @Test public void testContainsNoInner() throws Throwable { ASTCompilationUnit c = getNodes(ASTCompilationUnit.class, CONTAINS_NO_INNER).iterator().next(); - List res = new ArrayList(); + List res = new ArrayList<>(); c.findDescendantsOfType(ASTFieldDeclaration.class, res, false); assertTrue(res.isEmpty()); /* String expectedXml = "" + @@ -238,7 +238,7 @@ public class SimpleNodeTest extends ParserTst { @Test public void testContainsNoInnerWithAnonInner() throws Throwable { ASTCompilationUnit c = getNodes(ASTCompilationUnit.class, CONTAINS_NO_INNER_WITH_ANON_INNER).iterator().next(); - List res = new ArrayList(); + List res = new ArrayList<>(); c.findDescendantsOfType(ASTFieldDeclaration.class, res, false); assertTrue(res.isEmpty()); } @@ -252,7 +252,7 @@ public class SimpleNodeTest extends ParserTst { @Test public void testXPathNodeSelect() throws Throwable { ASTClassOrInterfaceDeclaration c = getNodes(ASTClassOrInterfaceDeclaration.class, TEST_XPATH).iterator().next(); - List nodes = c.findChildNodesWithXPath("//FieldDeclaration"); + List nodes = c.findChildNodesWithXPath("//FieldDeclaration"); assertEquals(2, nodes.size()); assertTrue(nodes.get(0) instanceof ASTFieldDeclaration); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/AcceptanceTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/AcceptanceTest.java index 1c6707aa43..1ef71eb8ec 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/AcceptanceTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/AcceptanceTest.java @@ -45,9 +45,9 @@ public class AcceptanceTest extends ParserTst { " }" + PMD.EOL + "}"; - private boolean check(int[][] array, List methodNodes) { + private boolean check(int[][] array, List methodNodes) { for (int i = 0; i < methodNodes.size(); i++) { - ASTMethodDeclarator decl = (ASTMethodDeclarator) methodNodes.get(i); + ASTMethodDeclarator decl = methodNodes.get(i); DataFlowNode inode = decl.getDataFlowNode(); for (int j = 0; j < inode.getChildren().size(); j++) { DataFlowNode child = inode.getChildren().get(j); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/StatementAndBraceFinderTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/StatementAndBraceFinderTest.java index e603148d5b..de6602d148 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/StatementAndBraceFinderTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/dfa/StatementAndBraceFinderTest.java @@ -26,17 +26,17 @@ public class StatementAndBraceFinderTest extends ParserTst { @Test public void testStatementExpressionParentChildLinks() throws Throwable { ASTStatementExpression se = getOrderedNodes(ASTStatementExpression.class, TEST1).get(0); - ASTMethodDeclaration seParent = (ASTMethodDeclaration) ((DataFlowNode) se.getDataFlowNode().getParents().get(0)).getNode(); - assertEquals(se, ((DataFlowNode) seParent.getDataFlowNode().getChildren().get(0)).getNode()); - assertEquals(seParent, ((DataFlowNode) se.getDataFlowNode().getParents().get(0)).getNode()); + ASTMethodDeclaration seParent = (ASTMethodDeclaration) se.getDataFlowNode().getParents().get(0).getNode(); + assertEquals(se, seParent.getDataFlowNode().getChildren().get(0).getNode()); + assertEquals(seParent, se.getDataFlowNode().getParents().get(0).getNode()); } @Test public void testVariableDeclaratorParentChildLinks() throws Throwable { ASTVariableDeclarator vd = getOrderedNodes(ASTVariableDeclarator.class, TEST2).get(0); - ASTMethodDeclaration vdParent = (ASTMethodDeclaration) ((DataFlowNode) vd.getDataFlowNode().getParents().get(0)).getNode(); - assertEquals(vd, ((DataFlowNode) vdParent.getDataFlowNode().getChildren().get(0)).getNode()); - assertEquals(vdParent, ((DataFlowNode) vd.getDataFlowNode().getParents().get(0)).getNode()); + ASTMethodDeclaration vdParent = (ASTMethodDeclaration) vd.getDataFlowNode().getParents().get(0).getNode(); + assertEquals(vd, vdParent.getDataFlowNode().getChildren().get(0).getNode()); + assertEquals(vdParent, vd.getDataFlowNode().getParents().get(0).getNode()); } @Test diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ApplierTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ApplierTest.java index a1145be0a8..1d86485108 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ApplierTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ApplierTest.java @@ -29,7 +29,7 @@ public class ApplierTest { @Test public void testSimple() { MyFunction f = new MyFunction(); - List l = new ArrayList(); + List l = new ArrayList<>(); l.add(new Object()); Applier.apply(f, l.iterator()); assertTrue(f.gotCallback()); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ClassScopeTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ClassScopeTest.java index d1f1ad5b76..da7813897b 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ClassScopeTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ClassScopeTest.java @@ -103,7 +103,7 @@ public class ClassScopeTest extends STBBaseTst { parseCode(METHOD_DECLARATIONS_RECORDED); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); ClassScope s = (ClassScope) n.getScope(); - Map m = s.getDeclarations(); + Map> m = s.getDeclarations(); assertEquals(1, m.size()); MethodNameDeclaration mnd = (MethodNameDeclaration) m.keySet().iterator().next(); assertEquals("bar", mnd.getImage()); @@ -116,9 +116,9 @@ public class ClassScopeTest extends STBBaseTst { // TODO this won't work with String and java.lang.String parseCode(METHODS_WITH_DIFF_ARG); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); assertEquals(2, m.size()); - Iterator i = m.keySet().iterator(); + Iterator i = m.keySet().iterator(); MethodNameDeclaration mnd = (MethodNameDeclaration) i.next(); assertEquals("bar", mnd.getImage()); assertEquals("bar", ((MethodNameDeclaration) i.next()).getImage()); @@ -129,7 +129,7 @@ public class ClassScopeTest extends STBBaseTst { public final void testOneParam() throws Throwable { parseCode(ONE_PARAM); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); MethodNameDeclaration mnd = (MethodNameDeclaration) m.keySet().iterator().next(); assertEquals("(String)", mnd.getParameterDisplaySignature()); } @@ -138,7 +138,7 @@ public class ClassScopeTest extends STBBaseTst { public final void testTwoParams() throws Throwable { parseCode(TWO_PARAMS); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); MethodNameDeclaration mnd = (MethodNameDeclaration) m.keySet().iterator().next(); assertEquals("(String,int)", mnd.getParameterDisplaySignature()); } @@ -147,7 +147,7 @@ public class ClassScopeTest extends STBBaseTst { public final void testNoParams() throws Throwable { parseCode(NO_PARAMS); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); MethodNameDeclaration mnd = (MethodNameDeclaration) m.keySet().iterator().next(); assertEquals("()", mnd.getParameterDisplaySignature()); } @@ -156,7 +156,7 @@ public class ClassScopeTest extends STBBaseTst { public final void testOneParamVararg() throws Throwable { parseCode15(ONE_PARAM_VARARG); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); MethodNameDeclaration mnd = (MethodNameDeclaration) m.keySet().iterator().next(); assertEquals("(String...)", mnd.getParameterDisplaySignature()); } @@ -165,7 +165,7 @@ public class ClassScopeTest extends STBBaseTst { public final void testTwoParamsVararg() throws Throwable { parseCode15(TWO_PARAMS_VARARG); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); MethodNameDeclaration mnd = (MethodNameDeclaration) m.keySet().iterator().next(); assertEquals("(String,String...)", mnd.getParameterDisplaySignature()); } @@ -176,7 +176,7 @@ public class ClassScopeTest extends STBBaseTst { parseCode(NESTED_CLASS_FOUND); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); ClassScope c = (ClassScope) n.getScope(); - Map m = c.getDeclarations(); + Map> m = c.getDeclarations(); ClassNameDeclaration cnd = (ClassNameDeclaration) m.keySet().iterator().next(); assertEquals("Buz", cnd.getImage()); } @@ -192,17 +192,17 @@ public class ClassScopeTest extends STBBaseTst { public void testMethodUsageSeen() { parseCode(METHOD_USAGE_SEEN); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); - Iterator i = m.entrySet().iterator(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); + Iterator>> i = m.entrySet().iterator(); MethodNameDeclaration mnd; - Map.Entry entry; + Map.Entry> entry; do { - entry = (Map.Entry) i.next(); + entry = i.next(); mnd = (MethodNameDeclaration) entry.getKey(); } while (!mnd.getImage().equals("bar")); - List usages = (List) entry.getValue(); + List usages = entry.getValue(); assertEquals(1, usages.size()); assertEquals("bar", ((JavaNameOccurrence) usages.get(0)).getImage()); } @@ -211,17 +211,17 @@ public class ClassScopeTest extends STBBaseTst { public void testMethodUsageSeenWithThis() { parseCode(METHOD_USAGE_SEEN_WITH_THIS); ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0); - Map m = ((ClassScope) n.getScope()).getDeclarations(); - Iterator i = m.entrySet().iterator(); + Map> m = ((ClassScope) n.getScope()).getDeclarations(); + Iterator>> i = m.entrySet().iterator(); MethodNameDeclaration mnd; - Map.Entry entry; + Map.Entry> entry; do { - entry = (Map.Entry) i.next(); + entry = i.next(); mnd = (MethodNameDeclaration) entry.getKey(); } while (!mnd.getImage().equals("bar")); - List usages = (List) entry.getValue(); + List usages = entry.getValue(); assertEquals(1, usages.size()); assertEquals("bar", ((JavaNameOccurrence) usages.get(0)).getImage()); } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/GlobalScopeTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/GlobalScopeTest.java index 238bc89be9..f5299c87f2 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/GlobalScopeTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/GlobalScopeTest.java @@ -1,12 +1,17 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd.lang.java.symboltable; import static org.junit.Assert.assertEquals; +import java.util.List; import java.util.Map; import net.sourceforge.pmd.PMD; import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit; -import net.sourceforge.pmd.lang.java.symboltable.ClassNameDeclaration; +import net.sourceforge.pmd.lang.symboltable.NameDeclaration; +import net.sourceforge.pmd.lang.symboltable.NameOccurrence; import net.sourceforge.pmd.lang.symboltable.Scope; import org.junit.Test; @@ -18,7 +23,7 @@ public class GlobalScopeTest extends STBBaseTst { parseCode(TEST1); ASTCompilationUnit decl = acu; Scope scope = decl.getScope(); - Map m = scope.getDeclarations(); + Map> m = scope.getDeclarations(); ClassNameDeclaration classNameDeclaration = (ClassNameDeclaration) m.keySet().iterator().next(); assertEquals(classNameDeclaration.getImage(), "Foo"); } @@ -40,8 +45,4 @@ public class GlobalScopeTest extends STBBaseTst { " private static final String FIELD_NAME = \"\";" + PMD.EOL + " }" + PMD.EOL + "}" + PMD.EOL; - - public static junit.framework.Test suite() { - return new junit.framework.JUnit4TestAdapter(GlobalScopeTest.class); - } } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunctionTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunctionTest.java index e555d9e01a..7775f50e71 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunctionTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/ImageFinderFunctionTest.java @@ -28,7 +28,7 @@ public class ImageFinderFunctionTest { @Test public void testSeveralImages() { - List imgs = new ArrayList(); + List imgs = new ArrayList<>(); imgs.add("Foo.foo"); imgs.add("foo"); ImageFinderFunction f = new ImageFinderFunction(imgs); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/LocalScopeTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/LocalScopeTest.java index fdd752d21b..0c3f91762f 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/LocalScopeTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/LocalScopeTest.java @@ -15,11 +15,8 @@ import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration; import net.sourceforge.pmd.lang.java.ast.ASTName; import net.sourceforge.pmd.lang.java.ast.ASTPrimaryPrefix; import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId; -import net.sourceforge.pmd.lang.java.symboltable.LocalScope; -import net.sourceforge.pmd.lang.java.symboltable.MethodScope; -import net.sourceforge.pmd.lang.java.symboltable.JavaNameOccurrence; -import net.sourceforge.pmd.lang.java.symboltable.VariableNameDeclaration; import net.sourceforge.pmd.lang.symboltable.NameDeclaration; +import net.sourceforge.pmd.lang.symboltable.NameOccurrence; import org.junit.Test; public class LocalScopeTest extends STBBaseTst { @@ -53,33 +50,33 @@ public class LocalScopeTest extends STBBaseTst { @Test public void testLocalVariableDeclarationFound() { parseCode(TEST1); - List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); - ASTVariableDeclaratorId node = (ASTVariableDeclaratorId) nodes.get(0); - Map vars = node.getScope().getDeclarations(); + List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); + ASTVariableDeclaratorId node = nodes.get(0); + Map> vars = node.getScope().getDeclarations(); assertEquals(1, vars.size()); - NameDeclaration decl = (NameDeclaration) vars.keySet().iterator().next(); + NameDeclaration decl = vars.keySet().iterator().next(); assertEquals("b", decl.getImage()); } @Test public void testQualifiedNameOccurrence() { parseCode(TEST2); - List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); - ASTVariableDeclaratorId node = (ASTVariableDeclaratorId) nodes.get(0); - Map vars = node.getScope().getDeclarations(); - NameDeclaration decl = (NameDeclaration) vars.keySet().iterator().next(); - JavaNameOccurrence occ = (JavaNameOccurrence) ((List) vars.get(decl)).get(0); + List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); + ASTVariableDeclaratorId node = nodes.get(0); + Map> vars = node.getScope().getDeclarations(); + NameDeclaration decl = vars.keySet().iterator().next(); + JavaNameOccurrence occ = (JavaNameOccurrence) vars.get(decl).get(0); assertEquals("b", occ.getImage()); } @Test public void testPostfixUsageIsRecorded() { parseCode(TEST3); - List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); - ASTVariableDeclaratorId node = (ASTVariableDeclaratorId) nodes.get(0); - Map vars = node.getScope().getDeclarations(); - NameDeclaration decl = (NameDeclaration) vars.keySet().iterator().next(); - List usages = (List) vars.get(decl); + List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); + ASTVariableDeclaratorId node = nodes.get(0); + Map> vars = node.getScope().getDeclarations(); + NameDeclaration decl = vars.keySet().iterator().next(); + List usages = vars.get(decl); JavaNameOccurrence occ = (JavaNameOccurrence) usages.get(0); assertEquals(4, occ.getLocation().getBeginLine()); } @@ -87,8 +84,8 @@ public class LocalScopeTest extends STBBaseTst { @Test public void testLocalVariableTypesAreRecorded() { parseCode(TEST1); - List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); - Map vars = ((ASTVariableDeclaratorId) nodes.get(0)).getScope().getDeclarations(); + List nodes = acu.findDescendantsOfType(ASTVariableDeclaratorId.class); + Map> vars = nodes.get(0).getScope().getDeclarations(); VariableNameDeclaration decl = (VariableNameDeclaration) vars.keySet().iterator().next(); assertEquals("Bar", decl.getTypeImage()); } @@ -96,8 +93,8 @@ public class LocalScopeTest extends STBBaseTst { @Test public void testMethodArgumentTypesAreRecorded() { parseCode(TEST5); - List nodes = acu.findDescendantsOfType(ASTFormalParameter.class); - Map vars = ((ASTFormalParameter) nodes.get(0)).getScope().getDeclarations(); + List nodes = acu.findDescendantsOfType(ASTFormalParameter.class); + Map> vars = nodes.get(0).getScope().getDeclarations(); VariableNameDeclaration decl = (VariableNameDeclaration) vars.keySet().iterator().next(); assertEquals("String", decl.getTypeImage()); } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScopeTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScopeTest.java index 56519d9d10..4e93f5b8b6 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScopeTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/SourceFileScopeTest.java @@ -4,12 +4,13 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import java.util.Iterator; +import java.util.List; import java.util.Map; import net.sourceforge.pmd.PMD; import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit; -import net.sourceforge.pmd.lang.java.symboltable.ClassNameDeclaration; -import net.sourceforge.pmd.lang.java.symboltable.SourceFileScope; +import net.sourceforge.pmd.lang.symboltable.NameDeclaration; +import net.sourceforge.pmd.lang.symboltable.NameOccurrence; import org.junit.Test; public class SourceFileScopeTest extends STBBaseTst { @@ -17,7 +18,7 @@ public class SourceFileScopeTest extends STBBaseTst { @Test public void testClassDeclAppears() { parseCode(TEST1); - Map m = acu.getScope().getDeclarations(); + Map> m = acu.getScope().getDeclarations(); ClassNameDeclaration classNameDeclaration = (ClassNameDeclaration) m.keySet().iterator().next(); assertEquals(classNameDeclaration.getImage(), "Foo"); } @@ -39,8 +40,8 @@ public class SourceFileScopeTest extends STBBaseTst { @Test public void testNestedClasses() { parseCode(TEST3); - Map m = acu.getScope().getDeclarations(); - Iterator iterator = m.keySet().iterator(); + Map> m = acu.getScope().getDeclarations(); + Iterator iterator = m.keySet().iterator(); ClassNameDeclaration classNameDeclaration = (ClassNameDeclaration) iterator.next(); assertEquals(classNameDeclaration.getImage(), "Foo"); assertFalse(iterator.hasNext()); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/TypeSetTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/TypeSetTest.java index 67b7db616c..b8122f77ff 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/TypeSetTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/TypeSetTest.java @@ -34,7 +34,7 @@ public class TypeSetTest { @Test public void testFindClassImplicitImport() throws Throwable { TypeSet t = new TypeSet(); - Class clazz = t.findClass("String"); + Class clazz = t.findClass("String"); assertEquals(String.class, clazz); } @@ -42,7 +42,7 @@ public class TypeSetTest { public void testFindClassSamePackage() throws Throwable { TypeSet t = new TypeSet(); t.setASTCompilationUnitPackage("net.sourceforge.pmd"); - Class clazz = t.findClass("PMD"); + Class clazz = t.findClass("PMD"); assertEquals(PMD.class, clazz); } @@ -50,7 +50,7 @@ public class TypeSetTest { public void testFindClassExplicitImport() throws Throwable { TypeSet t = new TypeSet(); t.addImport("java.io.File"); - Class clazz = t.findClass("File"); + Class clazz = t.findClass("File"); assertEquals(File.class, clazz); } @@ -58,7 +58,7 @@ public class TypeSetTest { public void testFindClassImportOnDemand() throws Throwable { TypeSet t = new TypeSet(); t.addImport("java.io.*"); - Class clazz = t.findClass("File"); + Class clazz = t.findClass("File"); assertEquals(File.class, clazz); } @@ -110,7 +110,7 @@ public class TypeSetTest { @Test public void testExplicitImportResolver() throws Throwable { - Set imports = new HashSet(); + Set imports = new HashSet<>(); imports.add("java.io.File"); TypeSet.Resolver r = new TypeSet.ExplicitImportResolver(pmdClassLoader, imports); assertEquals(File.class, r.resolve("File")); @@ -118,7 +118,7 @@ public class TypeSetTest { @Test(expected=ClassNotFoundException.class) public void testExplicitImportResolverWithNull() throws Throwable { - Set imports = new HashSet(); + Set imports = new HashSet<>(); imports.add("java.io.File"); TypeSet.Resolver r = new TypeSet.ExplicitImportResolver(pmdClassLoader, imports); r.resolve(null); @@ -186,7 +186,7 @@ public class TypeSetTest { } private TypeSet.Resolver getResolver() { - Set imports = new HashSet(); + Set imports = new HashSet<>(); imports.add("java.io.*"); imports.add("java.util.*"); TypeSet.Resolver r = new TypeSet.ImportOnDemandResolver(pmdClassLoader, imports); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunctionTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunctionTest.java index db3e07e07a..f900329118 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunctionTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symboltable/VariableUsageFinderFunctionTest.java @@ -24,13 +24,13 @@ public class VariableUsageFinderFunctionTest { ASTVariableDeclaratorId variableDeclarationIdNode = new ASTVariableDeclaratorId(1); variableDeclarationIdNode.setImage("x"); VariableNameDeclaration nameDeclaration = new VariableNameDeclaration(variableDeclarationIdNode); - List nameOccurrences = new ArrayList(); + List nameOccurrences = new ArrayList<>(); nameOccurrences.add(new JavaNameOccurrence(new DummyJavaNode(2), "x")); - Map> declarations = new HashMap>(); + Map> declarations = new HashMap<>(); declarations.put(nameDeclaration, nameOccurrences); - List vars = new ArrayList(); + List vars = new ArrayList<>(); vars.add(nameDeclaration); VariableUsageFinderFunction f = new VariableUsageFinderFunction(declarations); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassTypeResolverTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassTypeResolverTest.java index d55c1413ce..b2cb533bb4 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassTypeResolverTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassTypeResolverTest.java @@ -15,6 +15,7 @@ import java.util.StringTokenizer; import net.sourceforge.pmd.lang.LanguageRegistry; import net.sourceforge.pmd.lang.LanguageVersionHandler; +import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.java.JavaLanguageModule; import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression; import net.sourceforge.pmd.lang.java.ast.ASTBooleanLiteral; @@ -143,10 +144,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testLiterals() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Literals.class); - List literals = acu.findChildNodesWithXPath("//Literal"); + List literals = convertList(acu.findChildNodesWithXPath("//Literal"), ASTLiteral.class); int index = 0; // String s = "s"; @@ -294,10 +294,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testUnaryNumericPromotion() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Promotion.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericPromotion']]//Expression[UnaryExpression]"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericPromotion']]//Expression[UnaryExpression]"), ASTExpression.class); int index = 0; assertEquals(Integer.TYPE, expressions.get(index++).getType()); @@ -313,10 +312,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testBinaryNumericPromotion() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Promotion.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryNumericPromotion']]//Expression[AdditiveExpression]"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryNumericPromotion']]//Expression[AdditiveExpression]"), ASTExpression.class); int index = 0; // LHS = byte @@ -381,10 +379,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testBinaryStringPromotion() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Promotion.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryStringPromotion']]//Expression"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryStringPromotion']]//Expression"), ASTExpression.class); int index = 0; assertEquals(String.class, expressions.get(index++).getType()); @@ -398,10 +395,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testUnaryLogicalOperators() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Operators.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryLogicalOperators']]//Expression"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryLogicalOperators']]//Expression"), ASTExpression.class); int index = 0; assertEquals(Boolean.TYPE, expressions.get(index++).getType()); @@ -412,10 +408,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testBinaryLogicalOperators() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Operators.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryLogicalOperators']]//Expression"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryLogicalOperators']]//Expression"), ASTExpression.class); int index = 0; assertEquals(Boolean.TYPE, expressions.get(index++).getType()); @@ -437,16 +432,15 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testUnaryNumericOperators() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Operators.class); - List expressions = new ArrayList(); - expressions.addAll(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//Expression")); - expressions.addAll(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//PostfixExpression")); - expressions.addAll(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//PreIncrementExpression")); - expressions.addAll(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//PreDecrementExpression")); - int index = 0; + List expressions = new ArrayList<>(); + expressions.addAll(convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//Expression"), TypeNode.class)); + expressions.addAll(convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//PostfixExpression"), TypeNode.class)); + expressions.addAll(convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//PreIncrementExpression"), TypeNode.class)); + expressions.addAll(convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'unaryNumericOperators']]//PreDecrementExpression"), TypeNode.class)); + int index = 0; assertEquals(Integer.TYPE, expressions.get(index++).getType()); assertEquals(Integer.TYPE, expressions.get(index++).getType()); assertEquals(Double.TYPE, expressions.get(index++).getType()); @@ -457,12 +451,19 @@ public class ClassTypeResolverTest { // Make sure we got them all. assertEquals("All expressions not tested", index, expressions.size()); } + + private static List convertList(List nodes, Class target) { + List converted = new ArrayList<>(); + for (Node n : nodes) { + converted.add(target.cast(n)); + } + return converted; + } @Test - @SuppressWarnings("unchecked") public void testBinaryNumericOperators() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Operators.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryNumericOperators']]//Expression"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'binaryNumericOperators']]//Expression"), ASTExpression.class); int index = 0; assertEquals(Integer.TYPE, expressions.get(index++).getType()); @@ -479,10 +480,9 @@ public class ClassTypeResolverTest { } @Test - @SuppressWarnings("unchecked") public void testAssignmentOperators() throws JaxenException { ASTCompilationUnit acu = parseAndTypeResolveForClass15(Operators.class); - List expressions = acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'assignmentOperators']]//StatementExpression"); + List expressions = convertList(acu.findChildNodesWithXPath("//Block[preceding-sibling::MethodDeclarator[@Image = 'assignmentOperators']]//StatementExpression"), ASTStatementExpression.class); int index = 0; assertEquals(Long.TYPE, expressions.get(index++).getType()); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassWithImportOnDemand.java b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassWithImportOnDemand.java index 91f11e3ca2..a78dbe3092 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassWithImportOnDemand.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/ClassWithImportOnDemand.java @@ -5,7 +5,7 @@ import java.util.List; public class ClassWithImportOnDemand { - public List foo() { - return new ArrayList(); + public List foo() { + return new ArrayList<>(); } } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/ArrayListFound.java b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/ArrayListFound.java index 72548209bd..85f466688e 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/ArrayListFound.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/ArrayListFound.java @@ -6,5 +6,5 @@ package net.sourceforge.pmd.typeresolution.testdata; import java.util.ArrayList; public class ArrayListFound { - ArrayList x; + ArrayList x; } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/cpd/EcmascriptTokenizer.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/cpd/EcmascriptTokenizer.java index 386ab75f82..cd7ed11567 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/cpd/EcmascriptTokenizer.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/cpd/EcmascriptTokenizer.java @@ -8,16 +8,16 @@ import java.util.ArrayList; public class EcmascriptTokenizer extends AbstractTokenizer { public EcmascriptTokenizer() { // setting markers for "string" in javascript - this.stringToken = new ArrayList(); + this.stringToken = new ArrayList<>(); this.stringToken.add( "\'" ); this.stringToken.add( "\"" ); // setting markers for 'ignorable character' in javascript - this.ignorableCharacter = new ArrayList(); + this.ignorableCharacter = new ArrayList<>(); this.ignorableCharacter.add( ";" ); // setting markers for 'ignorable string' in javascript - this.ignorableStmt = new ArrayList(); + this.ignorableStmt = new ArrayList<>(); // strings do indeed span multiple lines in javascript this.spanMultipleLinesString = true; diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java index 5a1075442c..399ce71d50 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java @@ -51,7 +51,7 @@ public class Ecmascript3Handler extends AbstractLanguageVersionHandler { public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) { return new VisitorStarter() { public void start(Node rootNode) { - new DumpFacade().initializeWith(writer, prefix, recurse, (EcmascriptNode) rootNode); + new DumpFacade().initializeWith(writer, prefix, recurse, (EcmascriptNode) rootNode); } }; } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptParserOptions.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptParserOptions.java index 32716e7df8..38a7d0e042 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptParserOptions.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/EcmascriptParserOptions.java @@ -40,7 +40,7 @@ public class EcmascriptParserOptions extends ParserOptions { public int getVersion() { return version; } - }; + } private static final String[] VERSION_LABELS = new String[] { Version.VERSION_DEFAULT.getLabel(), Version.VERSION_1_0.getLabel(), Version.VERSION_1_1.getLabel(), Version.VERSION_1_2.getLabel(), @@ -52,7 +52,7 @@ public class EcmascriptParserOptions extends ParserOptions { "Specifies that comments are produced in the AST.", Boolean.TRUE, 3.0f); public static final BooleanProperty RECORDING_LOCAL_JSDOC_COMMENTS_DESCRIPTOR = new BooleanProperty( "recordingLocalJsDocComments", "Specifies that JsDoc comments are produced in the AST.", Boolean.TRUE, 4.0f); - public static final EnumeratedProperty RHINO_LANGUAGE_VERSION = new EnumeratedProperty( + public static final EnumeratedProperty RHINO_LANGUAGE_VERSION = new EnumeratedProperty<>( "rhinoLanguageVersion", "Specifies the Rhino Language Version to use for parsing. Defaults to Rhino default.", VERSION_LABELS, Version.values(), 0, 5.0f); diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehension.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehension.java index 34a9cfeed2..1da27e156f 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehension.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehension.java @@ -17,8 +17,8 @@ public class ASTArrayComprehension extends AbstractEcmascriptNode getResult() { + return (EcmascriptNode) jjtGetChild(0); } public int getNumArrayComprehensionLoops() { @@ -33,7 +33,7 @@ public class ASTArrayComprehension extends AbstractEcmascriptNode getFilter() { + return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehensionLoop.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehensionLoop.java index c3871d32ee..ad2d1404a4 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehensionLoop.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTArrayComprehensionLoop.java @@ -18,11 +18,11 @@ public class ASTArrayComprehensionLoop extends AbstractEcmascriptNode getIterator() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getIteratedObject() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getIteratedObject() { + return (EcmascriptNode) jjtGetChild(1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTCatchClause.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTCatchClause.java index 549b0da22c..71ab869ee4 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTCatchClause.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTCatchClause.java @@ -26,8 +26,8 @@ public class ASTCatchClause extends AbstractEcmascriptNode { return node.getCatchCondition() != null; } - public EcmascriptNode getCatchCondition() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getCatchCondition() { + return (EcmascriptNode) jjtGetChild(1); } public ASTBlock getBlock() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTConditionalExpression.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTConditionalExpression.java index f3b18590c4..2d392d88b0 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTConditionalExpression.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTConditionalExpression.java @@ -18,15 +18,15 @@ public class ASTConditionalExpression extends AbstractEcmascriptNode getTestExpression() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getTrueExpression() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getTrueExpression() { + return (EcmascriptNode) jjtGetChild(1); } - public EcmascriptNode getFalseExpression() { - return (EcmascriptNode) jjtGetChild(2); + public EcmascriptNode getFalseExpression() { + return (EcmascriptNode) jjtGetChild(2); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTDoLoop.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTDoLoop.java index eadabe2293..e2aa6c127e 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTDoLoop.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTDoLoop.java @@ -18,11 +18,11 @@ public class ASTDoLoop extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getBody() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getBody() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getCondition() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getCondition() { + return (EcmascriptNode) jjtGetChild(1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTElementGet.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTElementGet.java index 257a71607e..47d6f428bb 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTElementGet.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTElementGet.java @@ -18,16 +18,16 @@ public class ASTElementGet extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getTarget() { + public EcmascriptNode getTarget() { if (jjtGetNumChildren() > 0) { - return (EcmascriptNode)jjtGetChild(0); + return (EcmascriptNode)jjtGetChild(0); } return null; } - public EcmascriptNode getElement() { + public EcmascriptNode getElement() { if (jjtGetNumChildren() > 1) { - return (EcmascriptNode)jjtGetChild(1); + return (EcmascriptNode)jjtGetChild(1); } return null; } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForInLoop.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForInLoop.java index f00429a5fa..56addb6fb3 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForInLoop.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForInLoop.java @@ -17,16 +17,16 @@ public class ASTForInLoop extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getIterator() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getIterator() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getIteratedObject() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getIteratedObject() { + return (EcmascriptNode) jjtGetChild(1); } - public EcmascriptNode getBody() { - return (EcmascriptNode) jjtGetChild(2); + public EcmascriptNode getBody() { + return (EcmascriptNode) jjtGetChild(2); } public boolean isForEach() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForLoop.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForLoop.java index 4bb714af83..4de2165aa8 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForLoop.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTForLoop.java @@ -17,19 +17,19 @@ public class ASTForLoop extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getInitializer() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getInitializer() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getCondition() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getCondition() { + return (EcmascriptNode) jjtGetChild(1); } - public EcmascriptNode getIncrement() { - return (EcmascriptNode) jjtGetChild(2); + public EcmascriptNode getIncrement() { + return (EcmascriptNode) jjtGetChild(2); } - public EcmascriptNode getBody() { - return (EcmascriptNode) jjtGetChild(3); + public EcmascriptNode getBody() { + return (EcmascriptNode) jjtGetChild(3); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionCall.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionCall.java index c6aa945a26..955b36137b 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionCall.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionCall.java @@ -17,16 +17,16 @@ public class ASTFunctionCall extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getTarget() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getTarget() { + return (EcmascriptNode) jjtGetChild(0); } public int getNumArguments() { return node.getArguments().size(); } - public EcmascriptNode getArgument(int index) { - return (EcmascriptNode) jjtGetChild(index + 1); + public EcmascriptNode getArgument(int index) { + return (EcmascriptNode) jjtGetChild(index + 1); } public boolean hasArguments() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionNode.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionNode.java index 08c9fa2434..d8c224108f 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionNode.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTFunctionNode.java @@ -29,19 +29,20 @@ public class ASTFunctionNode extends AbstractEcmascriptNode { return null; } - public EcmascriptNode getParam(int index) { + public EcmascriptNode getParam(int index) { + int paramIndex = index; if (node.getFunctionName() != null) { - index++; + paramIndex = index + 1; } - return (EcmascriptNode) jjtGetChild(index); + return (EcmascriptNode) jjtGetChild(paramIndex); } - public EcmascriptNode getBody() { - return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); + public EcmascriptNode getBody() { + return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); } @Deprecated // use getBody() instead - public EcmascriptNode getBody(int index) { + public EcmascriptNode getBody(int index) { return getBody(); } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTIfStatement.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTIfStatement.java index 9ec8b7b9ec..03fd6a5c2b 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTIfStatement.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTIfStatement.java @@ -21,15 +21,15 @@ public class ASTIfStatement extends AbstractEcmascriptNode { return node.getElsePart() != null; } - public EcmascriptNode getCondition() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getCondition() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getThen() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getThen() { + return (EcmascriptNode) jjtGetChild(1); } - public EcmascriptNode getElse() { - return (EcmascriptNode) jjtGetChild(2); + public EcmascriptNode getElse() { + return (EcmascriptNode) jjtGetChild(2); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLabeledStatement.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLabeledStatement.java index 88116b1fd5..9cb2b8cc1b 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLabeledStatement.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLabeledStatement.java @@ -25,7 +25,7 @@ public class ASTLabeledStatement extends AbstractEcmascriptNode getStatement() { + return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLetNode.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLetNode.java index 10a4aae144..57b1bc3e88 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLetNode.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTLetNode.java @@ -25,9 +25,9 @@ public class ASTLetNode extends AbstractEcmascriptNode { return node.getBody() != null; } - public EcmascriptNode getBody() { + public EcmascriptNode getBody() { if (hasBody()) { - return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); + return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); } else { return null; } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTNewExpression.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTNewExpression.java index 3d8795f770..b1274daec8 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTNewExpression.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTNewExpression.java @@ -17,16 +17,16 @@ public class ASTNewExpression extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getTarget() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getTarget() { + return (EcmascriptNode) jjtGetChild(0); } public int getNumArguments() { return node.getArguments().size(); } - public EcmascriptNode getArgument(int index) { - return (EcmascriptNode) jjtGetChild(index + 1); + public EcmascriptNode getArgument(int index) { + return (EcmascriptNode) jjtGetChild(index + 1); } public boolean hasArguments() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchCase.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchCase.java index 1521502a98..240a5b43ad 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchCase.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchCase.java @@ -21,9 +21,9 @@ public class ASTSwitchCase extends AbstractEcmascriptNode { return node.isDefault(); } - public EcmascriptNode getExpression() { + public EcmascriptNode getExpression() { if (!isDefault()) { - return (EcmascriptNode) jjtGetChild(0); + return (EcmascriptNode) jjtGetChild(0); } else { return null; } @@ -34,10 +34,11 @@ public class ASTSwitchCase extends AbstractEcmascriptNode { return node.getStatements() != null ? node.getStatements().size() : 0; } - public EcmascriptNode getStatement(int index) { + public EcmascriptNode getStatement(int index) { + int statementIndex = index; if (!isDefault()) { - index++; + statementIndex++; } - return (EcmascriptNode) jjtGetChild(index); + return (EcmascriptNode) jjtGetChild(statementIndex); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchStatement.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchStatement.java index 68b00677f9..352a8d7532 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchStatement.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTSwitchStatement.java @@ -17,8 +17,8 @@ public class ASTSwitchStatement extends AbstractEcmascriptNode return visitor.visit(this, data); } - public EcmascriptNode getExpression() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getExpression() { + return (EcmascriptNode) jjtGetChild(0); } public int getNumCases() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTTryStatement.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTTryStatement.java index f07f8f5532..a709007f3f 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTTryStatement.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTTryStatement.java @@ -17,8 +17,8 @@ public class ASTTryStatement extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getTryBlock() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getTryBlock() { + return (EcmascriptNode) jjtGetChild(0); } @Deprecated // use hasCatch() instead @@ -50,10 +50,10 @@ public class ASTTryStatement extends AbstractEcmascriptNode { return node.getFinallyBlock() != null; } - public EcmascriptNode getFinallyBlock() { + public EcmascriptNode getFinallyBlock() { if (!hasFinally()) { return null; } - return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); + return (EcmascriptNode) jjtGetChild(jjtGetNumChildren() - 1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTUnaryExpression.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTUnaryExpression.java index 54eb660896..e82f4d72e1 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTUnaryExpression.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTUnaryExpression.java @@ -25,8 +25,8 @@ public class ASTUnaryExpression extends AbstractEcmascriptNode return visitor.visit(this, data); } - public EcmascriptNode getOperand() { - return (EcmascriptNode)jjtGetChild(0); + public EcmascriptNode getOperand() { + return (EcmascriptNode)jjtGetChild(0); } public boolean isPrefix() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTVariableInitializer.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTVariableInitializer.java index e9e551c0f7..238a7e4d02 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTVariableInitializer.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTVariableInitializer.java @@ -17,13 +17,13 @@ public class ASTVariableInitializer extends AbstractEcmascriptNode getTarget() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getInitializer() { + public EcmascriptNode getInitializer() { if (jjtGetNumChildren() > 0) { - return (EcmascriptNode) jjtGetChild(1); + return (EcmascriptNode) jjtGetChild(1); } else { return null; } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWhileLoop.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWhileLoop.java index 5b41185f43..d7e11e2d20 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWhileLoop.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWhileLoop.java @@ -17,11 +17,11 @@ public class ASTWhileLoop extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getCondition() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getCondition() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getBody() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getBody() { + return (EcmascriptNode) jjtGetChild(1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWithStatement.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWithStatement.java index b75c28aeec..7de361090a 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWithStatement.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTWithStatement.java @@ -17,11 +17,11 @@ public class ASTWithStatement extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getExpression() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getExpression() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getStatement() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getStatement() { + return (EcmascriptNode) jjtGetChild(1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTXmlExpression.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTXmlExpression.java index c128af93c5..9004b48acb 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTXmlExpression.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/ASTXmlExpression.java @@ -17,8 +17,8 @@ public class ASTXmlExpression extends AbstractEcmascriptNode { return visitor.visit(this, data); } - public EcmascriptNode getExpression() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getExpression() { + return (EcmascriptNode) jjtGetChild(0); } public boolean isXmlAttribute() { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractInfixEcmascriptNode.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractInfixEcmascriptNode.java index 8e6e7c2e62..5c49d6a9a9 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractInfixEcmascriptNode.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractInfixEcmascriptNode.java @@ -24,11 +24,11 @@ public class AbstractInfixEcmascriptNode extends Abst } } - public EcmascriptNode getLeft() { - return (EcmascriptNode) jjtGetChild(0); + public EcmascriptNode getLeft() { + return (EcmascriptNode) jjtGetChild(0); } - public EcmascriptNode getRight() { - return (EcmascriptNode) jjtGetChild(1); + public EcmascriptNode getRight() { + return (EcmascriptNode) jjtGetChild(1); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java index 6755a79ab4..8561d02806 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java @@ -64,7 +64,7 @@ public class DumpFacade { image = StringUtil.escapeWhitespace(image); // Extras - List extras = new ArrayList(); + List extras = new ArrayList<>(); // Standard DestructuringNode extras if (node instanceof DestructuringNode) { 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 2550ffef8e..b8515f6f25 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 @@ -56,13 +56,13 @@ public class EcmascriptParser { public EcmascriptNode parse(final Reader reader) { try { - final List parseProblems = new ArrayList(); + final List parseProblems = new ArrayList<>(); final String sourceCode = IOUtils.toString(reader); final AstRoot astRoot = parseEcmascript(sourceCode, parseProblems); final EcmascriptTreeBuilder treeBuilder = new EcmascriptTreeBuilder(sourceCode, parseProblems); EcmascriptNode tree = treeBuilder.build(astRoot); - suppressMap = new HashMap(); + suppressMap = new HashMap<>(); if (astRoot.getComments() != null) { for (Comment comment : astRoot.getComments()) { int nopmd = comment.getValue().indexOf(suppressMarker); diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitor.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitor.java index a6582676e9..db958edb08 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitor.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitor.java @@ -4,7 +4,7 @@ package net.sourceforge.pmd.lang.ecmascript.ast; public interface EcmascriptParserVisitor { - Object visit(EcmascriptNode node, Object data); + Object visit(EcmascriptNode node, Object data); Object visit(ASTArrayComprehension node, Object data); diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitorAdapter.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitorAdapter.java index 52b3dc2a7b..a9e34b189b 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitorAdapter.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserVisitorAdapter.java @@ -5,204 +5,204 @@ package net.sourceforge.pmd.lang.ecmascript.ast; public class EcmascriptParserVisitorAdapter implements EcmascriptParserVisitor { - public Object visit(EcmascriptNode node, Object data) { + public Object visit(EcmascriptNode node, Object data) { node.childrenAccept(this, data); return null; } public Object visit(ASTArrayComprehension node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTArrayComprehensionLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTArrayLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTAssignment node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTAstRoot node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTBlock node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTBreakStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTCatchClause node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTComment node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTConditionalExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTContinueStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTDoLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTElementGet node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTEmptyExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTExpressionStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTForInLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTForLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTFunctionCall node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTFunctionNode node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTIfStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTInfixExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTKeywordLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTLabel node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTLabeledStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTLetNode node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTName node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTNewExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTNumberLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTObjectLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTObjectProperty node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTParenthesizedExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTPropertyGet node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTRegExpLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTReturnStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTScope node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTStringLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTSwitchCase node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTSwitchStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTThrowStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTTryStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTUnaryExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTVariableDeclaration node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTVariableInitializer node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTWhileLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTWithStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlDotQuery node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlMemberGet node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlString node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptTreeBuilder.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptTreeBuilder.java index b8cff9175f..5011fdb37f 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptTreeBuilder.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptTreeBuilder.java @@ -68,7 +68,7 @@ import org.mozilla.javascript.ast.XmlString; public final class EcmascriptTreeBuilder implements NodeVisitor { - private static final Map, Constructor>> NODE_TYPE_TO_NODE_ADAPTER_TYPE = new HashMap, Constructor>>(); + private static final Map, Constructor>> NODE_TYPE_TO_NODE_ADAPTER_TYPE = new HashMap<>(); static { register(ArrayComprehension.class, ASTArrayComprehension.class); register(ArrayComprehensionLoop.class, ASTArrayComprehensionLoop.class); @@ -133,13 +133,13 @@ public final class EcmascriptTreeBuilder implements NodeVisitor { } private List parseProblems; - private Map parseProblemToNode = new HashMap(); + private Map parseProblemToNode = new HashMap<>(); // The nodes having children built. - private Stack nodes = new Stack(); + private Stack nodes = new Stack<>(); // The Rhino nodes with children to build. - private Stack parents = new Stack(); + private Stack parents = new Stack<>(); private final SourceCodePositioner sourceCodePositioner; @@ -225,7 +225,7 @@ public final class EcmascriptTreeBuilder implements NodeVisitor { if ("Trailing comma is not legal in an ECMA-262 object initializer".equals(parseProblem.getMessage())) { // Report on the shortest code block containing the // problem (i.e. inner most code in nested structures). - EcmascriptNode currentNode = (EcmascriptNode) parseProblemToNode.get(parseProblem); + EcmascriptNode currentNode = (EcmascriptNode) parseProblemToNode.get(parseProblem); if (currentNode == null || node.getNode().getLength() < currentNode.getNode().getLength()) { parseProblemToNode.put(parseProblem, trailingCommaNode); } @@ -238,7 +238,7 @@ public final class EcmascriptTreeBuilder implements NodeVisitor { private void calculateLineNumbers(EcmascriptNode node) { EcmascriptParserVisitorAdapter visitor = new EcmascriptParserVisitorAdapter() { @Override - public Object visit(EcmascriptNode node, Object data) { + public Object visit(EcmascriptNode node, Object data) { ((AbstractEcmascriptNode)node).calculateLineNumbers(sourceCodePositioner); return super.visit(node, data); // also visit the children } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/AbstractEcmascriptRule.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/AbstractEcmascriptRule.java index c7d5131510..5906ff6d84 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/AbstractEcmascriptRule.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/AbstractEcmascriptRule.java @@ -102,204 +102,204 @@ public abstract class AbstractEcmascriptRule extends AbstractRule implements Ecm // complex Rule base class instead of from relatively simple Visitor. // - public Object visit(EcmascriptNode node, Object data) { + public Object visit(EcmascriptNode node, Object data) { node.childrenAccept(this, data); return null; } public Object visit(ASTArrayComprehension node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTArrayComprehensionLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTArrayLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTAssignment node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTAstRoot node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTBlock node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTBreakStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTCatchClause node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTComment node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTConditionalExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTContinueStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTDoLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTElementGet node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTEmptyExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTExpressionStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTForInLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTForLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTFunctionCall node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTFunctionNode node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTIfStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTInfixExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTKeywordLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTLabel node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTLabeledStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTLetNode node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTName node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTNewExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTNumberLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTObjectLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTObjectProperty node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTParenthesizedExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTPropertyGet node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTRegExpLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTReturnStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTScope node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTStringLiteral node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTSwitchCase node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTSwitchStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTThrowStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTTryStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTUnaryExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTVariableDeclaration node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTVariableInitializer node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTWhileLoop node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTWithStatement node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlDotQuery node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlExpression node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlMemberGet node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } public Object visit(ASTXmlString node, Object data) { - return visit((EcmascriptNode) node, data); + return visit((EcmascriptNode) node, data); } } 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 0916c12032..9eec7b3d7c 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 @@ -19,7 +19,7 @@ public class EcmascriptRuleChainVisitor extends AbstractRuleChainVisitor { protected void indexNodes(List nodes, RuleContext ctx) { // Visit Nodes in DFS order - Stack stack = new Stack(); + Stack stack = new Stack<>(); stack.addAll(nodes); Collections.reverse(stack); while (!stack.isEmpty()) { @@ -38,7 +38,7 @@ public class EcmascriptRuleChainVisitor extends AbstractRuleChainVisitor { if (rule instanceof XPathRule) { ((XPathRule) rule).evaluate(node, ctx); } else { - ((EcmascriptNode) node).jjtAccept((EcmascriptParserVisitor) rule, ctx); + ((EcmascriptNode) node).jjtAccept((EcmascriptParserVisitor) rule, ctx); } } } diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleViolationFactory.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleViolationFactory.java index 228ab92e22..955880e562 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleViolationFactory.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/rule/EcmascriptRuleViolationFactory.java @@ -21,7 +21,7 @@ public final class EcmascriptRuleViolationFactory extends AbstractRuleViolationF @SuppressWarnings("rawtypes") @Override protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message) { - return new ParametricRuleViolation(rule, ruleContext, (EcmascriptNode) node, message); + return new ParametricRuleViolation<>(rule, ruleContext, (EcmascriptNode) node, message); } protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine) { diff --git a/pmd-javascript/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-javascript/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index ac3dbcfffd..0fa837a044 100644 --- a/pmd-javascript/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-javascript/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd; import java.util.Arrays; @@ -16,7 +19,7 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest { } @Parameters - public static Collection data() { + public static Collection data() { return Arrays.asList(new Object[][] { { EcmascriptLanguageModule.NAME, EcmascriptLanguageModule.TERSE_NAME, "3", LanguageRegistry.getLanguage(EcmascriptLanguageModule.NAME).getDefaultVersion() } }); diff --git a/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserTest.java b/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserTest.java index 8394aba37b..2a8bb701a1 100644 --- a/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserTest.java +++ b/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParserTest.java @@ -66,7 +66,7 @@ public class EcmascriptParserTest extends EcmascriptParserTestBase { " return 0;\n" + " }\n" + "}"; - final List output = new ArrayList(); + final List output = new ArrayList<>(); class MyEcmascriptRule extends AbstractEcmascriptRule { public Object visit(ASTScope node, Object data) { @@ -110,7 +110,7 @@ public class EcmascriptParserTest extends EcmascriptParserTestBase { "}"); List calls = rootNode.findDescendantsOfType(ASTFunctionCall.class); - List results = new ArrayList(); + List results = new ArrayList<>(); for (ASTFunctionCall f : calls) { Node node = f.getTarget(); results.add(getName(node)); diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspParser.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspParser.java index c037aec7d4..9892c95e53 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspParser.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspParser.java @@ -39,6 +39,6 @@ public class JspParser extends AbstractParser { } public Map getSuppressMap() { - return new HashMap(); // FIXME + return new HashMap<>(); // FIXME } } diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspTokenManager.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspTokenManager.java index c7252b4ab5..d62c75ae00 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspTokenManager.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspTokenManager.java @@ -24,6 +24,6 @@ public class JspTokenManager implements TokenManager { } public void setFileName(String fileName) { - tokenManager.setFileName(fileName); + JspParserTokenManager.setFileName(fileName); } } diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java index 743412c488..2da772e466 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java @@ -59,7 +59,7 @@ public class DumpFacade extends JspParserVisitorAdapter { String image = node.getImage(); // Extras - List extras = new ArrayList(); + List extras = new ArrayList<>(); // Other extras if (node instanceof ASTAttribute) { diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/OpenTagRegister.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/OpenTagRegister.java index a9f79f99ae..c4a84b3c94 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/OpenTagRegister.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/OpenTagRegister.java @@ -20,7 +20,7 @@ import net.sourceforge.pmd.util.StringUtil; */ public class OpenTagRegister { - private List tagList = new ArrayList(); + private List tagList = new ArrayList<>(); public void openTag(ASTElement elm) { if (elm == null || StringUtil.isEmpty(elm.getName())) { @@ -49,7 +49,7 @@ public class OpenTagRegister { * name as element */ boolean matchingTagFound = false; - List processedElmnts = new ArrayList(); + List processedElmnts = new ArrayList<>(); for (int i = lastRegisteredTagIdx; i >= 0; i--) { ASTElement parent = tagList.get(i); String parentName = parent.getName(); diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/StartAndEndTagMismatchException.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/StartAndEndTagMismatchException.java index c65d2fdbfe..868aeb2f68 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/StartAndEndTagMismatchException.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/StartAndEndTagMismatchException.java @@ -9,6 +9,8 @@ package net.sourceforge.pmd.lang.jsp.ast; */ public class StartAndEndTagMismatchException extends SyntaxErrorException { + private static final long serialVersionUID = 5434485938487458692L; + public static final String START_END_TAG_MISMATCH_RULE_NAME = "Start and End Tags of an XML Element must match."; diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/SyntaxErrorException.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/SyntaxErrorException.java index ee16336e09..48edadc05c 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/SyntaxErrorException.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/SyntaxErrorException.java @@ -10,6 +10,8 @@ package net.sourceforge.pmd.lang.jsp.ast; * @since Created on 11-jan-2006 */ public abstract class SyntaxErrorException extends ParseException { + private static final long serialVersionUID = -6702683724078264059L; + private int line; private String ruleName; diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleViolationFactory.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleViolationFactory.java index 13bdf6d64d..a33f8d9f2f 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleViolationFactory.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/JspRuleViolationFactory.java @@ -21,7 +21,7 @@ public final class JspRuleViolationFactory extends AbstractRuleViolationFactory @Override protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message) { - return new ParametricRuleViolation(rule, ruleContext, (JspNode) node, message); + return new ParametricRuleViolation<>(rule, ruleContext, (JspNode) node, message); } protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine) { diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/DuplicateJspImportsRule.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/DuplicateJspImportsRule.java index 7799ea7ed0..5b719ebb1c 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/DuplicateJspImportsRule.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/DuplicateJspImportsRule.java @@ -16,7 +16,7 @@ import net.sourceforge.pmd.lang.rule.ImportWrapper; public class DuplicateJspImportsRule extends AbstractJspRule { - private Set imports = new HashSet(); + private Set imports = new HashSet<>(); @Override public void apply(List nodes, RuleContext ctx) { diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/NoUnsanitizedJSPExpressionRule.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/NoUnsanitizedJSPExpressionRule.java index 4a33b31be7..e4cc627ef2 100644 --- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/NoUnsanitizedJSPExpressionRule.java +++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/rule/basic/NoUnsanitizedJSPExpressionRule.java @@ -23,7 +23,7 @@ public class NoUnsanitizedJSPExpressionRule extends AbstractJspRule { } private boolean elOutsideTaglib(ASTElExpression node) { - ASTElement parentASTElement = (ASTElement) node.getFirstParentOfType(ASTElement.class); + ASTElement parentASTElement = node.getFirstParentOfType(ASTElement.class); boolean elInTaglib = parentASTElement != null && parentASTElement.getName() != null && parentASTElement.getName().contains(":"); diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index c0c2c5fba7..a97648fcd6 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd; import java.util.Arrays; @@ -16,7 +19,7 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest { } @Parameters - public static Collection data() { + public static Collection data() { return Arrays.asList(new Object[][] { { JspLanguageModule.NAME, JspLanguageModule.TERSE_NAME, "", LanguageRegistry.getLanguage(JspLanguageModule.NAME).getDefaultVersion() } }); diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNodesTst.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNodesTst.java index c6ce2923a4..195a844ccc 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNodesTst.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNodesTst.java @@ -14,7 +14,7 @@ import net.sourceforge.pmd.lang.ast.Node; public abstract class AbstractJspNodesTst { - public void assertNumberOfNodes(Class clazz, String source, int number) { + public void assertNumberOfNodes(Class clazz, String source, int number) { Set nodes = getNodes(clazz, source); assertEquals("Exactly " + number + " element(s) expected", number, nodes.size()); } @@ -26,10 +26,10 @@ public abstract class AbstractJspNodesTst { * @param source * @return Set */ - public Set getNodes(Class clazz, String source) { + public Set getNodes(Class clazz, String source) { JspParser parser = new JspParser(new JavaCharStream(new StringReader(source))); Node rootNode = parser.CompilationUnit(); - Set nodes = new HashSet(); + Set nodes = new HashSet<>(); addNodeAndSubnodes(rootNode, nodes, clazz); return nodes; } @@ -42,9 +42,9 @@ public abstract class AbstractJspNodesTst { * @param allNodes * @return Set */ - public Set getNodesOfType(Class clazz, Set allNodes) { - Set result = new HashSet(); - for (Object node: allNodes) { + public Set getNodesOfType(Class clazz, Set allNodes) { + Set result = new HashSet<>(); + for (Node node: allNodes) { if (clazz.equals(node.getClass())) { result.add((T)node); } @@ -56,7 +56,7 @@ public abstract class AbstractJspNodesTst { * Add the given node and its subnodes to the set of nodes. If clazz is not null, only * nodes of the given class are put in the set of nodes. */ - private void addNodeAndSubnodes(Node node, Set nodes, Class clazz) { + private void addNodeAndSubnodes(Node node, Set nodes, Class clazz) { if (null != node) { if ((null == clazz) || (clazz.equals(node.getClass()))) { nodes.add((T)node); diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java index ce8e7c0d1a..52ce5d61f3 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java @@ -40,7 +40,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { */ @Test public void testElementAttributeAndNamespace() throws Throwable { - Set nodes = getNodes(null, TEST_ELEMENT_AND_NAMESPACE); + Set nodes = getNodes(null, TEST_ELEMENT_AND_NAMESPACE); Set elementNodes = getNodesOfType(ASTElement.class, nodes); assertEquals("One element node expected!", 1, elementNodes.size()); @@ -55,7 +55,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { Set attributeNodes = getNodesOfType(ASTAttribute.class, nodes); assertEquals("One attribute node expected!", 1, attributeNodes.size()); - ASTAttribute attribute = (ASTAttribute) attributeNodes.iterator().next(); + ASTAttribute attribute = attributeNodes.iterator().next(); assertEquals("Correct name expected!", "MyNsPrefix:MyAttr", attribute .getName()); assertEquals("Has namespace prefix!", true, attribute.isHasNamespacePrefix()); @@ -74,12 +74,12 @@ public class JspDocStyleTest extends AbstractJspNodesTst { @Test public void testAttributeValueContainingHash() { - Set nodes = getNodes(null, TEST_ATTRIBUTE_VALUE_CONTAINING_HASH); + Set nodes = getNodes(null, TEST_ATTRIBUTE_VALUE_CONTAINING_HASH); Set attributes = getNodesOfType(ASTAttribute.class, nodes); assertEquals("Three attributes expected!", 3, attributes.size()); - List attrsList = new ArrayList(attributes); + List attrsList = new ArrayList<>(attributes); Collections.sort(attrsList, new Comparator() { public int compare(ASTAttribute arg0, ASTAttribute arg1) { return arg0.getName().compareTo(arg1.getName()); @@ -113,7 +113,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { Set cdataNodes = getNodes(ASTCData.class, TEST_CDATA); assertEquals("One CDATA node expected!", 1, cdataNodes.size()); - ASTCData cdata = (ASTCData) cdataNodes.iterator().next(); + ASTCData cdata = cdataNodes.iterator().next(); assertEquals("Content incorrectly parsed!", " some ]] ]> ", cdata .getImage()); } @@ -123,7 +123,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { */ @Test public void testDoctype() { - Set nodes = getNodes(null, TEST_DOCTYPE); + Set nodes = getNodes(null, TEST_DOCTYPE); Set docTypeDeclarations = getNodesOfType(ASTDoctypeDeclaration.class, nodes); assertEquals("One doctype declaration expected!", 1, docTypeDeclarations @@ -135,8 +135,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { Set externalIds = getNodesOfType(ASTDoctypeExternalId.class, nodes); assertEquals("One doctype external id expected!", 1, externalIds .size()); - ASTDoctypeExternalId externalId = (ASTDoctypeExternalId) externalIds - .iterator().next(); + ASTDoctypeExternalId externalId = externalIds.iterator().next(); assertEquals("Correct external public id expected!", "-//W3C//DTD XHTML 1.1//EN", externalId.getPublicId()); assertEquals("Correct external uri expected!", "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd", @@ -152,7 +151,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void testComment() { Set comments = getNodes(ASTCommentTag.class, TEST_COMMENT); assertEquals("One comment expected!", 1, comments.size()); - ASTCommentTag comment = (ASTCommentTag) comments.iterator().next(); + ASTCommentTag comment = comments.iterator().next(); assertEquals("Correct comment content expected!", "comment", comment.getImage()); } @@ -163,7 +162,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void testHtmlScript() { Set scripts = getNodes(ASTHtmlScript.class, TEST_HTML_SCRIPT); assertEquals("One script expected!", 1, scripts.size()); - ASTHtmlScript script = (ASTHtmlScript) scripts.iterator().next(); + ASTHtmlScript script = scripts.iterator().next(); assertEquals("Correct script content expected!", "Script!", script.getImage()); } @@ -175,7 +174,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void testImportHtmlScript() { Set scripts = getNodes(ASTHtmlScript.class, TEST_IMPORT_JAVASCRIPT); assertEquals("One script expected!", 1, scripts.size()); - ASTHtmlScript script = (ASTHtmlScript) scripts.iterator().next(); + ASTHtmlScript script = scripts.iterator().next(); List value = script.findDescendantsOfType(ASTAttributeValue.class); assertEquals("filename.js",value.get(0).getImage()); } @@ -187,7 +186,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void testHtmlScriptWithAttribute() { Set scripts = getNodes(ASTHtmlScript.class, TEST_HTML_SCRIPT_WITH_ATTRIBUTE); assertEquals("One script expected!", 1, scripts.size()); - ASTHtmlScript script = (ASTHtmlScript) scripts.iterator().next(); + ASTHtmlScript script = scripts.iterator().next(); assertEquals("Correct script content expected!", "Script!", script.getImage()); List attrs = script.findDescendantsOfType(ASTAttributeValue.class); assertTrue("text/javascript".equals(attrs.get(0).getImage())); @@ -222,7 +221,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void testTextInTag() { Set scripts = getNodes(ASTText.class, TEST_TEXT_IN_TAG); assertEquals("One text chunk expected!", 1, scripts.size()); - ASTText script = (ASTText) scripts.iterator().next(); + ASTText script = scripts.iterator().next(); assertEquals("Correct content expected!", " some text ", script.getImage()); } @@ -236,9 +235,9 @@ public class JspDocStyleTest extends AbstractJspNodesTst { assertEquals("Two tags expected!", 2, scripts.size()); List elmts = sortNodesByName(scripts); Iterator iterator = elmts.iterator(); - ASTElement script = (ASTElement) iterator.next(); + ASTElement script = iterator.next(); assertEquals("Correct content expected!", "a", script.getName()); - script = (ASTElement) iterator.next(); + script = iterator.next(); assertEquals("Correct content expected!", "b", script.getName()); } @@ -250,7 +249,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void unclosedTagsWithDollar(){ Set scripts = getNodes(ASTText.class, TEST_TAGS_WITH_DOLLAR); assertEquals("Two text chunks expected!", 2, scripts.size()); - ASTText script = (ASTText) scripts.iterator().next(); + ASTText script = scripts.iterator().next(); assertEquals("Correct content expected!", " $ ", script.getImage()); } @@ -264,9 +263,9 @@ public class JspDocStyleTest extends AbstractJspNodesTst { assertEquals("Two EL expressions expected!", 2, scripts.size()); List exprs = sortByImage(scripts); Iterator iterator = exprs.iterator(); - ASTElExpression script = (ASTElExpression) iterator.next(); + ASTElExpression script = iterator.next(); assertEquals("Correct content expected!", "expr1", script.getImage()); - script = (ASTElExpression) iterator.next(); + script = iterator.next(); assertEquals("Correct content expected!", "expr2", script.getImage()); } @@ -314,7 +313,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void unclosedTagsWithJspExpressionWithin(){ Set scripts = getNodes(ASTJspExpression.class, TEST_TAGS_WITH_EXPRESSION_WITHIN); assertEquals("Two JSP expressions expected!", 2, scripts.size()); - ASTJspExpression script = (ASTJspExpression) scripts.iterator().next(); + ASTJspExpression script = scripts.iterator().next(); assertEquals("Correct content expected!", "expr", script.getImage()); } @@ -328,7 +327,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void textBetweenUnopenedTag(){ Set scripts = getNodes(ASTText.class, TEST_TEXT_WITH_UNOPENED_TAG); assertEquals("Two text chunks expected!", 2, scripts.size()); - ASTText script = (ASTText) scripts.iterator().next(); + ASTText script = scripts.iterator().next(); assertEquals("Correct content expected!", "$", script.getImage()); } @@ -341,7 +340,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { public void textMultipleClosingTags(){ Set scripts = getNodes(ASTText.class, TEST_MULTIPLE_CLOSING_TAGS); assertEquals("Four text chunks expected!", 4, scripts.size()); - ASTText script = (ASTText) scripts.iterator().next(); + ASTText script = scripts.iterator().next(); assertEquals("Correct content expected!", " some text ", script.getImage()); } @@ -856,7 +855,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { * @return */ private List sortNodesByName(Set elements){ - List list = new ArrayList(); + List list = new ArrayList<>(); list.addAll(elements); Collections.sort(list, new Comparator() { public int compare(ASTElement o1, ASTElement o2) { @@ -881,7 +880,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { * @return */ private List sortByImage(Set elements){ - List list = new ArrayList(); + List list = new ArrayList<>(); list.addAll(elements); Collections.sort(list, new Comparator() { public int compare(Node o1, Node o2) { diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspPageStyleTest.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspPageStyleTest.java index a905bc387f..c89a579b72 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspPageStyleTest.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspPageStyleTest.java @@ -18,9 +18,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testComment() { - Set comments = getNodes(ASTJspComment.class, JSP_COMMENT); + Set comments = getNodes(ASTJspComment.class, JSP_COMMENT); assertEquals("One comment expected!", 1, comments.size()); - ASTJspComment comment = (ASTJspComment) comments.iterator().next(); + ASTJspComment comment = comments.iterator().next(); assertEquals("Correct comment content expected!", "some comment", comment.getImage()); } @@ -29,7 +29,7 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testDirective() { - Set nodes = getNodes(null, JSP_DIRECTIVE); + Set nodes = getNodes(null, JSP_DIRECTIVE); Set directives = getNodesOfType(ASTJspDirective.class, nodes); assertEquals("One directive expected!", 1, directives.size()); @@ -40,7 +40,7 @@ public class JspPageStyleTest extends AbstractJspNodesTst { Set directiveAttrs = getNodesOfType(ASTJspDirectiveAttribute.class, nodes); assertEquals("Two directive attributes expected!", 2, directiveAttrs.size()); - List attrsList = new ArrayList(directiveAttrs); + List attrsList = new ArrayList<>(directiveAttrs); Collections.sort(attrsList, new Comparator() { public int compare(ASTJspDirectiveAttribute arg0, ASTJspDirectiveAttribute arg1) { return arg0.getName().compareTo(arg1.getName()); @@ -67,9 +67,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testDeclaration() { - Set declarations = getNodes(ASTJspDeclaration.class, JSP_DECLARATION); + Set declarations = getNodes(ASTJspDeclaration.class, JSP_DECLARATION); assertEquals("One declaration expected!", 1, declarations.size()); - ASTJspDeclaration declaration = (ASTJspDeclaration) declarations.iterator().next(); + ASTJspDeclaration declaration = declarations.iterator().next(); assertEquals("Correct declaration content expected!", "String someString = \"s\";", declaration.getImage()); } @@ -79,9 +79,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testScriptlet() { - Set scriptlets = getNodes(ASTJspScriptlet.class, JSP_SCRIPTLET); + Set scriptlets = getNodes(ASTJspScriptlet.class, JSP_SCRIPTLET); assertEquals("One scriptlet expected!", 1, scriptlets.size()); - ASTJspScriptlet scriptlet = (ASTJspScriptlet) scriptlets.iterator().next(); + ASTJspScriptlet scriptlet = scriptlets.iterator().next(); assertEquals("Correct scriptlet content expected!", "someString = someString + \"suffix\";", scriptlet.getImage()); } @@ -91,9 +91,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testExpression() { - Set expressions = getNodes(ASTJspExpression.class, JSP_EXPRESSION); + Set expressions = getNodes(ASTJspExpression.class, JSP_EXPRESSION); assertEquals("One expression expected!", 1, expressions.size()); - ASTJspExpression expression = (ASTJspExpression) expressions.iterator().next(); + ASTJspExpression expression = expressions.iterator().next(); assertEquals("Correct expression content expected!", "someString", expression.getImage()); } @@ -103,10 +103,10 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testExpressionInAttribute() { - Set expressions = getNodes(ASTJspExpressionInAttribute.class, + Set expressions = getNodes(ASTJspExpressionInAttribute.class, JSP_EXPRESSION_IN_ATTRIBUTE); assertEquals("One expression expected!", 1, expressions.size()); - ASTJspExpressionInAttribute expression = (ASTJspExpressionInAttribute) expressions.iterator().next(); + ASTJspExpressionInAttribute expression = expressions.iterator().next(); assertEquals("Correct expression content expected!", "style.getClass()", expression.getImage()); } @@ -116,9 +116,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testElExpression() { - Set expressions = getNodes(ASTElExpression.class, JSP_EL_EXPRESSION); + Set expressions = getNodes(ASTElExpression.class, JSP_EL_EXPRESSION); assertEquals("One expression expected!", 1, expressions.size()); - ASTElExpression expression = (ASTElExpression) expressions.iterator().next(); + ASTElExpression expression = expressions.iterator().next(); assertEquals("Correct expression content expected!", "myBean.get(\"${ World }\")", expression.getImage()); } @@ -128,9 +128,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testElExpressionInAttribute() { - Set expressions = getNodes(ASTElExpression.class, JSP_EL_EXPRESSION_IN_ATTRIBUTE); + Set expressions = getNodes(ASTElExpression.class, JSP_EL_EXPRESSION_IN_ATTRIBUTE); assertEquals("One expression expected!", 1, expressions.size()); - ASTElExpression expression = (ASTElExpression) expressions.iterator().next(); + ASTElExpression expression = expressions.iterator().next(); assertEquals("Correct expression content expected!", "myValidator.find(\"'jsp'\")", expression.getImage()); } @@ -140,9 +140,9 @@ public class JspPageStyleTest extends AbstractJspNodesTst { */ @Test public void testJsfValueBinding() { - Set valueBindings = getNodes(ASTValueBinding.class, JSF_VALUE_BINDING); + Set valueBindings = getNodes(ASTValueBinding.class, JSF_VALUE_BINDING); assertEquals("One value binding expected!", 1, valueBindings.size()); - ASTValueBinding valueBinding = (ASTValueBinding) valueBindings.iterator().next(); + ASTValueBinding valueBinding = valueBindings.iterator().next(); assertEquals("Correct expression content expected!", "myValidator.find(\"'jsf'\")", valueBinding.getImage()); } diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/XPathJspRuleTest.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/XPathJspRuleTest.java index 51ce04c7c8..09954701b5 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/XPathJspRuleTest.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/XPathJspRuleTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd.lang.jsp.ast; import static org.junit.Assert.assertEquals; @@ -46,7 +49,7 @@ public class XPathJspRuleTest extends RuleTst { assertEquals("One violation expected!", 1, report.size()); - RuleViolation rv = (RuleViolation) report.iterator().next(); + RuleViolation rv = report.iterator().next(); assertEquals(1, rv.getBeginLine()); } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLParser.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLParser.java index acf3437365..41a3da5450 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLParser.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLParser.java @@ -48,6 +48,6 @@ public class PLSQLParser extends AbstractParser { } public Map getSuppressMap() { - return new HashMap(); // FIXME + return new HashMap<>(); // FIXME } } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLTokenManager.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLTokenManager.java index b8cdfe14f5..a6fcd8a569 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLTokenManager.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLTokenManager.java @@ -24,6 +24,6 @@ public class PLSQLTokenManager implements TokenManager { } public void setFileName(String fileName) { - tokenManager.setFileName(fileName); + PLSQLParserTokenManager.setFileName(fileName); } } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java index afabfc76dc..fc45991801 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java @@ -84,7 +84,7 @@ public class DumpFacade extends PLSQLParserVisitorAdapter { } // Extras - List extras = new ArrayList(); + List extras = new ArrayList<>(); // Output image and extras if (image != null || !extras.isEmpty()) { diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/DFAPLSQLGraphRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/DFAPLSQLGraphRule.java index f63530e65e..0c64bb3d6b 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/DFAPLSQLGraphRule.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/DFAPLSQLGraphRule.java @@ -56,7 +56,7 @@ public class DFAPLSQLGraphRule extends AbstractPLSQLRule implements DFAGraphRule @Override public Object visit(ASTInput acu, Object data) { - executables = new ArrayList(); + executables = new ArrayList<>(); return super.visit(acu, data); } } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/VariableAccessVisitor.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/VariableAccessVisitor.java index 7a8a74354e..5bcff7d587 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/VariableAccessVisitor.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/dfa/VariableAccessVisitor.java @@ -85,7 +85,7 @@ public class VariableAccessVisitor extends PLSQLParserVisitorAdapter { private List markUsages(DataFlowNode inode) { // undefinitions was once a field... seems like it works fine as a local - List undefinitions = new ArrayList(); + List undefinitions = new ArrayList<>(); Set>> variableDeclarations = collectDeclarations(inode); for (Map> declarations : variableDeclarations) { for (Map.Entry> entry : declarations.entrySet()) { @@ -110,7 +110,7 @@ public class VariableAccessVisitor extends PLSQLParserVisitorAdapter { } private Set>> collectDeclarations(DataFlowNode inode) { - Set>> decls = new HashSet>>(); + Set>> decls = new HashSet<>(); Map> varDecls; for (int i = 0; i < inode.getFlow().size(); i++) { DataFlowNode n = inode.getFlow().get(i); @@ -153,7 +153,7 @@ public class VariableAccessVisitor extends PLSQLParserVisitorAdapter { List children = inode.getNode().findDescendantsOfType(node.getClass()); for (Node n : children) { if (node.equals(n)) { - List v = new ArrayList(); + List v = new ArrayList<>(); v.add(va); inode.setVariableAccess(v); return; diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleViolationFactory.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleViolationFactory.java index b437970035..36b6341a62 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleViolationFactory.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleViolationFactory.java @@ -20,11 +20,11 @@ public final class PLSQLRuleViolationFactory extends AbstractRuleViolationFactor @Override protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message) { - return new ParametricRuleViolation(rule, ruleContext, node, message); + return new ParametricRuleViolation<>(rule, ruleContext, node, message); } protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine) { - ParametricRuleViolation violation = new ParametricRuleViolation(rule, ruleContext, node, message); + ParametricRuleViolation violation = new ParametricRuleViolation<>(rule, ruleContext, node, message); violation.setLines(beginLine, endLine); return violation; } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/CyclomaticComplexityRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/CyclomaticComplexityRule.java index 4d69fd1726..8106ac5559 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/CyclomaticComplexityRule.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/CyclomaticComplexityRule.java @@ -78,7 +78,7 @@ public class CyclomaticComplexityRule extends AbstractPLSQLRule { } } - private Stack entryStack = new Stack(); + private Stack entryStack = new Stack<>(); public CyclomaticComplexityRule() { definePropertyDescriptor(REPORT_LEVEL_DESCRIPTOR); diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/NPathComplexityRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/NPathComplexityRule.java index f86eb1ae55..d278374681 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/NPathComplexityRule.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/NPathComplexityRule.java @@ -175,7 +175,7 @@ public class NPathComplexityRule extends AbstractStatisticalPLSQLRule { int complexity = 0; - List statementChildren = new ArrayList(); + List statementChildren = new ArrayList<>(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { if (node.jjtGetChild(i).getClass() == ASTStatement.class || node.jjtGetChild(i).getClass() == ASTElsifClause.class @@ -225,7 +225,7 @@ public class NPathComplexityRule extends AbstractStatisticalPLSQLRule { int complexity = 0; - List statementChildren = new ArrayList(); + List statementChildren = new ArrayList<>(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { if (node.jjtGetChild(i).getClass() == ASTStatement.class) { statementChildren.add((PLSQLNode) node.jjtGetChild(i)); @@ -261,7 +261,7 @@ public class NPathComplexityRule extends AbstractStatisticalPLSQLRule { int complexity = 0; - List statementChildren = new ArrayList(); + List statementChildren = new ArrayList<>(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { if (node.jjtGetChild(i).getClass() == ASTStatement.class) { statementChildren.add((PLSQLNode) node.jjtGetChild(i)); diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/TooManyFieldsRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/TooManyFieldsRule.java index e6e4aa4100..f2ce71518f 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/TooManyFieldsRule.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/codesize/TooManyFieldsRule.java @@ -34,8 +34,8 @@ public class TooManyFieldsRule extends AbstractPLSQLRule { @Override public Object visit(ASTInput node, Object data) { - stats = new HashMap(5); - nodes = new HashMap(5); + stats = new HashMap<>(5); + nodes = new HashMap<>(5); return super.visit(node, data); } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ClassScope.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ClassScope.java index 466f674f42..c0378e5d24 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ClassScope.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ClassScope.java @@ -115,7 +115,7 @@ public class ClassScope extends AbstractScope { } protected Set findVariableHere(PLSQLNameOccurrence occurrence) { - Set result = new HashSet(); + Set result = new HashSet<>(); Map> variableDeclarations = getVariableDeclarations(); Map> methodDeclarations = getMethodDeclarations(); if (occurrence.isThisOrSuper() || occurrence.getImage().equals(className)) { @@ -161,7 +161,7 @@ public class ClassScope extends AbstractScope { return result; } - List images = new ArrayList(); + List images = new ArrayList<>(); images.add(occurrence.getImage()); if (null == occurrence.getImage()) { diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ImageFinderFunction.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ImageFinderFunction.java index 1cfbfa2939..ce3a8615db 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ImageFinderFunction.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ImageFinderFunction.java @@ -12,7 +12,7 @@ import net.sourceforge.pmd.util.UnaryFunction; public class ImageFinderFunction implements UnaryFunction { - private Set images = new HashSet(); + private Set images = new HashSet<>(); private NameDeclaration decl; public ImageFinderFunction(String img) { diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/LocalScope.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/LocalScope.java index ed0fcf435e..85bd59f80b 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/LocalScope.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/LocalScope.java @@ -46,7 +46,7 @@ public class LocalScope extends AbstractScope { } public Set findVariableHere(PLSQLNameOccurrence occurrence) { - Set result = new HashSet(); + Set result = new HashSet<>(); if (occurrence.isThisOrSuper() || occurrence.isMethodOrConstructorInvocation()) { return result; } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/MethodScope.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/MethodScope.java index 0c6a8e7ec5..17f7dc3337 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/MethodScope.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/MethodScope.java @@ -56,7 +56,7 @@ public class MethodScope extends AbstractScope { } public Set findVariableHere(PLSQLNameOccurrence occurrence) { - Set result = new HashSet(); + Set result = new HashSet<>(); if (occurrence.isThisOrSuper() || occurrence.isMethodOrConstructorInvocation()) { return result; } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/NameFinder.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/NameFinder.java index 4361c30d67..bd06f730f0 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/NameFinder.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/NameFinder.java @@ -18,7 +18,7 @@ import net.sourceforge.pmd.lang.plsql.ast.PLSQLNode; public class NameFinder { - private List names = new ArrayList(); + private List names = new ArrayList<>(); public NameFinder(ASTPrimaryExpression node) { Node simpleNode = node.jjtGetChild(0); diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/OccurrenceFinder.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/OccurrenceFinder.java index d35808e8cf..1a6ad9262b 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/OccurrenceFinder.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/OccurrenceFinder.java @@ -22,7 +22,7 @@ public class OccurrenceFinder extends PLSQLParserVisitorAdapter { // Maybe do some sort of State pattern thingy for when NameDeclaration // is empty/not empty - Set declarations = new HashSet(); + Set declarations = new HashSet<>(); List names = nameFinder.getNames(); for (PLSQLNameOccurrence occ: names) { @@ -38,7 +38,7 @@ public class OccurrenceFinder extends PLSQLParserVisitorAdapter { break; } } else { - Set additionalDeclarations = new HashSet(); + Set additionalDeclarations = new HashSet<>(); for (NameDeclaration decl : declarations) { // now we've got a scope we're starting with, so work from there Scope scope = decl.getScope(); diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ScopeAndDeclarationFinder.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ScopeAndDeclarationFinder.java index bd58864ab8..82fc73eb40 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ScopeAndDeclarationFinder.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/ScopeAndDeclarationFinder.java @@ -47,7 +47,7 @@ public class ScopeAndDeclarationFinder extends PLSQLParserVisitorAdapter { * A stack of scopes reflecting the scope hierarchy when a node is visited. * This is used to set the parents of the created scopes correctly. */ - private Stack scopes = new Stack(); + private Stack scopes = new Stack<>(); /** * Sets the scope of a node and adjusts the scope stack accordingly. diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/Search.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/Search.java index 301c99e52e..1a21e4600f 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/Search.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/Search.java @@ -15,7 +15,7 @@ public class Search { private final static Logger LOGGER = Logger.getLogger(Search.class.getName()); private PLSQLNameOccurrence occ; - private Set declarations = new HashSet(); + private Set declarations = new HashSet<>(); public Search(PLSQLNameOccurrence occ) { if (LOGGER.isLoggable(Level.FINEST)) { @@ -60,6 +60,6 @@ public class Search { } return scope.addNameOccurrence(nameOccurrence); } - return new HashSet(); + return new HashSet<>(); } } diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/TypeSet.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/TypeSet.java index f00fc1e434..ecb07f1cb1 100644 --- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/TypeSet.java +++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/TypeSet.java @@ -82,7 +82,7 @@ public class TypeSet { } public static class PrimitiveTypeResolver implements Resolver { - private Map> primitiveTypes = new HashMap>(); + private Map> primitiveTypes = new HashMap<>(); @SuppressWarnings("PMD.AvoidUsingShortType") public PrimitiveTypeResolver() { @@ -120,8 +120,8 @@ public class TypeSet { } private String pkg; - private Set imports = new HashSet(); - private List resolvers = new ArrayList(); + private Set imports = new HashSet<>(); + private List resolvers = new ArrayList<>(); public void setASTinputPackage(String pkg) { this.pkg = pkg; diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index d58fd5241b..6d12ecfbab 100644 --- a/pmd-plsql/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd; import java.util.Arrays; @@ -16,7 +19,7 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest { } @Parameters - public static Collection data() { + public static Collection data() { return Arrays.asList(new Object[][] { { PLSQLLanguageModule.NAME, PLSQLLanguageModule.TERSE_NAME, "", LanguageRegistry.getLanguage(PLSQLLanguageModule.NAME).getDefaultVersion() } }); diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/AbstractPLSQLParserTst.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/AbstractPLSQLParserTst.java index fa6248c4db..37db04d604 100644 --- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/AbstractPLSQLParserTst.java +++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/AbstractPLSQLParserTst.java @@ -61,7 +61,7 @@ public abstract class AbstractPLSQLParserTst { } public Set getNodes(LanguageVersion languageVersion, Class clazz, String plsqlCode) throws Throwable { - Collector coll = new Collector(clazz); + Collector coll = new Collector<>(clazz); LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler(); ASTInput cu = (ASTInput)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(plsqlCode)); PLSQLParserVisitor jpv = (PLSQLParserVisitor) Proxy.newProxyInstance(PLSQLParserVisitor.class.getClassLoader(), new Class[]{PLSQLParserVisitor.class}, coll); @@ -70,7 +70,7 @@ public abstract class AbstractPLSQLParserTst { } public List getOrderedNodes(Class clazz, String plsqlCode) throws Throwable { - Collector coll = new Collector(clazz, new ArrayList()); + Collector coll = new Collector<>(clazz, new ArrayList()); LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(PLSQLLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler(); ASTInput cu = (ASTInput)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(plsqlCode)); PLSQLParserVisitor jpv = (PLSQLParserVisitor) Proxy.newProxyInstance(PLSQLParserVisitor.class.getClassLoader(), new Class[]{PLSQLParserVisitor.class}, coll); @@ -95,7 +95,7 @@ public abstract class AbstractPLSQLParserTst { public ASTInput buildDFA(String plsqlCode) throws Throwable { LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(PLSQLLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler(); ASTInput cu = (ASTInput)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(plsqlCode)); - PLSQLParserVisitor jpv = (PLSQLParserVisitor) Proxy.newProxyInstance(PLSQLParserVisitor.class.getClassLoader(), new Class[]{PLSQLParserVisitor.class}, new Collector(ASTInput.class)); + PLSQLParserVisitor jpv = (PLSQLParserVisitor) Proxy.newProxyInstance(PLSQLParserVisitor.class.getClassLoader(), new Class[]{PLSQLParserVisitor.class}, new Collector<>(ASTInput.class)); jpv.visit(cu, null); new SymbolFacade().initializeWith(cu); new DataFlowFacade().initializeWith(languageVersionHandler.getDataFlowHandler(), cu); @@ -113,6 +113,6 @@ public abstract class AbstractPLSQLParserTst { public Node parseLanguage(LanguageVersion languageVersion, String code) { LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler(); - return (Node)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(code)); + return languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(code)); } } diff --git a/pmd-ruby/src/main/java/net/sourceforge/pmd/cpd/RubyTokenizer.java b/pmd-ruby/src/main/java/net/sourceforge/pmd/cpd/RubyTokenizer.java index fa204d2a53..d069fed182 100644 --- a/pmd-ruby/src/main/java/net/sourceforge/pmd/cpd/RubyTokenizer.java +++ b/pmd-ruby/src/main/java/net/sourceforge/pmd/cpd/RubyTokenizer.java @@ -17,11 +17,11 @@ public class RubyTokenizer extends AbstractTokenizer { */ public RubyTokenizer() { // setting markers for "string" in ruby - this.stringToken = new ArrayList(); + this.stringToken = new ArrayList<>(); this.stringToken.add("\'"); this.stringToken.add("\""); // setting markers for 'ignorable character' in Ruby - this.ignorableCharacter = new ArrayList(); + this.ignorableCharacter = new ArrayList<>(); this.ignorableCharacter.add("{"); this.ignorableCharacter.add("}"); this.ignorableCharacter.add("("); @@ -30,7 +30,7 @@ public class RubyTokenizer extends AbstractTokenizer { this.ignorableCharacter.add(","); // setting markers for 'ignorable string' in Ruby - this.ignorableStmt = new ArrayList(); + this.ignorableStmt = new ArrayList<>(); this.ignorableStmt.add("while"); this.ignorableStmt.add("do"); this.ignorableStmt.add("end"); diff --git a/pmd-scala/src/main/java/org/sonar/plugins/scala/util/StringUtils.java b/pmd-scala/src/main/java/org/sonar/plugins/scala/util/StringUtils.java index 1db4d308a2..bf32b4afa9 100644 --- a/pmd-scala/src/main/java/org/sonar/plugins/scala/util/StringUtils.java +++ b/pmd-scala/src/main/java/org/sonar/plugins/scala/util/StringUtils.java @@ -33,7 +33,7 @@ public final class StringUtils { } public static List convertStringToListOfLines(String string) throws IOException { - final List lines = new ArrayList(); + final List lines = new ArrayList<>(); BufferedReader reader = null; try { reader = new BufferedReader(new StringReader(string)); diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/AbstractRuleSetFactoryTest.java b/pmd-test/src/main/java/net/sourceforge/pmd/AbstractRuleSetFactoryTest.java index a7883a3570..7be4d8c617 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/AbstractRuleSetFactoryTest.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/AbstractRuleSetFactoryTest.java @@ -209,7 +209,7 @@ public abstract class AbstractRuleSetFactoryTest { // Gets all test PMD Ruleset XML files private List getRuleSetFileNames() throws IOException, RuleSetNotFoundException { - List result = new ArrayList(); + List result = new ArrayList<>(); for (Language language : LanguageRegistry.getLanguages()) { result.addAll(getRuleSetFileNames(language.getTerseName())); @@ -219,7 +219,7 @@ public abstract class AbstractRuleSetFactoryTest { } private List getRuleSetFileNames(String language) throws IOException, RuleSetNotFoundException { - List ruleSetFileNames = new ArrayList(); + List ruleSetFileNames = new ArrayList<>(); try { Properties properties = new Properties(); properties.load(ResourceLoader.loadResourceAsStream("rulesets/" + language + "/rulesets.properties")); diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/ant/AbstractAntTestHelper.java b/pmd-test/src/main/java/net/sourceforge/pmd/ant/AbstractAntTestHelper.java index 2b9f31e30a..924dd0344a 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/ant/AbstractAntTestHelper.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/ant/AbstractAntTestHelper.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd.ant; import static java.io.File.separator; diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/PMDTestRunner.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/PMDTestRunner.java index a4569c192c..34bdfd902d 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/PMDTestRunner.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/PMDTestRunner.java @@ -41,7 +41,7 @@ import org.junit.runners.model.TestClass; public class PMDTestRunner extends Runner implements Filterable { private final Description desc; private final Class klass; - private final List allTests = new ArrayList(); + private final List allTests = new ArrayList<>(); private BlockJUnit4ClassRunner chainedRunner; /** @@ -63,7 +63,7 @@ public class PMDTestRunner extends Runner implements Filterable { SimpleAggregatorTst test = createTestClass(); test.setUp(); - List rules = new ArrayList(test.getRules()); + List rules = new ArrayList<>(test.getRules()); Collections.sort(rules, new Comparator() { @Override public int compare(Rule o1, Rule o2) { diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTst.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTst.java index 023bbc6d2e..5a83052746 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTst.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTst.java @@ -53,8 +53,9 @@ public abstract class RuleTst { Rule rule = new RuleSetFactory().createRuleSets(ruleSet).getRuleByName(ruleName); if (rule == null) { fail("Rule " + ruleName + " not found in ruleset " + ruleSet); + } else { + rule.setRuleSetName(ruleSet); } - rule.setRuleSetName(ruleSet); return rule; } catch (RuleSetNotFoundException e) { e.printStackTrace(); @@ -109,9 +110,7 @@ public abstract class RuleTst { assertLineNumbers(report, test); } finally { //Restore old properties - // TODO Tried to use generics here, but there's a compiler bug doing so in a finally block. - // Neither 1.5.0_16-b02 or 1.6.0_07-b06 works, but 1.7.0-ea-b34 seems to work. - for (Map.Entry entry: oldProperties.entrySet()) { + for (Map.Entry, Object> entry: oldProperties.entrySet()) { rule.setProperty((PropertyDescriptor)entry.getKey(), entry.getValue()); } } @@ -334,7 +333,7 @@ public abstract class RuleTst { } NodeList expectedMessagesNodes = testCode.getElementsByTagName("expected-messages"); - List messages = new ArrayList(); + List messages = new ArrayList<>(); if (expectedMessagesNodes != null && expectedMessagesNodes.getLength() > 0) { Element item = (Element)expectedMessagesNodes.item(0); NodeList messagesNodes = item.getElementsByTagName("message"); @@ -344,7 +343,7 @@ public abstract class RuleTst { } NodeList expectedLineNumbersNodes = testCode.getElementsByTagName("expected-linenumbers"); - List expectedLineNumbers = new ArrayList(); + List expectedLineNumbers = new ArrayList<>(); if (expectedLineNumbersNodes != null && expectedLineNumbersNodes.getLength() > 0) { Element item = (Element)expectedLineNumbersNodes.item(0); String numbers = item.getTextContent(); diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/SimpleAggregatorTst.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/SimpleAggregatorTst.java index 36f38aacda..503945d27a 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/SimpleAggregatorTst.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/SimpleAggregatorTst.java @@ -53,7 +53,7 @@ public abstract class SimpleAggregatorTst extends RuleTst { } } - private List rules = new ArrayList(); + private List rules = new ArrayList<>(); /** * Add new XML tests associated with the rule to the test suite. This should diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/TestDescriptor.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/TestDescriptor.java index 15fe1f767c..c19f4aba40 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/TestDescriptor.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/TestDescriptor.java @@ -21,8 +21,8 @@ public class TestDescriptor { private Properties properties; private String description; private int numberOfProblemsExpected; - private List expectedMessages = new ArrayList(); - private List expectedLineNumbers = new ArrayList(); + private List expectedMessages = new ArrayList<>(); + private List expectedLineNumbers = new ArrayList<>(); private String code; private LanguageVersion languageVersion; private boolean reinitializeRule = true; //default, avoids unintentional mixing of state between test cases diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmParser.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmParser.java index 8838c05d37..078b9b0732 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmParser.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmParser.java @@ -39,6 +39,6 @@ public class VmParser extends AbstractParser { } public Map getSuppressMap() { - return new HashMap(); // FIXME + return new HashMap<>(); // FIXME } } diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTMethod.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTMethod.java index 4ca5d55a89..89a99e45c1 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTMethod.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/ASTMethod.java @@ -72,9 +72,9 @@ public class ASTMethod extends AbstractVmNode { public static class MethodCacheKey { private final String methodName; - private final Class[] params; + private final Class[] params; - public MethodCacheKey(final String methodName, final Class[] params) { + public MethodCacheKey(final String methodName, final Class[] params) { /** * Should never be initialized with nulls, but to be safe we refuse to accept them. */ @@ -120,7 +120,7 @@ public class ASTMethod extends AbstractVmNode { * note we skip the null test for methodName and params due to the earlier test in the constructor */ for (int i = 0; i < params.length; ++i) { - final Class param = params[i]; + final Class param = params[i]; if (param != null) { result = result * 37 + param.hashCode(); } diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleViolationFactory.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleViolationFactory.java index 2913a80fc5..60ec690391 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleViolationFactory.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/VmRuleViolationFactory.java @@ -22,13 +22,13 @@ public final class VmRuleViolationFactory extends AbstractRuleViolationFactory { @Override protected RuleViolation createRuleViolation(final Rule rule, final RuleContext ruleContext, final Node node, final String message) { - return new ParametricRuleViolation(rule, ruleContext, (AbstractVmNode) node, message); + return new ParametricRuleViolation<>(rule, ruleContext, (AbstractVmNode) node, message); } @Override protected RuleViolation createRuleViolation(final Rule rule, final RuleContext ruleContext, final Node node, final String message, final int beginLine, final int endLine) { - final ParametricRuleViolation violation = new ParametricRuleViolation(rule, + final ParametricRuleViolation violation = new ParametricRuleViolation<>(rule, ruleContext, (AbstractVmNode) node, message); violation.setLines(beginLine, endLine); return violation; diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/AvoidReassigningParametersRule.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/AvoidReassigningParametersRule.java index 0f7d1236a4..59291402b4 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/AvoidReassigningParametersRule.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/AvoidReassigningParametersRule.java @@ -17,7 +17,7 @@ public class AvoidReassigningParametersRule extends AbstractVmRule { @Override public Object visit(final ASTDirective node, final Object data) { if ("macro".equals(node.getDirectiveName())) { - final Set paramNames = new HashSet(); + final Set paramNames = new HashSet<>(); final List params = node.findChildrenOfType(ASTReference.class); for (final ASTReference param : params) { paramNames.add(param.getFirstToken().toString()); diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/UnusedMacroParameterRule.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/UnusedMacroParameterRule.java index 1bc46db320..174e7a198c 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/UnusedMacroParameterRule.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/rule/basic/UnusedMacroParameterRule.java @@ -18,7 +18,7 @@ public class UnusedMacroParameterRule extends AbstractVmRule { @Override public Object visit(final ASTDirective node, final Object data) { if ("macro".equals(node.getDirectiveName())) { - final Set paramNames = new HashSet(); + final Set paramNames = new HashSet<>(); final List params = node.findChildrenOfType(ASTReference.class); for (final ASTReference param : params) { paramNames.add(param.literal()); @@ -41,7 +41,7 @@ public class UnusedMacroParameterRule extends AbstractVmRule { } private void checkForParameter(final Set paramNames, final String nameToSearch) { - final Set paramsContained = new HashSet(); + final Set paramsContained = new HashSet<>(); for (final String param : paramNames) { if (containsAny(nameToSearch, formatNameVariations(param))) { paramsContained.add(param); diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/util/DirectiveMapper.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/util/DirectiveMapper.java index 3c32818077..5f8f0fd2b4 100644 --- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/util/DirectiveMapper.java +++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/util/DirectiveMapper.java @@ -21,9 +21,9 @@ import net.sourceforge.pmd.lang.vm.directive.Stop; public class DirectiveMapper { - private static final Map DIRECTIVE_MAP = new HashMap(); + private static final Map DIRECTIVE_MAP = new HashMap<>(); - private static final Set DIRECTIVE_NAMES = new HashSet(); + private static final Set DIRECTIVE_NAMES = new HashSet<>(); static { DIRECTIVE_MAP.put("foreach", new Foreach()); diff --git a/pmd-vm/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-vm/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index a96de6f83e..6b327eeae8 100644 --- a/pmd-vm/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-vm/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd; import java.util.Arrays; @@ -16,7 +19,7 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest { } @Parameters - public static Collection data() { + public static Collection data() { return Arrays.asList(new Object[][] { { VmLanguageModule.NAME, VmLanguageModule.TERSE_NAME, "", LanguageRegistry.getLanguage(VmLanguageModule.NAME).getDefaultVersion() } }); 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 08099c10f1..314434aaf6 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 @@ -36,6 +36,6 @@ public class XmlParser extends AbstractParser { } public Map getSuppressMap() { - return new HashMap(); // FIXME + return new HashMap<>(); // FIXME } } diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DOMLineNumbers.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DOMLineNumbers.java index 0e092c4878..cf0bf2ab1b 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DOMLineNumbers.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DOMLineNumbers.java @@ -135,7 +135,7 @@ class DOMLineNumbers { } private void calculateLinesMap() { - lines = new TreeMap(); + lines = new TreeMap<>(); int index = -1; int count = StringUtils.countMatches(xmlString, "\n"); for (int line = 1; line <= count; line++) { diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java index 13872fa161..f65722a369 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java @@ -67,7 +67,7 @@ public class DumpFacade { image = StringUtil.escapeWhitespace(image); // Extras - List extras = new ArrayList(); + List extras = new ArrayList<>(); Iterator iterator = node.getAttributeIterator(); while (iterator.hasNext()) { Attribute attribute = iterator.next(); diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlNodeInvocationHandler.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlNodeInvocationHandler.java index 299691f9e5..ddf7680ab9 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlNodeInvocationHandler.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlNodeInvocationHandler.java @@ -65,7 +65,7 @@ public class XmlNodeInvocationHandler implements InvocationHandler { return null; } } else if ("getAttributeIterator".equals(method.getName())) { - List> iterators = new ArrayList>(); + List> iterators = new ArrayList<>(); // Expose DOM Attributes final NamedNodeMap attributes = node.getAttributes(); diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlParser.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlParser.java index 6fddadfbe8..b671c2c338 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlParser.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/XmlParser.java @@ -29,7 +29,7 @@ import org.xml.sax.SAXException; public class XmlParser { protected final XmlParserOptions parserOptions; - protected Map nodeCache = new HashMap(); + protected Map nodeCache = new HashMap<>(); public XmlParser(XmlParserOptions parserOptions) { this.parserOptions = parserOptions; @@ -77,7 +77,7 @@ public class XmlParser { } // TODO Change Parser interface to take ClassLoader? - LinkedHashSet> interfaces = new LinkedHashSet>(); + LinkedHashSet> interfaces = new LinkedHashSet<>(); interfaces.add(XmlNode.class); if (node instanceof Document) { interfaces.add(RootNode.class); @@ -91,7 +91,7 @@ public class XmlParser { } public void addAllInterfaces(Set> interfaces, Class clazz) { - interfaces.addAll(Arrays.asList((Class[]) clazz.getInterfaces())); + interfaces.addAll(Arrays.asList(clazz.getInterfaces())); if (clazz.getSuperclass() != null) { addAllInterfaces(interfaces, clazz.getSuperclass()); } 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 de1a97b09d..a95c0ed66a 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 @@ -17,7 +17,7 @@ public class XmlRuleChainVisitor extends AbstractRuleChainVisitor { protected void indexNodes(List nodes, RuleContext ctx) { // Visit Nodes in DFS order - Stack stack = new Stack(); + Stack stack = new Stack<>(); stack.addAll(nodes); Collections.reverse(stack); while (!stack.isEmpty()) { diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleViolationFactory.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleViolationFactory.java index 1c422c8199..8efbdce4af 100644 --- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleViolationFactory.java +++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/rule/XmlRuleViolationFactory.java @@ -21,7 +21,7 @@ public final class XmlRuleViolationFactory extends AbstractRuleViolationFactory @Override protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message) { - return new ParametricRuleViolation(rule, ruleContext, (XmlNode) node, message); + return new ParametricRuleViolation<>(rule, ruleContext, (XmlNode) node, message); } protected RuleViolation createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine) { diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index 3f2f3a941f..4b3941d22d 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -1,3 +1,6 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ package net.sourceforge.pmd; import java.util.Arrays; @@ -17,7 +20,7 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest { } @Parameters - public static Collection data() { + public static Collection data() { return Arrays.asList(new Object[][] { { XmlLanguageModule.NAME, XmlLanguageModule.TERSE_NAME, "", LanguageRegistry.getLanguage(XmlLanguageModule.NAME).getDefaultVersion() }, { XslLanguageModule.NAME, XslLanguageModule.TERSE_NAME, "", LanguageRegistry.getLanguage(XslLanguageModule.NAME).getDefaultVersion() } diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/wsdl/rule/AbstractWsdlRuleTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/wsdl/rule/AbstractWsdlRuleTest.java index 59ca4260bc..284bd30b88 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/wsdl/rule/AbstractWsdlRuleTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/wsdl/rule/AbstractWsdlRuleTest.java @@ -30,7 +30,7 @@ public class AbstractWsdlRuleTest { LanguageRegistry.getLanguage(WsdlLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler() .getParser(parserOptions); XmlNode xmlNode = (XmlNode) parser.parse(null, new StringReader(source)); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.add(xmlNode); MyRule rule = new MyRule(); @@ -43,7 +43,7 @@ public class AbstractWsdlRuleTest { } private static class MyRule extends AbstractWsdlRule { - final List visitedNodes = new ArrayList(); + final List visitedNodes = new ArrayList<>(); public MyRule() { } diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/XmlParserTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/XmlParserTest.java index 6f00e2e5ad..395fdb931f 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/XmlParserTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/XmlParserTest.java @@ -13,7 +13,6 @@ import java.util.Locale; import net.sourceforge.pmd.lang.LanguageRegistry; import net.sourceforge.pmd.lang.LanguageVersionHandler; import net.sourceforge.pmd.lang.Parser; -import net.sourceforge.pmd.lang.ParserOptions; import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.ast.xpath.Attribute; import net.sourceforge.pmd.lang.xml.ast.XmlNode; diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractDomXmlRuleTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractDomXmlRuleTest.java index 55f23d3f8b..bcfa39c763 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractDomXmlRuleTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractDomXmlRuleTest.java @@ -44,7 +44,7 @@ public class AbstractDomXmlRuleTest { .getLanguageVersionHandler().getParser(parserOptions); XmlNode xmlNode = (XmlNode) parser .parse(null, new StringReader(source)); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.add(xmlNode); MyRule rule = new MyRule(); @@ -111,7 +111,7 @@ public class AbstractDomXmlRuleTest { // no exception should be thrown MyRule rule = new MyRule(); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.add(xmlNode); rule.apply(nodes, null); @@ -135,7 +135,7 @@ public class AbstractDomXmlRuleTest { // no exception should be thrown // first element is still parsed MyRule rule = new MyRule(); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.add(xmlNode); rule.apply(nodes, null); @@ -144,7 +144,7 @@ public class AbstractDomXmlRuleTest { } private static class MyRule extends AbstractDomXmlRule { - final Map> visitedNodes = new HashMap>(); + final Map> visitedNodes = new HashMap<>(); public MyRule() { @@ -153,7 +153,7 @@ public class AbstractDomXmlRuleTest { private void visit(String key, org.w3c.dom.Node node) { List nodes = visitedNodes.get(key); if (nodes == null) { - nodes = new ArrayList(); + nodes = new ArrayList<>(); visitedNodes.put(key, nodes); } nodes.add(node); diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractXmlRuleTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractXmlRuleTest.java index 12a9a26e52..a1b2d0a27d 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractXmlRuleTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/AbstractXmlRuleTest.java @@ -27,7 +27,7 @@ public class AbstractXmlRuleTest { XmlParserOptions parserOptions = new XmlParserOptions(); Parser parser = LanguageRegistry.getLanguage(XmlLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler().getParser(parserOptions); XmlNode xmlNode = (XmlNode) parser.parse(null, new StringReader(source)); - List nodes = new ArrayList(); + List nodes = new ArrayList<>(); nodes.add(xmlNode); MyRule rule = new MyRule(); @@ -40,7 +40,7 @@ public class AbstractXmlRuleTest { } private static class MyRule extends AbstractXmlRule { - final List visitedNodes = new ArrayList(); + final List visitedNodes = new ArrayList<>(); public MyRule() { }