/**
  * @param string          $newClassName
  * @param ReflectionClass $refClass
  *
  * @return string
  */
 private function createFile($newClassName, ReflectionClass $refClass)
 {
     $file = $this->classDir . "/{$newClassName}.php";
     $stmt = $this->getClass($newClassName, $refClass)->addStmts($this->getMethods($refClass))->getNode();
     $stmt = $this->addClassDocComment($stmt, $refClass);
     $code = $this->printer->prettyPrint([$stmt]);
     file_put_contents($file, '<?php ' . PHP_EOL . $code);
     include_once $file;
     return $newClassName;
 }
Ejemplo n.º 2
0
 /**
  * Returns a simple human readable output for a value.
  *
  * @param \PHPParser_Node_Expr $value The value node as provided by
  *     PHP-Parser.
  *
  * @return string
  */
 protected function getRepresentationOfValue($value)
 {
     if (!$value) {
         return '';
     }
     if (!self::$prettyPrinter) {
         self::$prettyPrinter = new PrettyPrinter();
     }
     return self::$prettyPrinter->prettyPrintExpr($value);
 }