Add more callable type hints
This commit is contained in:
parent
4e0c6e1b55
commit
7685cddf95
@ -149,7 +149,7 @@ EOF
|
||||
return;
|
||||
}
|
||||
$refl = new \ReflectionMethod($cb[0], $cb[1]);
|
||||
} elseif (is_object($cb) && is_callable($cb)) {
|
||||
} elseif (is_object($cb) && method_exists($cb, '__invoke')) {
|
||||
$refl = new \ReflectionMethod($cb, '__invoke');
|
||||
} elseif (function_exists($cb)) {
|
||||
$refl = new \ReflectionFunction($cb);
|
||||
|
@ -12,7 +12,7 @@
|
||||
<service id="debug.debug_handlers_listener" class="Symfony\Component\HttpKernel\EventListener\DebugHandlersListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<tag name="monolog.logger" channel="php" />
|
||||
<argument /><!-- Exception handler -->
|
||||
<argument>null</argument><!-- Exception handler -->
|
||||
<argument type="service" id="logger" on-invalid="null" />
|
||||
<argument>null</argument><!-- Log levels map for enabled error levels -->
|
||||
<argument>null</argument>
|
||||
|
@ -36,7 +36,7 @@ class ProcessHelper extends Helper
|
||||
*
|
||||
* @return Process The process that ran
|
||||
*/
|
||||
public function run(OutputInterface $output, $cmd, $error = null, $callback = null, $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE)
|
||||
public function run(OutputInterface $output, $cmd, $error = null, callable $callback = null, $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE)
|
||||
{
|
||||
if ($output instanceof ConsoleOutputInterface) {
|
||||
$output = $output->getErrorOutput();
|
||||
@ -92,7 +92,7 @@ class ProcessHelper extends Helper
|
||||
*
|
||||
* @see run()
|
||||
*/
|
||||
public function mustRun(OutputInterface $output, $cmd, $error = null, $callback = null)
|
||||
public function mustRun(OutputInterface $output, $cmd, $error = null, callable $callback = null)
|
||||
{
|
||||
$process = $this->run($output, $cmd, $error, $callback);
|
||||
|
||||
@ -112,7 +112,7 @@ class ProcessHelper extends Helper
|
||||
*
|
||||
* @return callable
|
||||
*/
|
||||
public function wrapCallback(OutputInterface $output, Process $process, $callback = null)
|
||||
public function wrapCallback(OutputInterface $output, Process $process, callable $callback = null)
|
||||
{
|
||||
if ($output instanceof ConsoleOutputInterface) {
|
||||
$output = $output->getErrorOutput();
|
||||
|
@ -86,7 +86,7 @@ class ProgressBar
|
||||
* @param string $name The placeholder name (including the delimiter char like %)
|
||||
* @param callable $callable A PHP callable
|
||||
*/
|
||||
public static function setPlaceholderFormatterDefinition($name, $callable)
|
||||
public static function setPlaceholderFormatterDefinition($name, callable $callable)
|
||||
{
|
||||
if (!self::$formatters) {
|
||||
self::$formatters = self::initPlaceholderFormatters();
|
||||
|
@ -377,7 +377,7 @@ class QuestionHelper extends Helper
|
||||
*
|
||||
* @throws \Exception In case the max number of attempts has been reached and no valid response has been given
|
||||
*/
|
||||
private function validateAttempts($interviewer, OutputInterface $output, Question $question)
|
||||
private function validateAttempts(callable $interviewer, OutputInterface $output, Question $question)
|
||||
{
|
||||
$error = null;
|
||||
$attempts = $question->getMaxAttempts();
|
||||
|
@ -164,7 +164,7 @@ class Question
|
||||
*
|
||||
* @return Question The current instance
|
||||
*/
|
||||
public function setValidator($validator)
|
||||
public function setValidator(callable $validator = null)
|
||||
{
|
||||
$this->validator = $validator;
|
||||
|
||||
@ -220,11 +220,11 @@ class Question
|
||||
*
|
||||
* The normalizer can be a callable (a string), a closure or a class implementing __invoke.
|
||||
*
|
||||
* @param string|\Closure $normalizer
|
||||
* @param callable $normalizer
|
||||
*
|
||||
* @return Question The current instance
|
||||
*/
|
||||
public function setNormalizer($normalizer)
|
||||
public function setNormalizer(callable $normalizer)
|
||||
{
|
||||
$this->normalizer = $normalizer;
|
||||
|
||||
@ -236,7 +236,7 @@ class Question
|
||||
*
|
||||
* The normalizer can ba a callable (a string), a closure or a class implementing __invoke.
|
||||
*
|
||||
* @return string|\Closure
|
||||
* @return callable
|
||||
*/
|
||||
public function getNormalizer()
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ class ExpressionFunction
|
||||
* @param callable $compiler A callable able to compile the function
|
||||
* @param callable $evaluator A callable able to evaluate the function
|
||||
*/
|
||||
public function __construct($name, $compiler, $evaluator)
|
||||
public function __construct($name, callable $compiler, callable $evaluator)
|
||||
{
|
||||
$this->name = $name;
|
||||
$this->compiler = $compiler;
|
||||
|
@ -112,7 +112,7 @@ class ExpressionLanguage
|
||||
*
|
||||
* @see ExpressionFunction
|
||||
*/
|
||||
public function register($name, $compiler, $evaluator)
|
||||
public function register($name, callable $compiler, callable $evaluator)
|
||||
{
|
||||
$this->functions[$name] = array('compiler' => $compiler, 'evaluator' => $evaluator);
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ class CustomFilterIterator extends FilterIterator
|
||||
* Constructor.
|
||||
*
|
||||
* @param \Iterator $iterator The Iterator to filter
|
||||
* @param array $filters An array of PHP callbacks
|
||||
* @param callable[] $filters An array of PHP callbacks
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
|
@ -101,7 +101,7 @@ class ArrayKeyChoiceList extends ArrayChoiceList
|
||||
* the keys of the values or if any of the
|
||||
* choices is not scalar
|
||||
*/
|
||||
public function __construct($choices, $value = null)
|
||||
public function __construct($choices, callable $value = null)
|
||||
{
|
||||
// If no values are given, use the choices as values
|
||||
// Since the choices are stored in the collection keys, i.e. they are
|
||||
|
@ -59,7 +59,7 @@ class LazyChoiceList implements ChoiceListInterface
|
||||
* @param null|callable $value The callable generating the choice
|
||||
* values
|
||||
*/
|
||||
public function __construct(ChoiceLoaderInterface $loader, $value = null)
|
||||
public function __construct(ChoiceLoaderInterface $loader, callable $value = null)
|
||||
{
|
||||
$this->loader = $loader;
|
||||
$this->value = $value;
|
||||
|
@ -36,7 +36,7 @@ class StreamedResponse extends Response
|
||||
* @param int $status The response status code
|
||||
* @param array $headers An array of response headers
|
||||
*/
|
||||
public function __construct($callback = null, $status = 200, $headers = array())
|
||||
public function __construct(callable $callback = null, $status = 200, $headers = array())
|
||||
{
|
||||
parent::__construct(null, $status, $headers);
|
||||
|
||||
|
@ -131,7 +131,7 @@ class ControllerResolver implements ControllerResolverInterface
|
||||
*
|
||||
* @param string $controller A Controller string
|
||||
*
|
||||
* @return mixed A PHP callable
|
||||
* @return callable A PHP callable
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
|
@ -29,12 +29,10 @@ class FilterControllerEvent extends KernelEvent
|
||||
{
|
||||
/**
|
||||
* The current controller.
|
||||
*
|
||||
* @var callable
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function __construct(HttpKernelInterface $kernel, $controller, Request $request, $requestType)
|
||||
public function __construct(HttpKernelInterface $kernel, callable $controller, Request $request, $requestType)
|
||||
{
|
||||
parent::__construct($kernel, $request, $requestType);
|
||||
|
||||
|
@ -45,7 +45,7 @@ class DebugHandlersListener implements EventSubscriberInterface
|
||||
* @param bool $scream Enables/disables screaming mode, where even silenced errors are logged
|
||||
* @param string $fileLinkFormat The format for links to source files
|
||||
*/
|
||||
public function __construct($exceptionHandler, LoggerInterface $logger = null, $levels = null, $throwAt = -1, $scream = true, $fileLinkFormat = null)
|
||||
public function __construct(callable $exceptionHandler = null, LoggerInterface $logger = null, $levels = null, $throwAt = -1, $scream = true, $fileLinkFormat = null)
|
||||
{
|
||||
$this->exceptionHandler = $exceptionHandler;
|
||||
$this->logger = $logger;
|
||||
|
@ -154,17 +154,6 @@ class HttpKernelTest extends \PHPUnit_Framework_TestCase
|
||||
$kernel->handle(new Request());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \LogicException
|
||||
*/
|
||||
public function testHandleWhenTheControllerIsNotACallable()
|
||||
{
|
||||
$dispatcher = new EventDispatcher();
|
||||
$kernel = new HttpKernel($dispatcher, $this->getResolver('foobar'));
|
||||
|
||||
$kernel->handle(new Request());
|
||||
}
|
||||
|
||||
public function testHandleWhenTheControllerIsAClosure()
|
||||
{
|
||||
$response = new Response('foo');
|
||||
|
@ -54,7 +54,7 @@ class PhpProcess extends Process
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function start($callback = null)
|
||||
public function start(callable $callback = null)
|
||||
{
|
||||
if (null === $this->getCommandLine()) {
|
||||
throw new RuntimeException('Unable to find the PHP executable.');
|
||||
|
@ -217,7 +217,7 @@ class Process
|
||||
* @throws RuntimeException if PHP was compiled with --enable-sigchild and the enhanced sigchild compatibility mode is not enabled
|
||||
* @throws ProcessFailedException if the process didn't terminate successfully
|
||||
*/
|
||||
public function mustRun($callback = null)
|
||||
public function mustRun(callable $callback = null)
|
||||
{
|
||||
if ($this->isSigchildEnabled() && !$this->enhanceSigchildCompatibility) {
|
||||
throw new RuntimeException('This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.');
|
||||
@ -252,7 +252,7 @@ class Process
|
||||
* @throws RuntimeException When process is already running
|
||||
* @throws LogicException In case a callback is provided and output has been disabled
|
||||
*/
|
||||
public function start($callback = null)
|
||||
public function start(callable $callback = null)
|
||||
{
|
||||
if ($this->isRunning()) {
|
||||
throw new RuntimeException('Process is already running');
|
||||
@ -310,7 +310,7 @@ class Process
|
||||
*
|
||||
* @see start()
|
||||
*/
|
||||
public function restart($callback = null)
|
||||
public function restart(callable $callback = null)
|
||||
{
|
||||
if ($this->isRunning()) {
|
||||
throw new RuntimeException('Process is already running');
|
||||
@ -337,7 +337,7 @@ class Process
|
||||
* @throws RuntimeException When process stopped after receiving signal
|
||||
* @throws LogicException When process is not yet started
|
||||
*/
|
||||
public function wait($callback = null)
|
||||
public function wait(callable $callback = null)
|
||||
{
|
||||
$this->requireProcessIsStarted(__FUNCTION__);
|
||||
|
||||
@ -1232,7 +1232,7 @@ class Process
|
||||
*
|
||||
* @param callable|null $callback The user defined PHP callback
|
||||
*
|
||||
* @return callable A PHP callable
|
||||
* @return \Closure A PHP closure
|
||||
*/
|
||||
protected function buildCallback($callback)
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ abstract class AbstractNormalizer extends SerializerAwareNormalizer implements N
|
||||
/**
|
||||
* Set normalization callbacks.
|
||||
*
|
||||
* @param array $callbacks help normalize the result
|
||||
* @param callable[] $callbacks help normalize the result
|
||||
*
|
||||
* @return self
|
||||
*
|
||||
|
@ -351,9 +351,9 @@ class PhpEngine implements EngineInterface, \ArrayAccess
|
||||
* Adds an escaper for the given context.
|
||||
*
|
||||
* @param string $context The escaper context (html, js, ...)
|
||||
* @param mixed $escaper A PHP callable
|
||||
* @param callable $escaper A PHP callable
|
||||
*/
|
||||
public function setEscaper($context, $escaper)
|
||||
public function setEscaper($context, callable $escaper)
|
||||
{
|
||||
$this->escapers[$context] = $escaper;
|
||||
self::$escaperCache[$context] = array();
|
||||
@ -364,7 +364,7 @@ class PhpEngine implements EngineInterface, \ArrayAccess
|
||||
*
|
||||
* @param string $context The context name
|
||||
*
|
||||
* @return mixed $escaper A PHP callable
|
||||
* @return callable $escaper A PHP callable
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
|
@ -304,7 +304,7 @@ abstract class AbstractCloner implements ClonerInterface
|
||||
$a = $cast;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$a[(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠'] = new ThrowingCasterException($callback, $e);
|
||||
$a[(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠'] = new ThrowingCasterException($e);
|
||||
}
|
||||
|
||||
return $a;
|
||||
|
@ -17,10 +17,9 @@ namespace Symfony\Component\VarDumper\Exception;
|
||||
class ThrowingCasterException extends \Exception
|
||||
{
|
||||
/**
|
||||
* @param callable $caster The failing caster
|
||||
* @param \Exception $prev The exception thrown from the caster
|
||||
*/
|
||||
public function __construct($caster, \Exception $prev)
|
||||
public function __construct(\Exception $prev)
|
||||
{
|
||||
parent::__construct('Unexpected '.get_class($prev).' thrown from a caster: '.$prev->getMessage(), 0, $prev);
|
||||
}
|
||||
|
@ -38,12 +38,8 @@ class VarDumper
|
||||
return call_user_func(self::$handler, $var);
|
||||
}
|
||||
|
||||
public static function setHandler($callable)
|
||||
public static function setHandler(callable $callable = null)
|
||||
{
|
||||
if (null !== $callable && !is_callable($callable, true)) {
|
||||
throw new \InvalidArgumentException('Invalid PHP callback.');
|
||||
}
|
||||
|
||||
$prevHandler = self::$handler;
|
||||
self::$handler = $callable;
|
||||
|
||||
|
Reference in New Issue
Block a user