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 315b7a9aff..f73ab93723 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/AbstractPropertySource.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/AbstractPropertySource.java @@ -32,9 +32,7 @@ public abstract class AbstractPropertySource implements PropertySource { * @return a copy of the property descriptors. */ protected List> copyPropertyDescriptors() { - List> copy = new ArrayList<>(propertyDescriptors.size()); - copy.addAll(propertyDescriptors); - return copy; + return new ArrayList<>(propertyDescriptors); } /** @@ -43,10 +41,7 @@ public abstract class AbstractPropertySource implements PropertySource { * @return a copy of the values */ protected Map, Object> copyPropertyValues() { - Map, Object> copy = new HashMap<>( - propertyValuesByDescriptor.size()); - copy.putAll(propertyValuesByDescriptor); - return copy; + return new HashMap<>(propertyValuesByDescriptor); } /** 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 a4c30e2f0d..ca52506194 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/SourceCodeProcessor.java @@ -7,18 +7,22 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.UnsupportedEncodingException; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import org.apache.commons.io.IOUtils; + import net.sourceforge.pmd.benchmark.Benchmark; import net.sourceforge.pmd.benchmark.Benchmarker; -import net.sourceforge.pmd.lang.*; +import net.sourceforge.pmd.lang.Language; +import net.sourceforge.pmd.lang.LanguageVersion; +import net.sourceforge.pmd.lang.LanguageVersionHandler; +import net.sourceforge.pmd.lang.Parser; +import net.sourceforge.pmd.lang.VisitorStarter; import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.ast.ParseException; import net.sourceforge.pmd.lang.xpath.Initializer; -import org.apache.commons.io.IOUtils; - public class SourceCodeProcessor { private final PMDConfiguration configuration; @@ -141,13 +145,10 @@ public class SourceCodeProcessor { usesDFA(languageVersion, rootNode, ruleSets, language); usesTypeResolution(languageVersion, rootNode, ruleSets,language); - List acus = new ArrayList<>(); - acus.add(rootNode); + List acus = Collections.singletonList(rootNode); ruleSets.apply(acus, ctx, language); } - - private void determineLanguage(RuleContext ctx) { // If LanguageVersion of the source file is not known, make a determination if (ctx.getLanguageVersion() == 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 707277476b..4119ed4833 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 @@ -68,15 +68,11 @@ public abstract class AbstractRule extends AbstractPropertySource implements Rul } private List copyExamples() { - List copy = new ArrayList<>(examples.size()); - copy.addAll(examples); - return copy; + return new ArrayList<>(examples); } private List copyRuleChainVisits() { - List copy = new ArrayList<>(ruleChainVisits.size()); - copy.addAll(ruleChainVisits); - return copy; + return new ArrayList<>(ruleChainVisits); } /**