PDepend\Metrics\Analyzer\NPathComplexityAnalyzer::sumComplexity PHP Method

sumComplexity() public method

Calculates the expression sum of the given node.
Since: 0.9.12
public sumComplexity ( PDepend\Source\AST\ASTNode $node ) : string
$node PDepend\Source\AST\ASTNode The currently visited node.
return string
    public function sumComplexity($node)
    {
        $sum = '0';
        if ($node instanceof ASTConditionalExpression) {
            $sum = MathUtil::add($sum, $node->accept($this, 1));
        } elseif ($node instanceof ASTBooleanAndExpression || $node instanceof ASTBooleanOrExpression || $node instanceof ASTLogicalAndExpression || $node instanceof ASTLogicalOrExpression || $node instanceof ASTLogicalXorExpression) {
            $sum = MathUtil::add($sum, '1');
        } else {
            foreach ($node->getChildren() as $child) {
                $expr = $this->sumComplexity($child);
                $sum = MathUtil::add($sum, $expr);
            }
        }
        return $sum;
    }