public function resolveCommand(RawArgs $args)
{
if ($this->dispatcher && $this->dispatcher->hasListeners(ConsoleEvents::PRE_RESOLVE)) {
$event = new PreResolveEvent($args, $this);
$this->dispatcher->dispatch(ConsoleEvents::PRE_RESOLVE, $event);
if ($resolvedCommand = $event->getResolvedCommand()) {
return $resolvedCommand;
}
}
return $this->config->getCommandResolver()->resolveCommand($args, $this);
}