private void AnalyzeSynchronously(IDexterPluginManager pluginManager, IAnalysisResultHandler cliAnalysisResultHandler, AnalysisConfig baseAnalysisConfig, IDexterClient client) { cliAnalysisResultHandler.HandleBeginningOfResultFile(); foreach (string fileFullPath in sourceFileFullPathList) { AnalysisConfig analysisConfig = CreateAnalysisConfig(fileFullPath, cliAnalysisResultHandler, baseAnalysisConfig); DexterAnalyzer.Instance.RunSync(analysisConfig, pluginManager, client); } cliAnalysisResultHandler.HandleEndOfResultFile(); cliAnalysisResultHandler.PrintLogAfterAnalyze(); }
private AnalysisConfig CreateAnalysisConfig(string fileFullPath, IAnalysisResultHandler cliAnalysisResultHandler, AnalysisConfig baseAnalysisConfig) { AnalysisConfig _config = new AnalysisEntityFactory().CopyAnalysisConfigWithoutSourcecode(baseAnalysisConfig); _config.ResultHandler = cliAnalysisResultHandler; _config.SourceFileFullPath = fileFullPath; _config.GenerateFileNameWithSourceFileFullPath(); _config.GenerateModulePath(); return(_config); }
private void Analyze(IDexterCLIOption cliOption, IDexterConfigFile configFile, IDexterClient client) { CliLog.Info(DexterLogConstant.GetStartingAnalysisMessage()); AnalysisConfig baseAnalysisConfig = CreateBaseAnalysisConfig(cliOption, configFile); IAnalysisResultHandler cliAnalysisResultHandler = CreateCLIAnalysisResultHandler(client, cliOption); IDexterPluginManager pluginManager = LoadDexterPlugin(client, cliOption); InitSourceFileFullPathList(configFile, cliOption); AnalyzeSynchronously(pluginManager, cliAnalysisResultHandler, baseAnalysisConfig, client); }