From 7eec0f63ac54364cf9871315c5cc1415e9dc87d1 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 12 Sep 2017 10:53:56 +0200 Subject: [PATCH] Debugger: Merge DebuggerStartParameter into *RunParameters The users (typically target specific DebuggerRunTool derived classes) are meant to use the individual setter functions nowadays, not the set up the full structure, so the members are a true implementation detail now. Change-Id: Ida04801e3230a2fe8bbadde8845e58c3077c87a5 Reviewed-by: Christian Stenger --- src/plugins/android/androiddebugsupport.cpp | 1 - src/plugins/autotest/testrunner.cpp | 1 - src/plugins/debugger/debugger.pro | 1 - src/plugins/debugger/debugger.qbs | 1 - src/plugins/debugger/debuggerdialogs.cpp | 3 +- src/plugins/debugger/debuggerengine.cpp | 1 - src/plugins/debugger/debuggerengine.h | 54 ++++++++- src/plugins/debugger/debuggerplugin.cpp | 2 +- src/plugins/debugger/debuggerruncontrol.cpp | 3 +- src/plugins/debugger/debuggerruncontrol.h | 3 + .../debugger/debuggerstartparameters.h | 105 +----------------- src/plugins/debugger/disassembleragent.cpp | 1 - src/plugins/debugger/gdb/gdbengine.cpp | 1 - src/plugins/debugger/lldb/lldbengine.cpp | 1 - src/plugins/debugger/loadcoredialog.cpp | 2 +- src/plugins/debugger/memoryagent.cpp | 1 - src/plugins/debugger/pdb/pdbengine.cpp | 1 - src/plugins/debugger/qml/qmlcppengine.cpp | 1 - src/plugins/debugger/qml/qmlengine.cpp | 1 + src/plugins/valgrind/memcheckengine.cpp | 3 +- 20 files changed, 63 insertions(+), 124 deletions(-) diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index ed232355b55..e7ada2d28b1 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index a879d35c548..ed0964230b4 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -51,7 +51,6 @@ #include #include -#include namespace Autotest { namespace Internal { diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro index c8c67b01fe1..f5a34aa0d5f 100644 --- a/src/plugins/debugger/debugger.pro +++ b/src/plugins/debugger/debugger.pro @@ -29,7 +29,6 @@ HEADERS += \ debuggerprotocol.h \ debuggerrunconfigurationaspect.h \ debuggerruncontrol.h \ - debuggerstartparameters.h \ debuggerkitconfigwidget.h \ debuggerkitinformation.h \ disassembleragent.h \ diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs index 6bc9384e26f..08faeb3d1e6 100644 --- a/src/plugins/debugger/debugger.qbs +++ b/src/plugins/debugger/debugger.qbs @@ -59,7 +59,6 @@ Project { "debuggerrunconfigurationaspect.cpp", "debuggerrunconfigurationaspect.h", "debuggerruncontrol.cpp", "debuggerruncontrol.h", "debuggersourcepathmappingwidget.cpp", "debuggersourcepathmappingwidget.h", - "debuggerstartparameters.h", "debuggertooltipmanager.cpp", "debuggertooltipmanager.h", "disassembleragent.cpp", "disassembleragent.h", "disassemblerlines.cpp", "disassemblerlines.h", diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index d30b16b3299..deef5c68ef7 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -26,7 +26,6 @@ #include "debuggerdialogs.h" #include "debuggerkitinformation.h" -#include "debuggerstartparameters.h" #include "debuggerruncontrol.h" #include "cdb/cdbengine.h" @@ -40,6 +39,8 @@ #include #include +#include + #include #include #include diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index dd3d98fc980..9f8bb6a861a 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -30,7 +30,6 @@ #include "debuggercore.h" #include "debuggericons.h" #include "debuggerruncontrol.h" -#include "debuggerstartparameters.h" #include "debuggertooltipmanager.h" #include "breakhandler.h" diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index d27e297ad1c..2e93c1f4cc4 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -29,7 +29,6 @@ #include "debuggerconstants.h" #include "debuggeritem.h" #include "debuggerprotocol.h" -#include "debuggerstartparameters.h" #include #include @@ -77,11 +76,58 @@ class MemoryViewSetupData; class Terminal; class ThreadId; -class DebuggerRunParameters : public DebuggerStartParameters +class DebuggerRunParameters { public: - DebuggerRunParameters() {} - DebuggerRunParameters(const DebuggerStartParameters &sp) : DebuggerStartParameters(sp) {} + DebuggerStartMode startMode = NoStartMode; + DebuggerCloseMode closeMode = KillAtClose; + + ProjectExplorer::StandardRunnable inferior; + QString displayName; // Used in the Snapshots view. + Utils::Environment stubEnvironment; + Utils::ProcessHandle attachPID; + QStringList solibSearchPath; + bool useTerminal = false; + bool needFixup = true; // FIXME: Make false the default... + + // Used by Qml debugging. + QUrl qmlServer; + + // Used by general remote debugging. + QString remoteChannel; + bool useExtendedRemote = false; // Whether to use GDB's target extended-remote or not. + QString symbolFile; + + // Used by Mer plugin (3rd party) + QMap sourcePathMap; + + // Used by baremetal plugin + QString commandsForReset; // commands used for resetting the inferior + bool useContinueInsteadOfRun = false; // if connected to a hw debugger run is not possible but continue is used + QString commandsAfterConnect; // additional commands to post after connection to debug target + + // Used by Valgrind + QStringList expectedSignals; + + // For QNX debugging + bool useCtrlCStub = false; + + // Used by Android to avoid false positives on warnOnRelease + bool skipExecutableValidation = false; + bool useTargetAsync = false; + QStringList additionalSearchDirectories; + + // Used by iOS. + QString platform; + QString deviceSymbolsRoot; + bool continueAfterAttach = false; + QString sysRoot; + + // Used by general core file debugging. Public access requested in QTCREATORBUG-17158. + QString coreFile; + + // Macro-expanded and passed to debugger startup. + QString additionalStartupCommands; DebuggerEngineType masterEngineType = NoEngineType; DebuggerEngineType cppEngineType = NoEngineType; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 17cb0b18c7c..695e86c5f45 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -26,7 +26,6 @@ #include "debuggerplugin.h" #include "debuggermainwindow.h" -#include "debuggerstartparameters.h" #include "debuggeractions.h" #include "debuggerinternalconstants.h" #include "debuggercore.h" @@ -105,6 +104,7 @@ #include #include #include +#include #include #include diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index a5d73152489..18cfbda37f4 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -33,7 +33,6 @@ #include "debuggerkitinformation.h" #include "debuggerplugin.h" #include "debuggerrunconfigurationaspect.h" -#include "debuggerstartparameters.h" #include "breakhandler.h" #include "shared/peutils.h" @@ -63,6 +62,8 @@ #include +#include + #include using namespace Debugger::Internal; diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index 1d207864c1d..58008d6f661 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -32,6 +32,9 @@ #include #include +#include // FIXME: Remove after downstream was adapted +#include // FIXME: Remove after downstream was adapted + namespace Debugger { class DEBUGGER_EXPORT DebuggerRunTool : public ProjectExplorer::RunWorker diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h index 5ac3dfa37b2..da1bca17234 100644 --- a/src/plugins/debugger/debuggerstartparameters.h +++ b/src/plugins/debugger/debuggerstartparameters.h @@ -1,105 +1,2 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ -#pragma once - -#include "debugger_global.h" -#include "debuggerconstants.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace Debugger { - -// Note: This is part of the "soft interface" of the debugger plugin. -// Do not add anything that needs implementation in a .cpp file. - -class DEBUGGER_EXPORT DebuggerStartParameters -{ -public: - DebuggerStartMode startMode = NoStartMode; - DebuggerCloseMode closeMode = KillAtClose; - - ProjectExplorer::StandardRunnable inferior; - QString displayName; // Used in the Snapshots view. - Utils::Environment stubEnvironment; - Utils::ProcessHandle attachPID; - QStringList solibSearchPath; - bool useTerminal = false; - bool needFixup = true; // FIXME: Make false the default... - - // Used by Qml debugging. - QUrl qmlServer; - - // Used by general remote debugging. - QString remoteChannel; - bool useExtendedRemote = false; // Whether to use GDB's target extended-remote or not. - QString symbolFile; - - // Used by Mer plugin (3rd party) - QMap sourcePathMap; - - // Used by baremetal plugin - QString commandsForReset; // commands used for resetting the inferior - bool useContinueInsteadOfRun = false; // if connected to a hw debugger run is not possible but continue is used - QString commandsAfterConnect; // additional commands to post after connection to debug target - - // Used by Valgrind - QStringList expectedSignals; - - // For QNX debugging - bool useCtrlCStub = false; - - // Used by Android to avoid false positives on warnOnRelease - bool skipExecutableValidation = false; - bool useTargetAsync = false; - QStringList additionalSearchDirectories; - - // Used by iOS. - QString platform; - QString deviceSymbolsRoot; - bool continueAfterAttach = false; - QString sysRoot; - - // Used by general core file debugging. Public access requested in QTCREATORBUG-17158. - QString coreFile; - - // Macro-expanded and passed to debugger startup. - QString additionalStartupCommands; -}; - -} // namespace Debugger - -Q_DECLARE_METATYPE(Debugger::DebuggerStartParameters) +// Remove after downstream was adapted diff --git a/src/plugins/debugger/disassembleragent.cpp b/src/plugins/debugger/disassembleragent.cpp index 7e2b01b7bdd..6ed4255247b 100644 --- a/src/plugins/debugger/disassembleragent.cpp +++ b/src/plugins/debugger/disassembleragent.cpp @@ -30,7 +30,6 @@ #include "debuggercore.h" #include "debuggerengine.h" #include "debuggerinternalconstants.h" -#include "debuggerstartparameters.h" #include "disassemblerlines.h" #include "sourceutils.h" diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 30f01469219..ff1f4c87d85 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -25,7 +25,6 @@ #include "gdbengine.h" -#include #include #include #include diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 404ce3e2fa5..c1c1225bdd4 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -31,7 +31,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp index cb0fb49cee5..8b0b1bf271a 100644 --- a/src/plugins/debugger/loadcoredialog.cpp +++ b/src/plugins/debugger/loadcoredialog.cpp @@ -25,7 +25,6 @@ #include "loadcoredialog.h" -#include "debuggerstartparameters.h" #include "debuggerdialogs.h" #include "debuggerkitinformation.h" #include "gdb/gdbengine.h" @@ -33,6 +32,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/debugger/memoryagent.cpp b/src/plugins/debugger/memoryagent.cpp index 0142d53d4df..8e79ff994e6 100644 --- a/src/plugins/debugger/memoryagent.cpp +++ b/src/plugins/debugger/memoryagent.cpp @@ -27,7 +27,6 @@ #include "breakhandler.h" #include "debuggerengine.h" -#include "debuggerstartparameters.h" #include "debuggercore.h" #include "debuggerinternalconstants.h" #include "registerhandler.h" diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp index 6334f18a3a4..5e74ac920e4 100644 --- a/src/plugins/debugger/pdb/pdbengine.cpp +++ b/src/plugins/debugger/pdb/pdbengine.cpp @@ -30,7 +30,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 31742a890e2..63ff26c1565 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index efdd40b30f0..11ffcfd8e4e 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/valgrind/memcheckengine.cpp b/src/plugins/valgrind/memcheckengine.cpp index cb1a98e6bba..8e6202e4d88 100644 --- a/src/plugins/valgrind/memcheckengine.cpp +++ b/src/plugins/valgrind/memcheckengine.cpp @@ -31,7 +31,6 @@ #include "xmlprotocol/status.h" #include -#include #include #include @@ -43,6 +42,8 @@ #include +#include + using namespace Debugger; using namespace ProjectExplorer; using namespace Valgrind::XmlProtocol;