/** * This method will persist a class instance for later reuse. * * @param string $className * @param string $namespaceName * @param \PDepend\Source\AST\ASTClass $class * @return void * @@since 0.9.5 */ protected function storeClass($className, $namespaceName, ASTClass $class) { $className = strtolower($className); if (!isset($this->classes[$className][$namespaceName])) { $this->classes[$className][$namespaceName] = array(); } $this->classes[$className][$namespaceName][$class->getId()] = $class; $namespace = $this->buildNamespace($namespaceName); $namespace->addType($class); }
/** * Initializes a empty metric container for the given class node. * * @param \PDepend\Source\AST\ASTClass $class * @return void * @since 0.9.10 */ private function initNodeMetricsForClass(ASTClass $class) { $id = $class->getId(); if (isset($this->nodeMetrics[$id])) { return; } ++$this->numberOfClasses; $this->nodeMetrics[$id] = array(self::M_DEPTH_OF_INHERITANCE_TREE => 0, self::M_NUMBER_OF_ADDED_METHODS => 0, self::M_NUMBER_OF_DERIVED_CLASSES => 0, self::M_NUMBER_OF_OVERWRITTEN_METHODS => 0); foreach ($class->getParentClasses() as $parent) { $this->initNodeMetricsForClass($parent); } }