llvm-project/lldb/source/Target
Pavel Labath 52d9c62a50 Extract common PlatformPOSIX/Windows code into a separate class
Summary:
The two classes contained a lot of duplicated code, but there wasn't a
good place to factor it to. It couldn't be the base Platform class,
since we also have platforms which are only remote (such as
PlatformGDBRemoteServer), and so it did not make sense for those to have
an m_remote_platform member.

This patch creates a new class, RemoteAwarePlatform, which can serve as
a base class for platforms which can both serve as a host, and forward
actions to a remote system. It is motivated partly by D56232 (which was
about to add a bunch of additional duplicated methods), and partly by my
own need to modify a function which happens to be implemented in both
places identically.

The patch moves the methods which are trivially identical in the two
classes into the common base class, there were one or two more methods
which could probably be merged into one, but this wasn't completely
trivial, so I did not attempt to do that now.

Reviewers: jingham, zturner, clayborg, asmith

Subscribers: emaste, mgorny, Hui, lldb-commits

Differential Revision: https://reviews.llvm.org/D58052

llvm-svn: 353812
2019-02-12 09:27:24 +00:00
..
ABI.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt Extract common PlatformPOSIX/Windows code into a separate class 2019-02-12 09:27:24 +00:00
CPPLanguageRuntime.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
ExecutionContext.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstrumentationRuntime.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstrumentationRuntimeStopInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
JITLoader.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
JITLoaderList.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Language.cpp Remove redundant ::get() for smart pointer. (NFC) 2019-02-12 03:47:39 +00:00
LanguageRuntime.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Memory.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
MemoryHistory.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ModuleCache.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ObjCLanguageRuntime.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OperatingSystem.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PathMappingList.cpp Little more cleanup on https://reviews.llvm.org/D57552 2019-02-06 01:27:45 +00:00
Platform.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
Process.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
Queue.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
QueueItem.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
QueueList.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterContext.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterNumber.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RemoteAwarePlatform.cpp Extract common PlatformPOSIX/Windows code into a separate class 2019-02-12 09:27:24 +00:00
SectionLoadHistory.cpp Remove redundant ::get() for smart pointer. (NFC) 2019-02-12 03:47:39 +00:00
SectionLoadList.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StackFrame.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
StackFrameList.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
StackFrameRecognizer.cpp [lldb] Make frame recognizers vend synthesized eValueTypeVariableArgument values 2019-02-07 01:49:10 +00:00
StackID.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StopInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StructuredDataPlugin.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SystemRuntime.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Target.cpp Remove redundant ::get() for smart pointer. (NFC) 2019-02-12 03:47:39 +00:00
TargetList.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Thread.cpp Remove redundant ::get() for smart pointer. (NFC) 2019-02-12 03:47:39 +00:00
ThreadCollection.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadList.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlan.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanBase.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanCallFunction.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
ThreadPlanCallFunctionUsingABI.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanCallOnFunctionExit.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanCallUserExpression.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanPython.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanRunToAddress.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanShouldStopHere.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepInRange.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepInstruction.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepOut.cpp Use std::make_shared in LLDB (NFC) 2019-02-11 23:13:08 +00:00
ThreadPlanStepOverBreakpoint.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepOverRange.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepRange.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepThrough.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanStepUntil.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadPlanTracer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadSpec.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
UnixSignals.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
UnwindAssembly.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00