public Set<Integer> computeNoSonarLines() { return new CommentLineVisitor(currentFileTree).noSonarLines(); } }
public CounterVisitor(Tree tree) { scanTree(tree); }
public LineVisitor(CompilationUnitTree tree) { this.visitCompilationUnit(tree); }
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(); }
private void setCounterMeasures() { CounterVisitor counter = new CounterVisitor(context().tree()); fileMeasures.setClassNumber(counter.getClassNumber()); fileMeasures.setFunctionNumber(counter.getFunctionNumber()); fileMeasures.setStatementNumber(counter.getStatementNumber()); }
@Override public void visitNode(Tree tree) { if (tree.is(Kind.COMPILATION_UNIT)) { fileMeasures.setFileComplexity(ComplexityVisitor.complexity(tree)); fileMeasures.setFileCognitiveComplexity(CognitiveComplexityVisitor.complexity((CompilationUnitTree) tree)); } else if (tree.is(CLASS_NODES)) { fileMeasures.addClassComplexity(ComplexityVisitor.complexity(tree)); } else if (tree.is(FUNCTION_NODES)) { fileMeasures.addFunctionComplexity(ComplexityVisitor.complexity(tree)); } }
private int complexity(String functionBody) throws Exception { FunctionTree tree = parse("function f() { " + functionBody + " }", PHPLexicalGrammar.FUNCTION_DECLARATION); CognitiveComplexity complexity = CognitiveComplexityVisitor.complexity(tree); return complexity.getValue(); }
public FileMeasures computeMeasures(FileLinesContext fileLinesContext) { return new MetricsVisitor().getFileMeasures(currentFile, currentFileTree, fileLinesContext); }
public List<CpdToken> computeCpdTokens() { return new CpdVisitor().getCpdTokens(currentFile, currentFileTree); }
public FileMeasures getFileMeasures( PhpFile file, CompilationUnitTree tree, FileLinesContext fileLinesContext ) { this.fileMeasures = new FileMeasures(LIMITS_COMPLEXITY_FUNCTIONS, FILES_DISTRIBUTION_BOTTOM_LIMITS); this.fileLinesContext = fileLinesContext; super.analyze(file, tree); setCounterMeasures(); setLineAndCommentMeasures(); return this.fileMeasures; }
ExecutableLineVisitor(Tree tree) { scanTree(tree); }
private void addComplexityWithNesting(SyntaxToken secondaryLocationToken) { addComplexityWithoutNesting(secondaryLocationToken, level + 1); }
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(); }
private void setCounterMeasures() { CounterVisitor counter = new CounterVisitor(context().tree()); fileMeasures.setClassNumber(counter.getClassNumber()); fileMeasures.setFunctionNumber(counter.getFunctionNumber()); fileMeasures.setStatementNumber(counter.getStatementNumber()); }
@Override public void visitNode(Tree tree) { if (tree.is(Kind.COMPILATION_UNIT)) { fileMeasures.setFileComplexity(ComplexityVisitor.complexity(tree)); fileMeasures.setFileCognitiveComplexity(CognitiveComplexityVisitor.complexity((CompilationUnitTree) tree)); } else if (tree.is(CLASS_NODES)) { fileMeasures.addClassComplexity(ComplexityVisitor.complexity(tree)); } else if (tree.is(FUNCTION_NODES)) { fileMeasures.addFunctionComplexity(ComplexityVisitor.complexity(tree)); } }
public Set<Integer> computeNoSonarLines() { return new CommentLineVisitor(currentFileTree).noSonarLines(); } }
public FileMeasures getFileMeasures( PhpFile file, CompilationUnitTree tree, FileLinesContext fileLinesContext ) { this.fileMeasures = new FileMeasures(LIMITS_COMPLEXITY_FUNCTIONS, FILES_DISTRIBUTION_BOTTOM_LIMITS); this.fileLinesContext = fileLinesContext; super.analyze(file, tree); setCounterMeasures(); setLineAndCommentMeasures(); return this.fileMeasures; }
public CounterVisitor(Tree tree) { scanTree(tree); }
ExecutableLineVisitor(Tree tree) { scanTree(tree); }
private void addComplexityWithoutNesting(SyntaxToken secondaryLocationToken) { addComplexityWithoutNesting(secondaryLocationToken, 1); }