@Override public void leaveFile(AstNode astNode) { int complexity = ComplexityVisitor.complexity(astNode); if (complexity > maximumFileComplexityThreshold) { String message = MessageFormat.format( "File has a complexity of {0,number,integer} which is greater than {1,number,integer} authorized.", complexity, maximumFileComplexityThreshold); addFileIssue(message) .withCost(complexity - maximumFileComplexityThreshold); } }
@Override public void leaveFile(AstNode astNode) { int complexity = ComplexityVisitor.complexity(astNode); if (complexity > maximumFileComplexityThreshold) { String message = MessageFormat.format( "File has a complexity of {0,number,integer} which is greater than {1,number,integer} authorized.", complexity, maximumFileComplexityThreshold); addFileIssue(message) .withCost(complexity - maximumFileComplexityThreshold); } }
@Override public void visitNode(AstNode node) { int complexity = ComplexityVisitor.complexity(node); if (complexity > maximumFunctionComplexityThreshold) { String message = String.format(MESSAGE, complexity, maximumFunctionComplexityThreshold); addIssue(node.getFirstChild(PythonGrammar.FUNCNAME), message) .withCost(complexity - maximumFunctionComplexityThreshold); } }
@Override public void visitNode(AstNode node) { int complexity = ComplexityVisitor.complexity(node); if (complexity > maximumClassComplexityThreshold) { String message = String.format(MESSAGE, complexity, maximumClassComplexityThreshold); addIssue(node.getFirstChild(PythonGrammar.CLASSNAME), message) .withCost(complexity - maximumClassComplexityThreshold); } }
@Override public void visitNode(AstNode node) { int complexity = ComplexityVisitor.complexity(node); if (complexity > maximumFunctionComplexityThreshold) { String message = String.format(MESSAGE, complexity, maximumFunctionComplexityThreshold); addIssue(node.getFirstChild(PythonGrammar.FUNCNAME), message) .withCost(complexity - maximumFunctionComplexityThreshold); } }
@Override public void visitNode(AstNode node) { int complexity = ComplexityVisitor.complexity(node); if (complexity > maximumClassComplexityThreshold) { String message = String.format(MESSAGE, complexity, maximumClassComplexityThreshold); addIssue(node.getFirstChild(PythonGrammar.CLASSNAME), message) .withCost(complexity - maximumClassComplexityThreshold); } }
public FileMetrics(PythonVisitorContext context, boolean ignoreHeaderComments) { AstNode rootTree = context.rootTree(); numberOfStatements = rootTree.getDescendants(PythonGrammar.STATEMENT).size(); numberOfClasses = rootTree.getDescendants(PythonGrammar.CLASSDEF).size(); complexityVisitor.scanFile(context); cognitiveComplexityVisitor.scanFile(context); fileLinesVisitor = new FileLinesVisitor(ignoreHeaderComments); fileLinesVisitor.scanFile(context); for (AstNode functionDef : rootTree.getDescendants(PythonGrammar.FUNCDEF)) { functionComplexities.add(ComplexityVisitor.complexity(functionDef)); } }
public FileMetrics(PythonVisitorContext context, boolean ignoreHeaderComments) { AstNode rootTree = context.rootTree(); numberOfStatements = rootTree.getDescendants(PythonGrammar.STATEMENT).size(); numberOfClasses = rootTree.getDescendants(PythonGrammar.CLASSDEF).size(); complexityVisitor.scanFile(context); cognitiveComplexityVisitor.scanFile(context); fileLinesVisitor = new FileLinesVisitor(ignoreHeaderComments); fileLinesVisitor.scanFile(context); for (AstNode functionDef : rootTree.getDescendants(PythonGrammar.FUNCDEF)) { functionComplexities.add(ComplexityVisitor.complexity(functionDef)); } }