GroovyDslExecutor (String text, VirtualFile vfile, final Project project) { if (GdslUtil.ourGdslStopped) { return null; } try { return GroovyDslExecutor.createAndRunExecutor(text, vfile.getName()); } catch (final Throwable e) { if (project.isDisposed()) { LOG.error(e); return null; } if (ApplicationManager.getApplication().isUnitTestMode()) { LOG.error(e); return null; } DslErrorReporter.getInstance().invokeDslErrorPopup(e, project, vfile); //noinspection InstanceofCatchParameter if (e instanceof OutOfMemoryError) { GdslUtil.stopGdsl(); throw (Error)e; } //noinspection InstanceofCatchParameter if (e instanceof NoClassDefFoundError) { GdslUtil.stopGdsl(); throw (NoClassDefFoundError)e; } return null; } }