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 fdda0be807..9839e9537e 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 @@ -4,6 +4,7 @@ package net.sourceforge.pmd.lang.symboltable; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; @@ -45,7 +46,7 @@ public abstract class AbstractScope implements Scope { @SuppressWarnings("unchecked") Map> result = (Map>)nameDeclarations.get(clazz); if (result == null) { - result = new LinkedHashMap<>(); + result = Collections.emptyMap(); } return result; } 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 114ec2adda..43e9c66f54 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 @@ -356,8 +356,9 @@ public class ClassScope extends AbstractJavaScope { } Set qualifiedNames = new LinkedHashSet<>(); - qualifiedNames.addAll(this.getEnclosingScope(SourceFileScope.class).getQualifiedTypeNames().keySet()); - qualifiedNames.addAll(this.getEnclosingScope(SourceFileScope.class).getExplicitImports()); + final SourceFileScope fileScope = getEnclosingScope(SourceFileScope.class); + qualifiedNames.addAll(fileScope.getQualifiedTypeNames().keySet()); + qualifiedNames.addAll(fileScope.getExplicitImports()); int nameLength = typeImage.length(); 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 d389369fc0..025ad41356 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 @@ -4,7 +4,6 @@ package net.sourceforge.pmd.lang.java.symboltable; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -52,7 +51,7 @@ public class SourceFileScope extends AbstractJavaScope { } public Set getExplicitImports() { - return types != null ? types.getExplicitImports() : Collections. emptySet(); + return types.getExplicitImports(); } /**