Beispiel #1
0
 /**
  * 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);
     }
 }