public CodeAnalysisResults analyze()

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;
    }