Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 public function enterNode(Node $node)
 {
     if ($node instanceof Node\Stmt\Class_) {
         $fullyQualifiedName = $node->namespacedName->toString();
         $this->currentClass = new PHPClass($fullyQualifiedName, [], $this->getSource($node));
     } elseif ($node instanceof Node\Stmt\ClassMethod) {
         $this->currentClass->addMethod(new PHPMethod($node->name, $node->isStatic(), $this->getSource($node)));
     } elseif ($node instanceof Node\Stmt\Function_) {
         $fullyQualifiedName = $node->namespacedName->toString();
         $this->result->addFunction(new PHPFunction($fullyQualifiedName, $this->getSource($node)));
     }
 }
Beispiel #2
0
 /**
  * @param PHPClass $class
  */
 public function addClass(PHPClass $class)
 {
     $this->classes[$class->getFullName()] = $class;
 }
Beispiel #3
0
 /**
  * @param PHPClass $class
  * @param string   $methodName
  * @param string   $expectedSource
  */
 private function assertClassMethod(PHPClass $class, $methodName, $expectedSource)
 {
     $this->assertTrue($class->hasMethod($methodName));
     $this->assertInstanceOf(PHPMethod::class, $class->getMethod($methodName));
     $this->assertSourceCode($expectedSource, $class->getMethod($methodName)->getSource());
 }