private void saveMeasures(InputFile inputFile, PythonVisitorContext visitorContext) { boolean ignoreHeaderComments = new PythonConfiguration(context.fileSystem().encoding()).getIgnoreHeaderComments(); FileMetrics fileMetrics = new FileMetrics(visitorContext, ignoreHeaderComments); FileLinesVisitor fileLinesVisitor = fileMetrics.fileLinesVisitor(); cpdAnalyzer.pushCpdTokens(inputFile, visitorContext); noSonarFilter.noSonarInFile(inputFile, fileLinesVisitor.getLinesWithNoSonar()); saveFilesComplexityDistribution(inputFile, fileMetrics); saveFunctionsComplexityDistribution(inputFile, fileMetrics); Set<Integer> linesOfCode = fileLinesVisitor.getLinesOfCode(); saveMetricOnFile(inputFile, CoreMetrics.NCLOC, linesOfCode.size()); saveMetricOnFile(inputFile, CoreMetrics.STATEMENTS, fileMetrics.numberOfStatements()); saveMetricOnFile(inputFile, CoreMetrics.FUNCTIONS, fileMetrics.numberOfFunctions()); saveMetricOnFile(inputFile, CoreMetrics.CLASSES, fileMetrics.numberOfClasses()); saveMetricOnFile(inputFile, CoreMetrics.COMPLEXITY, fileMetrics.complexity()); saveMetricOnFile(inputFile, CoreMetrics.COGNITIVE_COMPLEXITY, fileMetrics.cognitiveComplexity()); saveMetricOnFile(inputFile, CoreMetrics.COMMENT_LINES, fileLinesVisitor.getCommentLineCount()); FileLinesContext fileLinesContext = fileLinesContextFactory.createFor(inputFile); for (int line : linesOfCode) { fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, line, 1); } for (int line : fileLinesVisitor.getExecutableLines()) { fileLinesContext.setIntValue(CoreMetrics.EXECUTABLE_LINES_DATA_KEY, line, 1); } fileLinesContext.save(); }
private void saveMeasures(InputFile inputFile, PythonVisitorContext visitorContext) { boolean ignoreHeaderComments = new PythonConfiguration(context.fileSystem().encoding()).getIgnoreHeaderComments(); FileMetrics fileMetrics = new FileMetrics(visitorContext, ignoreHeaderComments); FileLinesVisitor fileLinesVisitor = fileMetrics.fileLinesVisitor(); cpdAnalyzer.pushCpdTokens(inputFile, visitorContext); noSonarFilter.noSonarInFile(inputFile, fileLinesVisitor.getLinesWithNoSonar()); saveFilesComplexityDistribution(inputFile, fileMetrics); saveFunctionsComplexityDistribution(inputFile, fileMetrics); Set<Integer> linesOfCode = fileLinesVisitor.getLinesOfCode(); saveMetricOnFile(inputFile, CoreMetrics.NCLOC, linesOfCode.size()); saveMetricOnFile(inputFile, CoreMetrics.STATEMENTS, fileMetrics.numberOfStatements()); saveMetricOnFile(inputFile, CoreMetrics.FUNCTIONS, fileMetrics.numberOfFunctions()); saveMetricOnFile(inputFile, CoreMetrics.CLASSES, fileMetrics.numberOfClasses()); saveMetricOnFile(inputFile, CoreMetrics.COMPLEXITY, fileMetrics.complexity()); saveMetricOnFile(inputFile, CoreMetrics.COGNITIVE_COMPLEXITY, fileMetrics.cognitiveComplexity()); saveMetricOnFile(inputFile, CoreMetrics.COMMENT_LINES, fileLinesVisitor.getCommentLineCount()); FileLinesContext fileLinesContext = fileLinesContextFactory.createFor(inputFile); for (int line : linesOfCode) { fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, line, 1); } for (int line : fileLinesVisitor.getExecutableLines()) { fileLinesContext.setIntValue(CoreMetrics.EXECUTABLE_LINES_DATA_KEY, line, 1); } fileLinesContext.save(); }