/** * Executes single call. * * @param Call $call * * @return CallResult */ private function executeCall(Call $call) { $callable = $call->getBoundCallable(); $arguments = $call->getArguments(); $return = $exception = null; try { $return = call_user_func_array($callable, $arguments); } catch (Exception $caught) { $exception = $caught; } $stdOud = $this->getBufferedStdOut(); return new CallResult($call, $return, $exception, $stdOud); }