public Set<Integer> computeNoSonarLines() { return new CommentLineVisitor(currentFileTree).noSonarLines(); } }
@Test public void comment_lines() throws Exception { CommentLineVisitor comment = new CommentLineVisitor(parse("metrics/comments.php")); assertThat(comment.commentLineNumber()).isEqualTo(3); assertThat(comment.commentLines()).contains(3, 7, 11); assertThat(comment.noSonarLines()).containsOnly(14, 15); }
private void setLineAndCommentMeasures() { LineVisitor lineVisitor = new LineVisitor(context().tree()); ExecutableLineVisitor executableLineVisitor = new ExecutableLineVisitor(context().tree()); CommentLineVisitor commentVisitor = new CommentLineVisitor(context().tree()); fileMeasures.setLinesOfCodeNumber(lineVisitor.getLinesOfCodeNumber()); fileMeasures.setCommentLinesNumber(commentVisitor.commentLineNumber()); Set<Integer> linesOfCode = lineVisitor.getLinesOfCode(); linesOfCode.forEach(lineOfCode -> fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, lineOfCode, 1)); executableLineVisitor.getExecutableLines().forEach(line -> fileLinesContext.setIntValue(CoreMetrics.EXECUTABLE_LINES_DATA_KEY, line, 1)); fileLinesContext.save(); }
@Override public void visitToken(SyntaxToken token) { for (SyntaxTrivia trivia : token.trivias()) { String[] commentLines = getContents(trivia.text()) .split("(\r)?\n|\r", -1); int line = trivia.line(); for (String commentLine : commentLines) { if (commentLine.contains("NOSONAR")) { noSonarLines.add(line); } else if (!isBlank(commentLine)) { comments.add(line); } line++; } } super.visitToken(token); }
private void setLineAndCommentMeasures() { LineVisitor lineVisitor = new LineVisitor(context().tree()); ExecutableLineVisitor executableLineVisitor = new ExecutableLineVisitor(context().tree()); CommentLineVisitor commentVisitor = new CommentLineVisitor(context().tree()); fileMeasures.setLinesOfCodeNumber(lineVisitor.getLinesOfCodeNumber()); fileMeasures.setCommentLinesNumber(commentVisitor.commentLineNumber()); Set<Integer> linesOfCode = lineVisitor.getLinesOfCode(); linesOfCode.forEach(lineOfCode -> fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, lineOfCode, 1)); executableLineVisitor.getExecutableLines().forEach(line -> fileLinesContext.setIntValue(CoreMetrics.EXECUTABLE_LINES_DATA_KEY, line, 1)); fileLinesContext.save(); }
@Override public void visitToken(SyntaxToken token) { for (SyntaxTrivia trivia : token.trivias()) { String[] commentLines = getContents(trivia.text()) .split("(\r)?\n|\r", -1); int line = trivia.line(); for (String commentLine : commentLines) { if (commentLine.contains("NOSONAR")) { noSonarLines.add(line); } else if (!isBlank(commentLine)) { comments.add(line); } line++; } } super.visitToken(token); }
public Set<Integer> computeNoSonarLines() { return new CommentLineVisitor(currentFileTree).noSonarLines(); } }