1
0
mirror of https://github.com/flarum/core.git synced 2025-07-27 19:50:20 +02:00

Pushing latest stuff

This commit is contained in:
Matthew Kilgore
2021-12-28 20:45:22 -05:00
parent 05aa62f70c
commit 853926ce0b
80 changed files with 7103 additions and 16105 deletions

View File

@@ -0,0 +1,72 @@
<?php
declare(strict_types=1);
namespace Flarum\PHPStan\Methods;
use Illuminate\Pipeline\Pipeline;
use Flarum\PHPStan\Concerns;
use Flarum\PHPStan\Contracts\Methods\PassableContract;
use PHPStan\Reflection\ClassReflection;
use PHPStan\Reflection\Php\PhpMethodReflectionFactory;
use PHPStan\Reflection\ReflectionProvider;
/**
* @internal
*/
final class Kernel
{
use Concerns\HasContainer;
/**
* @var PhpMethodReflectionFactory
*/
private $methodReflectionFactory;
/**
* @var ReflectionProvider
*/
private $reflectionProvider;
/**
* Kernel constructor.
*
* @param PhpMethodReflectionFactory $methodReflectionFactory
*/
public function __construct(
PhpMethodReflectionFactory $methodReflectionFactory,
ReflectionProvider $reflectionProvider
) {
$this->methodReflectionFactory = $methodReflectionFactory;
$this->reflectionProvider = $reflectionProvider;
}
/**
* @param ClassReflection $classReflection
* @param string $methodName
* @return PassableContract
*/
public function handle(ClassReflection $classReflection, string $methodName): PassableContract
{
$pipeline = new Pipeline($this->getContainer());
$passable = new Passable($this->methodReflectionFactory, $this->reflectionProvider, $pipeline, $classReflection, $methodName);
$pipeline->send($passable)
->through(
[
Pipes\SelfClass::class,
Pipes\Macros::class,
Pipes\Contracts::class,
Pipes\Facades::class,
Pipes\Managers::class,
Pipes\Auths::class,
]
)
->then(
function ($method) {
}
);
return $passable;
}
}