Файл: vendor/nesbot/carbon/lazy/Carbon/PHPStan/AbstractMacroStatic.php
Строк: 70
<?php
declare(strict_types=1);
/**
* This file is part of the Carbon package.
*
* (c) Brian Nesbitt <brian@nesbot.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CarbonPHPStan;
use PHPStanBetterReflectionReflection;
use ReflectionMethod;
if (!class_exists(AbstractReflectionMacro::class, false)) {
abstract class AbstractReflectionMacro extends AbstractMacro
{
/**
* {@inheritdoc}
*/
public function getReflection(): ?ReflectionAdapterReflectionMethod
{
if ($this->reflectionFunction instanceof ReflectionAdapterReflectionMethod) {
return $this->reflectionFunction;
}
if ($this->reflectionFunction instanceof ReflectionReflectionMethod) {
return new ReflectionAdapterReflectionMethod($this->reflectionFunction);
}
return $this->reflectionFunction instanceof ReflectionMethod
? new ReflectionAdapterReflectionMethod(
ReflectionReflectionMethod::createFromName(
$this->reflectionFunction->getDeclaringClass()->getName(),
$this->reflectionFunction->getName()
)
)
: null;
}
}
}