/**
  * testIsUserDefinedReturnsFalseByDefault
  *
  * @return void
  */
 public function testIsUserDefinedReturnsFalseByDefault()
 {
     $class = new ASTClass(__CLASS__);
     $this->assertFalse($class->isUserDefined());
 }
 /**
  * Visits a class node.
  *
  * @param \PDepend\Source\AST\ASTClass $class
  * @return void
  */
 public function visitClass(ASTClass $class)
 {
     if (false === $class->isUserDefined()) {
         return;
     }
     $this->fireStartClass($class);
     // Update global class count
     ++$this->noc;
     $id = $class->getNamespace()->getId();
     ++$this->nodeMetrics[$id][self::M_NUMBER_OF_CLASSES];
     $this->nodeMetrics[$class->getId()] = array(self::M_NUMBER_OF_METHODS => 0);
     foreach ($class->getMethods() as $method) {
         $method->accept($this);
     }
     $this->fireEndClass($class);
 }
 /**
  * Calculates metrics for the given <b>$class</b> instance.
  *
  * @param \PDepend\Source\AST\ASTClass $class
  * @return void
  */
 public function visitClass(ASTClass $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->getId()] = true;
         }
         $this->noneLeafs[$parentClass->getId()] = true;
     }
     // Store node metric
     $this->nodeMetrics[$class->getId()] = 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 \PDepend\Source\AST\ASTClass $class
  * @return void
  */
 public function visitClass(ASTClass $class)
 {
     if (!$class->isUserDefined()) {
         return;
     }
     $doc = $this->packages->ownerDocument;
     $classXml = $doc->createElement('Class');
     $classXml->setAttribute('sourceFile', (string) $class->getCompilationUnit());
     $classXml->appendChild($doc->createTextNode($class->getName()));
     if ($class->isAbstract()) {
         $this->abstractClasses->appendChild($classXml);
     } else {
         $this->concreteClasses->appendChild($classXml);
     }
 }
Beispiel #5
0
    /**
     * Generates the XML for a class or trait node.
     *
     * @param \PDepend\Source\AST\ASTClass $type
     * @param string $typeIdentifier
     * @return void
     */
    private function generateTypeXml(ASTClass $type, $typeIdentifier)
    {
        if (!$type->isUserDefined()) {
            return;
        }

        $xml = end($this->xmlStack);
        $doc = $xml->ownerDocument;

        $typeXml = $doc->createElement($typeIdentifier);
        $typeXml->setAttribute('name', $type->getName());

        $this->writeNodeMetrics($typeXml, $type);
        $this->writeFileReference($typeXml, $type->getCompilationUnit());

        $xml->appendChild($typeXml);

        array_push($this->xmlStack, $typeXml);

        foreach ($type->getMethods() as $method) {
            $method->accept($this);
        }
        foreach ($type->getProperties() as $property) {
            $property->accept($this);
        }

        array_pop($this->xmlStack);
    }
 /**
  * Visits a class node.
  *
  * @param  \PDepend\Source\AST\ASTClass $class
  * @return void
  */
 public function visitClass(ASTClass $class)
 {
     if (!$class->isUserDefined()) {
         return;
     }
     $this->fireStartClass($class);
     $this->initNodeMetricsForClass($class);
     $this->calculateNumberOfDerivedClasses($class);
     $this->calculateNumberOfAddedAndOverwrittenMethods($class);
     $this->calculateDepthOfInheritanceTree($class);
     $this->fireEndClass($class);
 }
Beispiel #7
0
 /**
  * Visits a class node.
  *
  * @param \PDepend\Source\AST\ASTClass $node
  * @return void
  */
 public function visitClass(ASTClass $node)
 {
     if (!$node->isUserDefined()) {
         return;
     }
     $this->apply(new ClassNode($node));
     parent::visitClass($node);
 }
 /**
  * Visits a class node.
  *
  * @param \PDepend\Source\AST\ASTClass $class
  * @return void
  */
 public function visitClass(ASTClass $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->getCompilationUnit());
     $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);
 }