コード例 #1
0
ファイル: Analyzer.php プロジェクト: kingsj/core
 /**
  * Calculates the expression sum of the given node.
  *
  * @param PHP_Depend_Code_ASTNodeI $node The currently visited node.
  *
  * @return string
  * @since 0.9.12
  * @todo I don't like this method implementation, it should be possible to
  *       implement this method with more visitor behavior for the boolean
  *       and logical expressions.
  */
 public function sumComplexity($node)
 {
     $sum = '0';
     if ($node instanceof PHP_Depend_Code_ASTConditionalExpression) {
         $sum = PHP_Depend_Util_MathUtil::add($sum, $node->accept($this, 1));
     } else {
         if ($node instanceof PHP_Depend_Code_ASTBooleanAndExpression || $node instanceof PHP_Depend_Code_ASTBooleanOrExpression || $node instanceof PHP_Depend_Code_ASTLogicalAndExpression || $node instanceof PHP_Depend_Code_ASTLogicalOrExpression || $node instanceof PHP_Depend_Code_ASTLogicalXorExpression) {
             $sum = PHP_Depend_Util_MathUtil::add($sum, '1');
         } else {
             foreach ($node->getChildren() as $child) {
                 $expr = $this->sumComplexity($child);
                 $sum = PHP_Depend_Util_MathUtil::add($sum, $expr);
             }
         }
     }
     return $sum;
 }