in src/main/java/org/jetbrains/plugins/spotbugs/actions/AnalyzeScopeFiles.java [86:132]
void analyze(
@NotNull final AnActionEvent e,
@NotNull final Project project,
@NotNull final ToolWindow toolWindow,
@NotNull final FindBugsState state
) {
final DataContext dataContext = e.getDataContext();
final Module module = e.getData(LangDataKeys.MODULE);
AnalysisScope scope = getInspectionScope(dataContext);
final boolean rememberScope = e.getPlace().equals(ActionPlaces.MAIN_MENU);
final AnalysisUIOptions uiOptions = AnalysisUIOptions.getInstance(project);
final PsiElement element = LangDataKeys.PSI_ELEMENT.getData(dataContext);
String moduleName = module != null && scope.getScopeType() != AnalysisScope.MODULE ? getModuleNameInReadAction(module) : null;
List<ModelScopeItem> modelScopeItems = BaseAnalysisActionDialog.standardItems(project, scope, moduleName != null ? ModuleManager.getInstance(project).findModuleByName(moduleName) : null, element);
final BaseAnalysisActionDialog dlg = new BaseAnalysisActionDialog(ResourcesLoader.getString("analysis.specify.scope", "SpotBugs Analyze"),
ResourcesLoader.getString("analysis.scope.title", "Analyze"),
project,
modelScopeItems,
AnalysisUIOptions.getInstance(project), rememberScope) {
@Override
protected void doHelpAction() {
HelpManager.getInstance().invokeHelp(getHelpTopic());
}
@SuppressFBWarnings({"RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"})
@NotNull
@Override
protected Action @NotNull [] createActions() {
return new Action[]{getOKAction(), getCancelAction(), getHelpAction()};
}
};
dlg.show();
if (!dlg.isOK()) {
return;
}
final int oldScopeType = uiOptions.SCOPE_TYPE;
scope = dlg.getScope(scope);
if (!rememberScope) {
uiOptions.SCOPE_TYPE = oldScopeType;
}
uiOptions.ANALYZE_TEST_SOURCES = dlg.isInspectTestSources();
FileDocumentManager.getInstance().saveAllDocuments();
analyzeImpl(project, scope, dlg.isInspectTestSources());
}