PDepend\Metrics\Analyzer\NodeLocAnalyzer::visitFunction PHP 메소드

visitFunction() 공개 메소드

Visits a function node.
public visitFunction ( PDepend\Source\AST\ASTFunction $function ) : void
$function PDepend\Source\AST\ASTFunction
리턴 void
    public function visitFunction(ASTFunction $function)
    {
        $this->fireStartFunction($function);
        $function->getCompilationUnit()->accept($this);
        if ($this->restoreFromCache($function)) {
            return $this->fireEndFunction($function);
        }
        list($cloc, $eloc, $lloc) = $this->linesOfCode($function->getTokens(), true);
        $loc = $function->getEndLine() - $function->getStartLine() + 1;
        $ncloc = $loc - $cloc;
        $this->metrics[$function->getId()] = array(self::M_LINES_OF_CODE => $loc, self::M_COMMENT_LINES_OF_CODE => $cloc, self::M_EXECUTABLE_LINES_OF_CODE => $eloc, self::M_LOGICAL_LINES_OF_CODE => $lloc, self::M_NON_COMMENT_LINES_OF_CODE => $ncloc);
        $this->fireEndFunction($function);
    }