Go\Instrument\Transformer\WeavingTransformer::adjustOriginalClass PHP Method

adjustOriginalClass() private method

Adjust definition of original class source to enable extending
private adjustOriginalClass ( ReflectionClas\ReflectionClass $class, string $source, string $newParentName ) : string
$class ReflectionClas\ReflectionClass Instance of class reflection
$source string Source code
$newParentName string New name for the parent class
return string Replaced code for class
    private function adjustOriginalClass($class, $source, $newParentName)
    {
        $type = $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;
    }