From fdb3b7421ffa6b082d76709c78a5cd582687de0e Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 25 Nov 2013 18:42:32 +0100 Subject: [PATCH] possible NPE, explanation for the used scope --- .../junit/src/com/intellij/execution/ConfigurationUtil.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java b/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java index c200d8f64459..89590887cbbb 100644 --- a/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java +++ b/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java @@ -24,6 +24,7 @@ import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Ref; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PsiElementProcessor; @@ -96,6 +97,7 @@ public class ConfigurationUtil { } ); if (testAnnotation != null) { + //allScope is used to find all abstract test cases which probably have inheritors in the current 'scope' AnnotatedMembersSearch.search(testAnnotation, GlobalSearchScope.allScope(manager.getProject())).forEach(new Processor() { public boolean process(final PsiMember annotated) { final PsiClass containingClass = annotated instanceof PsiClass ? (PsiClass)annotated : annotated.getContainingClass(); @@ -104,7 +106,8 @@ public class ConfigurationUtil { new Computable() { @Override public Boolean compute() { - return scope.contains(PsiUtilCore.getVirtualFile(containingClass)) && testClassFilter.isAccepted(containingClass); + final VirtualFile file = PsiUtilCore.getVirtualFile(containingClass); + return file != null && scope.contains(file) && testClassFilter.isAccepted(containingClass); } })) { found.add(containingClass);