/** * Initializes a empty metric container for the given class node. * * @param PHP_Depend_Code_Class $class The context class instance. * * @return void * @since 0.9.10 */ private function initNodeMetricsForClass(PHP_Depend_Code_Class $class) { $uuid = $class->getUuid(); if (isset($this->nodeMetrics[$uuid])) { return; } ++$this->numberOfClasses; $this->nodeMetrics[$uuid] = 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); } }
/** * This method will persist a class instance for later reuse. * * @param string $className The local class name. * @param string $packageName The package name * @param PHP_Depend_Code_Class $class The context class. * * @return void * @@since 0.9.5 */ protected function storeClass($className, $packageName, PHP_Depend_Code_Class $class) { $className = strtolower($className); if (!isset($this->classes[$className][$packageName])) { $this->classes[$className][$packageName] = array(); } $this->classes[$className][$packageName][$class->getUuid()] = $class; $package = $this->buildPackage($packageName); $package->addType($class); }