ApiGen\Parser\Reflection\TokenReflection\ReflectionFactory::createByReflectionType PHP Method

createByReflectionType() private method

private createByReflectionType ( TokenReflection\IReflectionClass | TokenReflection\IReflectionConstant | TokenReflection\IReflectionMethod $reflection ) : ReflectionClass | ReflectionConstant | ReflectionMethod
$reflection TokenReflection\IReflectionClass | TokenReflection\IReflectionConstant | TokenReflection\IReflectionMethod
return ApiGen\Parser\Reflection\ReflectionClass | ApiGen\Parser\Reflection\ReflectionConstant | ApiGen\Parser\Reflection\ReflectionMethod
    private function createByReflectionType($reflection)
    {
        if ($reflection instanceof IReflectionClass) {
            return new ReflectionClass($reflection);
        } elseif ($reflection instanceof IReflectionConstant) {
            return new ReflectionConstant($reflection);
        } elseif ($reflection instanceof IReflectionMethod) {
            return new ReflectionMethod($reflection);
        } elseif ($reflection instanceof IReflectionProperty) {
            return new ReflectionProperty($reflection);
        } elseif ($reflection instanceof IReflectionParameter) {
            return new ReflectionParameter($reflection);
        } elseif ($reflection instanceof IReflectionFunction) {
            return new ReflectionFunction($reflection);
        } elseif ($reflection instanceof IReflectionExtension) {
            return new ReflectionExtension($reflection);
        }
        throw new RuntimeException('Invalid reflection class type ' . get_class($reflection));
    }