kernel: Add missing override specifiers

Over the course of the kernel refactoring a tiny bit of missing
overrides slipped through review, so we can add these.

While we're at it, we can remove redundant virtual keywords where
applicable as well.
This commit is contained in:
Lioncash 2021-05-29 02:49:07 -04:00
parent d25648cb6c
commit 7b2917b4e1
15 changed files with 48 additions and 53 deletions

View File

@ -22,7 +22,7 @@ class KClientPort final : public KSynchronizationObject {
public: public:
explicit KClientPort(KernelCore& kernel_); explicit KClientPort(KernelCore& kernel_);
virtual ~KClientPort() override; ~KClientPort() override;
void Initialize(KPort* parent_, s32 max_sessions_, std::string&& name_); void Initialize(KPort* parent_, s32 max_sessions_, std::string&& name_);
void OnSessionFinalized(); void OnSessionFinalized();
@ -49,8 +49,8 @@ public:
bool IsServerClosed() const; bool IsServerClosed() const;
// Overridden virtual functions. // Overridden virtual functions.
virtual void Destroy() override; void Destroy() override;
virtual bool IsSignaled() const override; bool IsSignaled() const override;
ResultCode CreateSession(KClientSession** out); ResultCode CreateSession(KClientSession** out);

View File

@ -34,7 +34,7 @@ class KClientSession final
public: public:
explicit KClientSession(KernelCore& kernel_); explicit KClientSession(KernelCore& kernel_);
virtual ~KClientSession(); ~KClientSession() override;
void Initialize(KSession* parent_, std::string&& name_) { void Initialize(KSession* parent_, std::string&& name_) {
// Set member variables. // Set member variables.
@ -42,7 +42,7 @@ public:
name = std::move(name_); name = std::move(name_);
} }
virtual void Destroy() override; void Destroy() override;
static void PostDestroy([[maybe_unused]] uintptr_t arg) {} static void PostDestroy([[maybe_unused]] uintptr_t arg) {}
KSession* GetParent() const { KSession* GetParent() const {

View File

@ -20,23 +20,21 @@ class KEvent final : public KAutoObjectWithSlabHeapAndContainer<KEvent, KAutoObj
public: public:
explicit KEvent(KernelCore& kernel_); explicit KEvent(KernelCore& kernel_);
virtual ~KEvent(); ~KEvent() override;
void Initialize(std::string&& name); void Initialize(std::string&& name);
virtual void Finalize() override; void Finalize() override;
virtual bool IsInitialized() const override { bool IsInitialized() const override {
return initialized; return initialized;
} }
virtual uintptr_t GetPostDestroyArgument() const override { uintptr_t GetPostDestroyArgument() const override {
return reinterpret_cast<uintptr_t>(owner); return reinterpret_cast<uintptr_t>(owner);
} }
static void PostDestroy(uintptr_t arg); KProcess* GetOwner() const override {
virtual KProcess* GetOwner() const override {
return owner; return owner;
} }
@ -48,6 +46,8 @@ public:
return writable_event; return writable_event;
} }
static void PostDestroy(uintptr_t arg);
private: private:
KReadableEvent readable_event; KReadableEvent readable_event;
KWritableEvent writable_event; KWritableEvent writable_event;

View File

@ -22,7 +22,7 @@ class KPort final : public KAutoObjectWithSlabHeapAndContainer<KPort, KAutoObjec
public: public:
explicit KPort(KernelCore& kernel_); explicit KPort(KernelCore& kernel_);
virtual ~KPort(); ~KPort() override;
static void PostDestroy([[maybe_unused]] uintptr_t arg) {} static void PostDestroy([[maybe_unused]] uintptr_t arg) {}
@ -59,7 +59,6 @@ private:
ServerClosed = 3, ServerClosed = 3,
}; };
private:
KServerPort server; KServerPort server;
KClientPort client; KClientPort client;
State state{State::Invalid}; State state{State::Invalid};

View File

@ -331,19 +331,19 @@ public:
void LoadModule(CodeSet code_set, VAddr base_addr); void LoadModule(CodeSet code_set, VAddr base_addr);
virtual bool IsInitialized() const override { bool IsInitialized() const override {
return is_initialized; return is_initialized;
} }
static void PostDestroy([[maybe_unused]] uintptr_t arg) {} static void PostDestroy([[maybe_unused]] uintptr_t arg) {}
virtual void Finalize(); void Finalize() override;
virtual u64 GetId() const override final { u64 GetId() const override {
return GetProcessID(); return GetProcessID();
} }
virtual bool IsSignaled() const override; bool IsSignaled() const override;
void PinCurrentThread(); void PinCurrentThread();
void UnpinCurrentThread(); void UnpinCurrentThread();

View File

@ -31,8 +31,8 @@ public:
return parent; return parent;
} }
virtual bool IsSignaled() const override; bool IsSignaled() const override;
virtual void Destroy() override; void Destroy() override;
ResultCode Signal(); ResultCode Signal();
ResultCode Clear(); ResultCode Clear();

View File

@ -37,10 +37,10 @@ class KResourceLimit final
public: public:
explicit KResourceLimit(KernelCore& kernel_); explicit KResourceLimit(KernelCore& kernel_);
virtual ~KResourceLimit(); ~KResourceLimit() override;
void Initialize(const Core::Timing::CoreTiming* core_timing_); void Initialize(const Core::Timing::CoreTiming* core_timing_);
virtual void Finalize() override; void Finalize() override;
s64 GetLimitValue(LimitableResource which) const; s64 GetLimitValue(LimitableResource which) const;
s64 GetCurrentValue(LimitableResource which) const; s64 GetCurrentValue(LimitableResource which) const;

View File

@ -25,12 +25,9 @@ class SessionRequestHandler;
class KServerPort final : public KSynchronizationObject { class KServerPort final : public KSynchronizationObject {
KERNEL_AUTOOBJECT_TRAITS(KServerPort, KSynchronizationObject); KERNEL_AUTOOBJECT_TRAITS(KServerPort, KSynchronizationObject);
private:
using SessionList = boost::intrusive::list<KServerSession>;
public: public:
explicit KServerPort(KernelCore& kernel_); explicit KServerPort(KernelCore& kernel_);
virtual ~KServerPort() override; ~KServerPort() override;
void Initialize(KPort* parent_, std::string&& name_); void Initialize(KPort* parent_, std::string&& name_);
@ -63,13 +60,14 @@ public:
bool IsLight() const; bool IsLight() const;
// Overridden virtual functions. // Overridden virtual functions.
virtual void Destroy() override; void Destroy() override;
virtual bool IsSignaled() const override; bool IsSignaled() const override;
private: private:
using SessionList = boost::intrusive::list<KServerSession>;
void CleanupSessions(); void CleanupSessions();
private:
SessionList session_list; SessionList session_list;
SessionRequestHandlerPtr session_handler; SessionRequestHandlerPtr session_handler;
KPort* parent{}; KPort* parent{};

View File

@ -42,9 +42,9 @@ class KServerSession final : public KSynchronizationObject,
public: public:
explicit KServerSession(KernelCore& kernel_); explicit KServerSession(KernelCore& kernel_);
virtual ~KServerSession() override; ~KServerSession() override;
virtual void Destroy() override; void Destroy() override;
void Initialize(KSession* parent_, std::string&& name_); void Initialize(KSession* parent_, std::string&& name_);
@ -56,7 +56,7 @@ public:
return parent; return parent;
} }
virtual bool IsSignaled() const override; bool IsSignaled() const override;
void OnClientClosed(); void OnClientClosed();

View File

@ -18,17 +18,17 @@ class KSession final : public KAutoObjectWithSlabHeapAndContainer<KSession, KAut
public: public:
explicit KSession(KernelCore& kernel_); explicit KSession(KernelCore& kernel_);
virtual ~KSession() override; ~KSession() override;
void Initialize(KClientPort* port_, const std::string& name_); void Initialize(KClientPort* port_, const std::string& name_);
virtual void Finalize() override; void Finalize() override;
virtual bool IsInitialized() const override { bool IsInitialized() const override {
return initialized; return initialized;
} }
virtual uintptr_t GetPostDestroyArgument() const override { uintptr_t GetPostDestroyArgument() const override {
return reinterpret_cast<uintptr_t>(process); return reinterpret_cast<uintptr_t>(process);
} }
@ -78,7 +78,6 @@ private:
ServerClosed = 3, ServerClosed = 3,
}; };
private:
void SetState(State state) { void SetState(State state) {
atomic_state = static_cast<u8>(state); atomic_state = static_cast<u8>(state);
} }
@ -87,7 +86,6 @@ private:
return static_cast<State>(atomic_state.load(std::memory_order_relaxed)); return static_cast<State>(atomic_state.load(std::memory_order_relaxed));
} }
private:
KServerSession server; KServerSession server;
KClientSession client; KClientSession client;
std::atomic<std::underlying_type_t<State>> atomic_state{ std::atomic<std::underlying_type_t<State>> atomic_state{

View File

@ -68,9 +68,9 @@ public:
return device_memory->GetPointer(physical_address + offset); return device_memory->GetPointer(physical_address + offset);
} }
virtual void Finalize() override; void Finalize() override;
virtual bool IsInitialized() const override { bool IsInitialized() const override {
return is_initialized; return is_initialized;
} }
static void PostDestroy([[maybe_unused]] uintptr_t arg) {} static void PostDestroy([[maybe_unused]] uintptr_t arg) {}

View File

@ -29,7 +29,7 @@ public:
KSynchronizationObject** objects, const s32 num_objects, KSynchronizationObject** objects, const s32 num_objects,
s64 timeout); s64 timeout);
virtual void Finalize() override; void Finalize() override;
[[nodiscard]] virtual bool IsSignaled() const = 0; [[nodiscard]] virtual bool IsSignaled() const = 0;
@ -37,7 +37,7 @@ public:
protected: protected:
explicit KSynchronizationObject(KernelCore& kernel); explicit KSynchronizationObject(KernelCore& kernel);
virtual ~KSynchronizationObject(); ~KSynchronizationObject() override;
virtual void OnFinalizeSynchronizationObject() {} virtual void OnFinalizeSynchronizationObject() {}

View File

@ -358,21 +358,21 @@ public:
return termination_requested || GetRawState() == ThreadState::Terminated; return termination_requested || GetRawState() == ThreadState::Terminated;
} }
[[nodiscard]] virtual u64 GetId() const override final { [[nodiscard]] u64 GetId() const override {
return this->GetThreadID(); return this->GetThreadID();
} }
[[nodiscard]] virtual bool IsInitialized() const override { [[nodiscard]] bool IsInitialized() const override {
return initialized; return initialized;
} }
[[nodiscard]] virtual uintptr_t GetPostDestroyArgument() const override { [[nodiscard]] uintptr_t GetPostDestroyArgument() const override {
return reinterpret_cast<uintptr_t>(parent) | (resource_limit_release_hint ? 1 : 0); return reinterpret_cast<uintptr_t>(parent) | (resource_limit_release_hint ? 1 : 0);
} }
virtual void Finalize() override; void Finalize() override;
[[nodiscard]] virtual bool IsSignaled() const override; [[nodiscard]] bool IsSignaled() const override;
static void PostDestroy(uintptr_t arg); static void PostDestroy(uintptr_t arg);

View File

@ -27,23 +27,23 @@ class KTransferMemory final
public: public:
explicit KTransferMemory(KernelCore& kernel_); explicit KTransferMemory(KernelCore& kernel_);
virtual ~KTransferMemory() override; ~KTransferMemory() override;
ResultCode Initialize(VAddr address_, std::size_t size_, Svc::MemoryPermission owner_perm_); ResultCode Initialize(VAddr address_, std::size_t size_, Svc::MemoryPermission owner_perm_);
virtual void Finalize() override; void Finalize() override;
virtual bool IsInitialized() const override { bool IsInitialized() const override {
return is_initialized; return is_initialized;
} }
virtual uintptr_t GetPostDestroyArgument() const override { uintptr_t GetPostDestroyArgument() const override {
return reinterpret_cast<uintptr_t>(owner); return reinterpret_cast<uintptr_t>(owner);
} }
static void PostDestroy(uintptr_t arg); static void PostDestroy(uintptr_t arg);
KProcess* GetOwner() const { KProcess* GetOwner() const override {
return owner; return owner;
} }

View File

@ -21,7 +21,7 @@ public:
explicit KWritableEvent(KernelCore& kernel_); explicit KWritableEvent(KernelCore& kernel_);
~KWritableEvent() override; ~KWritableEvent() override;
virtual void Destroy() override; void Destroy() override;
static void PostDestroy([[maybe_unused]] uintptr_t arg) {} static void PostDestroy([[maybe_unused]] uintptr_t arg) {}