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.