From 4a587b81b285bcd41246329e89591be7cfe37c8a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 31 Aug 2018 12:21:34 -0400 Subject: core/core: Replace includes with forward declarations where applicable The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers. --- src/yuzu/debugger/wait_tree.cpp | 20 ++++++++++++++++++++ src/yuzu/debugger/wait_tree.h | 30 +++++++++++++++++++++++++++++- 2 files changed, 49 insertions(+), 1 deletion(-) (limited to 'src/yuzu/debugger') diff --git a/src/yuzu/debugger/wait_tree.cpp b/src/yuzu/debugger/wait_tree.cpp index eac0c05f2..6c2cd967e 100644 --- a/src/yuzu/debugger/wait_tree.cpp +++ b/src/yuzu/debugger/wait_tree.cpp @@ -9,11 +9,14 @@ #include "core/core.h" #include "core/hle/kernel/event.h" #include "core/hle/kernel/handle_table.h" +#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/mutex.h" +#include "core/hle/kernel/scheduler.h" #include "core/hle/kernel/thread.h" #include "core/hle/kernel/timer.h" #include "core/hle/kernel/wait_object.h" +WaitTreeItem::WaitTreeItem() = default; WaitTreeItem::~WaitTreeItem() = default; QColor WaitTreeItem::GetColor() const { @@ -71,6 +74,7 @@ std::vector> WaitTreeItem::MakeThreadItemList() } WaitTreeText::WaitTreeText(const QString& t) : text(t) {} +WaitTreeText::~WaitTreeText() = default; QString WaitTreeText::GetText() const { return text; @@ -84,6 +88,8 @@ WaitTreeMutexInfo::WaitTreeMutexInfo(VAddr mutex_address) : mutex_address(mutex_ owner = handle_table.Get(owner_handle); } +WaitTreeMutexInfo::~WaitTreeMutexInfo() = default; + QString WaitTreeMutexInfo::GetText() const { return tr("waiting for mutex 0x%1").arg(mutex_address, 16, 16, QLatin1Char('0')); } @@ -102,6 +108,7 @@ std::vector> WaitTreeMutexInfo::GetChildren() cons } WaitTreeCallstack::WaitTreeCallstack(const Kernel::Thread& thread) : thread(thread) {} +WaitTreeCallstack::~WaitTreeCallstack() = default; QString WaitTreeCallstack::GetText() const { return tr("Call stack"); @@ -126,6 +133,10 @@ std::vector> WaitTreeCallstack::GetChildren() cons } WaitTreeWaitObject::WaitTreeWaitObject(const Kernel::WaitObject& o) : object(o) {} +WaitTreeWaitObject::~WaitTreeWaitObject() = default; + +WaitTreeExpandableItem::WaitTreeExpandableItem() = default; +WaitTreeExpandableItem::~WaitTreeExpandableItem() = default; bool WaitTreeExpandableItem::IsExpandable() const { return true; @@ -180,6 +191,8 @@ WaitTreeObjectList::WaitTreeObjectList( const std::vector>& list, bool w_all) : object_list(list), wait_all(w_all) {} +WaitTreeObjectList::~WaitTreeObjectList() = default; + QString WaitTreeObjectList::GetText() const { if (wait_all) return tr("waiting for all objects"); @@ -194,6 +207,7 @@ std::vector> WaitTreeObjectList::GetChildren() con } WaitTreeThread::WaitTreeThread(const Kernel::Thread& thread) : WaitTreeWaitObject(thread) {} +WaitTreeThread::~WaitTreeThread() = default; QString WaitTreeThread::GetText() const { const auto& thread = static_cast(object); @@ -312,6 +326,7 @@ std::vector> WaitTreeThread::GetChildren() const { } WaitTreeEvent::WaitTreeEvent(const Kernel::Event& object) : WaitTreeWaitObject(object) {} +WaitTreeEvent::~WaitTreeEvent() = default; std::vector> WaitTreeEvent::GetChildren() const { std::vector> list(WaitTreeWaitObject::GetChildren()); @@ -323,6 +338,7 @@ std::vector> WaitTreeEvent::GetChildren() const { } WaitTreeTimer::WaitTreeTimer(const Kernel::Timer& object) : WaitTreeWaitObject(object) {} +WaitTreeTimer::~WaitTreeTimer() = default; std::vector> WaitTreeTimer::GetChildren() const { std::vector> list(WaitTreeWaitObject::GetChildren()); @@ -340,6 +356,7 @@ std::vector> WaitTreeTimer::GetChildren() const { WaitTreeThreadList::WaitTreeThreadList(const std::vector>& list) : thread_list(list) {} +WaitTreeThreadList::~WaitTreeThreadList() = default; QString WaitTreeThreadList::GetText() const { return tr("waited by thread"); @@ -353,6 +370,7 @@ std::vector> WaitTreeThreadList::GetChildren() con } WaitTreeModel::WaitTreeModel(QObject* parent) : QAbstractItemModel(parent) {} +WaitTreeModel::~WaitTreeModel() = default; QModelIndex WaitTreeModel::index(int row, int column, const QModelIndex& parent) const { if (!hasIndex(row, column, parent)) @@ -421,6 +439,8 @@ WaitTreeWidget::WaitTreeWidget(QWidget* parent) : QDockWidget(tr("Wait Tree"), p setEnabled(false); } +WaitTreeWidget::~WaitTreeWidget() = default; + void WaitTreeWidget::OnDebugModeEntered() { if (!Core::System::GetInstance().IsPoweredOn()) return; diff --git a/src/yuzu/debugger/wait_tree.h b/src/yuzu/debugger/wait_tree.h index 513b3c45d..defbf734f 100644 --- a/src/yuzu/debugger/wait_tree.h +++ b/src/yuzu/debugger/wait_tree.h @@ -4,11 +4,15 @@ #pragma once +#include +#include +#include + #include #include #include #include -#include "core/core.h" +#include "common/common_types.h" #include "core/hle/kernel/object.h" class EmuThread; @@ -25,6 +29,7 @@ class WaitTreeThread; class WaitTreeItem : public QObject { Q_OBJECT public: + WaitTreeItem(); ~WaitTreeItem() override; virtual bool IsExpandable() const; @@ -49,6 +54,8 @@ class WaitTreeText : public WaitTreeItem { Q_OBJECT public: explicit WaitTreeText(const QString& text); + ~WaitTreeText() override; + QString GetText() const override; private: @@ -58,6 +65,9 @@ private: class WaitTreeExpandableItem : public WaitTreeItem { Q_OBJECT public: + WaitTreeExpandableItem(); + ~WaitTreeExpandableItem() override; + bool IsExpandable() const override; }; @@ -65,6 +75,8 @@ class WaitTreeMutexInfo : public WaitTreeExpandableItem { Q_OBJECT public: explicit WaitTreeMutexInfo(VAddr mutex_address); + ~WaitTreeMutexInfo() override; + QString GetText() const override; std::vector> GetChildren() const override; @@ -79,6 +91,8 @@ class WaitTreeCallstack : public WaitTreeExpandableItem { Q_OBJECT public: explicit WaitTreeCallstack(const Kernel::Thread& thread); + ~WaitTreeCallstack() override; + QString GetText() const override; std::vector> GetChildren() const override; @@ -90,6 +104,8 @@ class WaitTreeWaitObject : public WaitTreeExpandableItem { Q_OBJECT public: explicit WaitTreeWaitObject(const Kernel::WaitObject& object); + ~WaitTreeWaitObject() override; + static std::unique_ptr make(const Kernel::WaitObject& object); QString GetText() const override; std::vector> GetChildren() const override; @@ -105,6 +121,8 @@ class WaitTreeObjectList : public WaitTreeExpandableItem { public: WaitTreeObjectList(const std::vector>& list, bool wait_all); + ~WaitTreeObjectList() override; + QString GetText() const override; std::vector> GetChildren() const override; @@ -117,6 +135,8 @@ class WaitTreeThread : public WaitTreeWaitObject { Q_OBJECT public: explicit WaitTreeThread(const Kernel::Thread& thread); + ~WaitTreeThread() override; + QString GetText() const override; QColor GetColor() const override; std::vector> GetChildren() const override; @@ -126,6 +146,8 @@ class WaitTreeEvent : public WaitTreeWaitObject { Q_OBJECT public: explicit WaitTreeEvent(const Kernel::Event& object); + ~WaitTreeEvent() override; + std::vector> GetChildren() const override; }; @@ -133,6 +155,8 @@ class WaitTreeTimer : public WaitTreeWaitObject { Q_OBJECT public: explicit WaitTreeTimer(const Kernel::Timer& object); + ~WaitTreeTimer() override; + std::vector> GetChildren() const override; }; @@ -140,6 +164,8 @@ class WaitTreeThreadList : public WaitTreeExpandableItem { Q_OBJECT public: explicit WaitTreeThreadList(const std::vector>& list); + ~WaitTreeThreadList() override; + QString GetText() const override; std::vector> GetChildren() const override; @@ -152,6 +178,7 @@ class WaitTreeModel : public QAbstractItemModel { public: explicit WaitTreeModel(QObject* parent = nullptr); + ~WaitTreeModel() override; QVariant data(const QModelIndex& index, int role) const override; QModelIndex index(int row, int column, const QModelIndex& parent) const override; @@ -171,6 +198,7 @@ class WaitTreeWidget : public QDockWidget { public: explicit WaitTreeWidget(QWidget* parent = nullptr); + ~WaitTreeWidget() override; public slots: void OnDebugModeEntered(); -- cgit v1.2.3