diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyRunnerUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyRunnerUtil.java index 64e7a54067ea..66509bac6b91 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyRunnerUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyRunnerUtil.java @@ -53,8 +53,10 @@ public class GroovyRunnerUtil { return null; } - public static boolean isRunnable(final PsiClass psiClass) { - final PsiClass runnable = JavaPsiFacade.getInstance(psiClass.getProject()).findClass(CommonClassNames.JAVA_LANG_RUNNABLE, psiClass.getResolveScope()); + public static boolean isRunnable(@Nullable final PsiClass psiClass) { + if (psiClass == null) return false; + final PsiClass runnable = + JavaPsiFacade.getInstance(psiClass.getProject()).findClass(CommonClassNames.JAVA_LANG_RUNNABLE, psiClass.getResolveScope()); if (runnable == null) return false; return psiClass instanceof GrTypeDefinition && @@ -76,7 +78,8 @@ public class GroovyRunnerUtil { return module.getModuleName(); } - PsiClass psiClass = JavaPsiFacade.getInstance(project).findClass(qualifiedName.replace('$', '.'), GlobalSearchScope.projectScope(project)); + PsiClass psiClass = + JavaPsiFacade.getInstance(project).findClass(qualifiedName.replace('$', '.'), GlobalSearchScope.projectScope(project)); if (psiClass != null) { return psiClass.getName(); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyScriptRunConfigurationProducer.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyScriptRunConfigurationProducer.java index 251d1ea8d8be..5de76a8a91bd 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyScriptRunConfigurationProducer.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/runner/GroovyScriptRunConfigurationProducer.java @@ -113,10 +113,12 @@ public class GroovyScriptRunConfigurationProducer extends RuntimeConfigurationPr } @Nullable - private RunnerAndConfigurationSettings createConfiguration(final PsiClass aClass) { + private RunnerAndConfigurationSettings createConfiguration(@Nullable final PsiClass aClass) { + if (aClass == null) return null; + final Project project = aClass.getProject(); RunnerAndConfigurationSettings settings = RunManagerEx.getInstanceEx(project).createConfiguration("", getConfigurationFactory()); - final GroovyScriptRunConfiguration configuration = (GroovyScriptRunConfiguration) settings.getConfiguration(); + final GroovyScriptRunConfiguration configuration = (GroovyScriptRunConfiguration)settings.getConfiguration(); final PsiFile file = aClass.getContainingFile().getOriginalFile(); final PsiDirectory dir = file.getContainingDirectory(); if (dir == null) return null;