Closed
Description
When importing the C++ SDK into google3, the following warning surfaced, which looks legitimate:
non-static data member 'change_listener_' of 'FirebaseCppCredentialsProvider' shadows member inherited from type 'CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User>'
third_party/firebase/ios/Releases/FirebaseFirestore/core/src/credentials/credentials_provider.h:82:39: declared here
The superclass, CredentialsProvider<AuthToken, User>
, defines the following two protected data members:
CredentialChangeListener<ValueType> change_listener_;
bool force_refresh_ = false;
The subclass, FirebaseCppCredentialsProvider
, defines the following two private data members:
bool force_refresh_token_ = false;
firestore::credentials::CredentialChangeListener<firestore::credentials::User> change_listener_;
firebase-cpp-sdk/firestore/src/main/credentials_provider_desktop.h
Lines 115 to 119 in b6c496b
It appears that these data members in the subclass can simply be removed in favor of the ones defined in the superclass. It just so happens that one of their names collides. We should audit the other subclasses of CredentialsProvider
to see if they also could benefit from this deduplication of member variables.