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.