/** * Visits a class node. * * @param PHP_Depend_Code_Class $class The current class node. * * @return void * @see PHP_Depend_VisitorI::visitClass() */ public function visitClass(PHP_Depend_Code_Class $class) { if (!$class->isUserDefined()) { return; } $doc = $this->packages->ownerDocument; $classXml = $doc->createElement('Class'); $classXml->setAttribute('sourceFile', (string) $class->getSourceFile()); $classXml->appendChild($doc->createTextNode($class->getName())); if ($class->isAbstract()) { $this->abstractClasses->appendChild($classXml); } else { $this->concreteClasses->appendChild($classXml); } }
/** * testIsUserDefinedReturnsFalseByDefault * * @return void */ public function testIsUserDefinedReturnsFalseByDefault() { $class = new PHP_Depend_Code_Class(__CLASS__); self::assertFalse($class->isUserDefined()); }
/** * Calculates metrics for the given <b>$class</b> instance. * * @param PHP_Depend_Code_Class $class The context class instance. * * @return void * @see PHP_Depend_VisitorI::visitClass() */ public function visitClass(PHP_Depend_Code_Class $class) { if (false === $class->isUserDefined()) { return; } $this->fireStartClass($class); ++$this->_cls; if ($class->isAbstract()) { ++$this->_clsa; } $parentClass = $class->getParentClass(); if ($parentClass !== null) { if ($parentClass->getParentClass() === null) { $this->_roots[$parentClass->getUUID()] = true; } $this->_noneLeafs[$parentClass->getUUID()] = true; } // Store node metric $this->_nodeMetrics[$class->getUUID()] = array(); foreach ($class->getMethods() as $method) { $method->accept($this); } foreach ($class->getProperties() as $property) { $property->accept($this); } $this->fireEndClass($class); }
/** * Visits a class node. * * @param PHP_Depend_Code_Class $node The current class node. * * @return void * @see PHP_Depend_VisitorI::visitClass() */ public function visitClass(PHP_Depend_Code_Class $node) { if (!$node->isUserDefined()) { return; } $this->_apply(new PHP_PMD_Node_Class($node)); parent::visitClass($node); }
/** * Visits a class node. * * @param PHP_Depend_Code_Class $class The current class node. * * @return void * @see PHP_Depend_VisitorI::visitClass() */ public function visitClass(PHP_Depend_Code_Class $class) { if (!$class->isUserDefined()) { return; } $xml = end($this->_xmlStack); $doc = $xml->ownerDocument; $classXml = $doc->createElement('class'); $classXml->setAttribute('name', $class->getName()); $this->writeNodeMetrics($classXml, $class); $this->writeFileReference($classXml, $class->getSourceFile()); $xml->appendChild($classXml); array_push($this->_xmlStack, $classXml); foreach ($class->getMethods() as $method) { $method->accept($this); } foreach ($class->getProperties() as $property) { $property->accept($this); } array_pop($this->_xmlStack); }
/** * Visits a class node. * * @param PHP_Depend_Code_Class $class The current class node. * * @return void * @see PHP_Depend_Visitor_AbstractVisitor::visitClass() */ public function visitClass(PHP_Depend_Code_Class $class) { if (!$class->isUserDefined()) { return; } $this->fireStartClass($class); $this->_initNodeMetricsForClass($class); $this->_calculateNumberOfDerivedClasses($class); $this->_calculateNumberOfAddedAndOverwrittenMethods($class); $this->_calculateDepthOfInheritanceTree($class); $this->fireEndClass($class); }
/** * Visits a class node. * * @param PHP_Depend_Code_Class $class The current class node. * * @return void * @see PHP_Depend_VisitorI::visitClass() */ public function visitClass(PHP_Depend_Code_Class $class) { if (false === $class->isUserDefined()) { return; } $this->fireStartClass($class); // Update global class count ++$this->_noc; // Update parent package $packageUUID = $class->getPackage()->getUUID(); ++$this->_nodeMetrics[$packageUUID][self::M_NUMBER_OF_CLASSES]; $this->_nodeMetrics[$class->getUUID()] = array(self::M_NUMBER_OF_METHODS => 0); foreach ($class->getMethods() as $method) { $method->accept($this); } $this->fireEndClass($class); }