Da quello che ho letto. Stai creando un'istanza di UserController con il parametro CompanyController.
Questa istanza viene eseguita prima che tu abbia effettivamente inviato la chiamata Auth::login().
Poiché stai istanziando il controller dell'azienda con __construct
prima di eseguire confirmUser
sul userController
l'oggetto companyController esiste prima di Auth::login()
viene effettuata la chiamata.