diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/typeinference/TypeInferenceResolver.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/typeinference/TypeInferenceResolver.java index 40908b0353..d6dd482807 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/typeinference/TypeInferenceResolver.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/typeinference/TypeInferenceResolver.java @@ -160,7 +160,7 @@ public final class TypeInferenceResolver { } public static Set> getErasedCandidateSet(List erasedSuperTypeSets) { - Set> result = null; + Set> result = new HashSet<>(); if (!erasedSuperTypeSets.isEmpty()) { result = erasedSuperTypeSets.get(0).getErasedSuperTypeSet(); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/TypeInferenceTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/TypeInferenceTest.java index bf6f019498..aeb5b8c782 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/TypeInferenceTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/TypeInferenceTest.java @@ -9,10 +9,12 @@ import static net.sourceforge.pmd.lang.java.typeresolution.typeinference.Inferen import static net.sourceforge.pmd.lang.java.typeresolution.typeinference.InferenceRuleType.LOOSE_INVOCATION; import static net.sourceforge.pmd.lang.java.typeresolution.typeinference.InferenceRuleType.SUBTYPE; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; @@ -306,10 +308,14 @@ public class TypeInferenceTest { Set> erasedCandidate = TypeInferenceResolver.getErasedCandidateSet(types); - assertEquals(erasedCandidate.size(), 3); + assertEquals(3, erasedCandidate.size()); assertTrue(erasedCandidate.contains(Object.class)); assertTrue(erasedCandidate.contains(Collection.class)); assertTrue(erasedCandidate.contains(Iterable.class)); + + Set> emptySet = TypeInferenceResolver.getErasedCandidateSet(Collections.emptyList()); + assertNotNull(emptySet); + assertEquals(0, emptySet.size()); } @Test