Exemplo n.º 1
0
 /**
  * Adjust definition of original class source to enable extending
  *
  * @param ParsedClass $class Instance of class reflection
  * @param string $source Source code
  * @param string $newParentName New name for the parent class
  *
  * @return string Replaced code for class
  */
 private function adjustOriginalClass($class, $source, $newParentName)
 {
     $type = $this->kernel->hasFeature(Features::USE_TRAIT) && $class->isTrait() ? 'trait' : 'class';
     $source = preg_replace("/{$type}\\s+(" . $class->getShortName() . ')(\\b)/iS', "{$type} {$newParentName}\$2", $source);
     if ($class->isFinal()) {
         // Remove final from class, child will be final instead
         $source = str_replace("final {$type}", $type, $source);
     }
     return $source;
 }
Exemplo n.º 2
0
 /**
  *
  * @param ReflectionClass $reflection
  * @return string
  */
 protected static function getFinal(ReflectionClass $reflection)
 {
     return $reflection->isFinal() ? "Yes" : "No";
 }