Pelo que li. Você está instanciando o UserController com o parâmetro CompanyController.
Essa instanciação é feita antes de você realmente enviar a chamada Auth::login().
Como você está instanciando o controlador da empresa com
__construct antes de executar confirmUser no userController o objeto companyController existe antes do Auth::login() chamada é feita.