@Override public void visitToken(SyntaxToken syntaxToken) { for (SyntaxTrivia trivia : syntaxToken.trivias()) { if (seenFirstToken) { String[] commentLines = commentAnalyser.getContents(trivia.comment()) .split("(\r)?\n|\r", -1); int line = trivia.startLine(); for (String commentLine : commentLines) { if(commentLine.contains("NOSONAR")) { noSonarLines.add(line); } else if (!commentAnalyser.isBlank(commentLine)) { comments.add(line); } line++; } } else { seenFirstToken = true; } } seenFirstToken = true; }
@Override public void visitToken(SyntaxToken syntaxToken) { for (SyntaxTrivia trivia : syntaxToken.trivias()) { if (seenFirstToken) { String[] commentLines = commentAnalyser.getContents(trivia.comment()) .split("(\r)?\n|\r", -1); int line = trivia.startLine(); for (String commentLine : commentLines) { if (!commentLine.contains("NOSONAR") && !commentAnalyser.isBlank(commentLine)) { comments.add(line); } line++; } } else { seenFirstToken = true; } } seenFirstToken = true; }
public static AstScanner create(JavaConfiguration conf, SquidAstVisitor<LexerlessGrammar>... visitors) { final Parser parser = JavaParser.createParser(conf.getCharset()); AstScanner builder = new AstScanner(parser); /* Files */ builder.withSquidAstVisitor(new FileVisitor()); /* Comments */ builder.setCommentAnalyser(new CommentLinesVisitor.JavaCommentAnalyser()); builder.withSquidAstVisitor(CommentsVisitor.<LexerlessGrammar>builder() .withNoSonar(true) .withIgnoreHeaderComment(true) .build()); /* External visitors (typically Check ones) */ for (SquidAstVisitor<LexerlessGrammar> visitor : visitors) { if (visitor instanceof CharsetAwareVisitor) { ((CharsetAwareVisitor) visitor).setCharset(conf.getCharset()); } builder.withSquidAstVisitor(visitor); } return builder; }