in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/analysis/CodeAnalyzer.java [40:85]
public CodeAnalysisResults analyze(ProgressFeedback progressFeedback) {
this.progressFeedback = progressFeedback;
results = new CodeAnalysisResults();
results.setMetadata(codeConfiguration.getMetadata());
start = System.currentTimeMillis();
results.setAnalysisStartTimeMs(start);
results.setCodeConfiguration(codeConfiguration);
AnalysisUtils.detailedInfo(results.getTextSummary(), progressFeedback, "Start of analysis", start);
new BasicsAnalyzer(results, codeConfigurationFile, progressFeedback).analyze();
if (shouldAnalyzeLogicalDecomposition()) {
new LogicalDecompositionAnalyzer(results).analyze(progressFeedback);
}
if (shouldAnalyzeConcerns()) {
new ConcernsAnalyzer(results, progressFeedback).analyze();
}
if (shouldAnalyzeFileSize()) {
new FileSizeAnalyzer(results).analyze();
}
if (shouldAnalyzeFileHistory()) {
new FileHistoryAnalyzer(results, codeConfigurationFile.getParentFile()).analyze();
}
new ContributorsAnalyzer(results, codeConfigurationFile.getParentFile()).analyze();
if (shouldAnalyzeUnits()) {
new UnitsAnalyzer(results, progressFeedback).analyze();
}
if (shouldAnalyzeDuplication()) {
new DuplicationAnalyzer(results).analyze(progressFeedback);
}
if (shouldAnalyzeControls()) {
new ControlsAnalyzer(results, progressFeedback).analyze();
}
addTotalAnalysisTimeMetric();
return results;
}