@Override public void visitBreakStatement(BreakStatementTree tree) { if (tree.label() != null) { increaseComplexityByOne(tree.breakKeyword()); } super.visitBreakStatement(tree); }
@Override public void visitContinueStatement(ContinueStatementTree tree) { if (tree.label() != null) { increaseComplexityByOne(tree.continueKeyword()); } super.visitContinueStatement(tree); }
@Override public void visitContinueStatement(ContinueStatementTree tree) { if (tree.label() != null) { increaseComplexityByOne(tree.continueKeyword()); } super.visitContinueStatement(tree); }
@Override public void visitBreakStatement(BreakStatementTree tree) { if (tree.label() != null) { increaseComplexityByOne(tree.breakKeyword()); } super.visitBreakStatement(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(CONDITIONAL_AND, CONDITIONAL_OR) && !ignored.contains(tree)) { List<BinaryExpressionTree> flattenedLogicalExpressions = flattenLogicalExpression(tree).collect(Collectors.toList()); BinaryExpressionTree previous = null; for (BinaryExpressionTree current : flattenedLogicalExpressions) { if (previous == null || !previous.is(current.kind())) { increaseComplexityByOne(current.operatorToken()); } previous = current; } } super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(CONDITIONAL_AND, CONDITIONAL_OR) && !ignored.contains(tree)) { List<BinaryExpressionTree> flattenedLogicalExpressions = flattenLogicalExpression(tree).collect(Collectors.toList()); BinaryExpressionTree previous = null; for (BinaryExpressionTree current : flattenedLogicalExpressions) { if (previous == null || !previous.is(current.kind())) { increaseComplexityByOne(current.operatorToken()); } previous = current; } } super.visitBinaryExpression(tree); }
@Override public void visitIfStatement(IfStatementTree tree) { increaseComplexityByNesting(tree.ifKeyword()); scan(tree.condition()); nesting++; scan(tree.thenStatement()); nesting--; boolean elseStatementNotIF = tree.elseStatement() != null && !tree.elseStatement().is(IF_STATEMENT); if (elseStatementNotIF) { increaseComplexityByOne(tree.elseKeyword()); nesting++; } else if (tree.elseStatement() != null) { // else statement is an if, visiting it will increase complexity by nesting so by one only. ignoreNesting = true; complexity -= nesting - 1; } scan(tree.elseStatement()); if (elseStatementNotIF) { nesting--; } }
@Override public void visitIfStatement(IfStatementTree tree) { increaseComplexityByNesting(tree.ifKeyword()); scan(tree.condition()); nesting++; scan(tree.thenStatement()); nesting--; boolean elseStatementNotIF = tree.elseStatement() != null && !tree.elseStatement().is(IF_STATEMENT); if (elseStatementNotIF) { increaseComplexityByOne(tree.elseKeyword()); nesting++; } else if (tree.elseStatement() != null) { // else statement is an if, visiting it will increase complexity by nesting so by one only. ignoreNesting = true; complexity -= nesting - 1; } scan(tree.elseStatement()); if (elseStatementNotIF) { nesting--; } }