Any reason for this?

https://github.com/bitcoin/bitcoin/blob/2d46f1be0c3c8b7287aa1f62bb1f5b4a8d00ff6e/src/util/system.cpp#L316-L326
#include <init.h>
#include <interfaces/chain.h>
#include <net.h>
#include <node/context.h>
#include <outputtype.h>
#include <util/moneystr.h>
#include <util/system.h>
#include <util/translation.h>
#include <wallet/wallet.h>
#include <walletinitinterface.h>
class WalletInit : public WalletInitInterface {
public:
    
    bool HasWalletSupport() const override {return true;}
    
    void AddWalletOptions() const override;
    
    bool ParameterInteraction() const override;
    
    void Construct(NodeContext& node) const override;
};
const WalletInitInterface& g_wallet_init_interface = WalletInit();
void WalletInit::AddWalletOptions() const