public function visitClass(ASTClass $class)
{
$this->fireStartClass($class);
$class->getCompilationUnit()->accept($this);
$this->classExecutableLines = 0;
$this->classLogicalLines = 0;
foreach ($class->getMethods() as $method) {
$method->accept($this);
}
if ($this->restoreFromCache($class)) {
return $this->fireEndClass($class);
}
list($cloc) = $this->linesOfCode($class->getTokens(), true);
$loc = $class->getEndLine() - $class->getStartLine() + 1;
$ncloc = $loc - $cloc;
$this->metrics[$class->getId()] = array(self::M_LINES_OF_CODE => $loc, self::M_COMMENT_LINES_OF_CODE => $cloc, self::M_EXECUTABLE_LINES_OF_CODE => $this->classExecutableLines, self::M_LOGICAL_LINES_OF_CODE => $this->classLogicalLines, self::M_NON_COMMENT_LINES_OF_CODE => $ncloc);
$this->fireEndClass($class);
}