aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
commit14f1b3e8826ce43b978db93a62d1166055db5394 (patch)
tree0a00ad8d3498783fe0193f3b656bca17c4c8697d /include
parent4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff)
downloadsrc-14f1b3e8826ce43b978db93a62d1166055db5394.tar.gz
src-14f1b3e8826ce43b978db93a62d1166055db5394.zip
Vendor import of lldb trunk r290819:vendor/lldb/lldb-trunk-r290819
Notes
Notes: svn path=/vendor/lldb/dist/; revision=311128 svn path=/vendor/lldb/lldb-trunk-r290819/; revision=311129; tag=vendor/lldb/lldb-trunk-r290819
Diffstat (limited to 'include')
-rw-r--r--include/lldb/API/LLDB.h5
-rw-r--r--include/lldb/API/SBAddress.h162
-rw-r--r--include/lldb/API/SBAttachInfo.h358
-rw-r--r--include/lldb/API/SBBlock.h153
-rw-r--r--include/lldb/API/SBBreakpoint.h313
-rw-r--r--include/lldb/API/SBBreakpointLocation.h149
-rw-r--r--include/lldb/API/SBBroadcaster.h94
-rw-r--r--include/lldb/API/SBCommandInterpreter.h482
-rw-r--r--include/lldb/API/SBCommandReturnObject.h182
-rw-r--r--include/lldb/API/SBCommunication.h96
-rw-r--r--include/lldb/API/SBCompileUnit.h163
-rw-r--r--include/lldb/API/SBData.h283
-rw-r--r--include/lldb/API/SBDebugger.h492
-rw-r--r--include/lldb/API/SBDeclaration.h123
-rw-r--r--include/lldb/API/SBDefines.h4
-rw-r--r--include/lldb/API/SBError.h98
-rw-r--r--include/lldb/API/SBEvent.h91
-rw-r--r--include/lldb/API/SBExecutionContext.h92
-rw-r--r--include/lldb/API/SBExpressionOptions.h201
-rw-r--r--include/lldb/API/SBFileSpec.h118
-rw-r--r--include/lldb/API/SBFileSpecList.h74
-rw-r--r--include/lldb/API/SBFrame.h383
-rw-r--r--include/lldb/API/SBFunction.h88
-rw-r--r--include/lldb/API/SBHostOS.h44
-rw-r--r--include/lldb/API/SBInstruction.h89
-rw-r--r--include/lldb/API/SBInstructionList.h57
-rw-r--r--include/lldb/API/SBLanguageRuntime.h11
-rw-r--r--include/lldb/API/SBLaunchInfo.h282
-rw-r--r--include/lldb/API/SBLineEntry.h82
-rw-r--r--include/lldb/API/SBListener.h141
-rw-r--r--include/lldb/API/SBMemoryRegionInfo.h173
-rw-r--r--include/lldb/API/SBMemoryRegionInfoList.h39
-rw-r--r--include/lldb/API/SBModule.h611
-rw-r--r--include/lldb/API/SBModuleSpec.h219
-rw-r--r--include/lldb/API/SBPlatform.h330
-rw-r--r--include/lldb/API/SBProcess.h774
-rw-r--r--include/lldb/API/SBQueue.h71
-rw-r--r--include/lldb/API/SBQueueItem.h41
-rw-r--r--include/lldb/API/SBSection.h132
-rw-r--r--include/lldb/API/SBSourceManager.h41
-rw-r--r--include/lldb/API/SBStream.h145
-rw-r--r--include/lldb/API/SBStringList.h56
-rw-r--r--include/lldb/API/SBStructuredData.h45
-rw-r--r--include/lldb/API/SBSymbol.h105
-rw-r--r--include/lldb/API/SBSymbolContext.h84
-rw-r--r--include/lldb/API/SBSymbolContextList.h54
-rw-r--r--include/lldb/API/SBTarget.h1607
-rw-r--r--include/lldb/API/SBThread.h417
-rw-r--r--include/lldb/API/SBThreadCollection.h81
-rw-r--r--include/lldb/API/SBThreadPlan.h138
-rw-r--r--include/lldb/API/SBType.h517
-rw-r--r--include/lldb/API/SBTypeCategory.h234
-rw-r--r--include/lldb/API/SBTypeEnumMember.h76
-rw-r--r--include/lldb/API/SBTypeFilter.h131
-rw-r--r--include/lldb/API/SBTypeFormat.h133
-rw-r--r--include/lldb/API/SBTypeNameSpecifier.h107
-rw-r--r--include/lldb/API/SBTypeSummary.h274
-rw-r--r--include/lldb/API/SBTypeSynthetic.h143
-rw-r--r--include/lldb/API/SBUnixSignals.h67
-rw-r--r--include/lldb/API/SBValue.h898
-rw-r--r--include/lldb/API/SBValueList.h96
-rw-r--r--include/lldb/API/SBVariablesOptions.h127
-rw-r--r--include/lldb/API/SBWatchpoint.h90
-rw-r--r--include/lldb/API/SystemInitializerFull.h20
-rw-r--r--include/lldb/Breakpoint/Breakpoint.h1392
-rw-r--r--include/lldb/Breakpoint/BreakpointID.h179
-rw-r--r--include/lldb/Breakpoint/BreakpointIDList.h65
-rw-r--r--include/lldb/Breakpoint/BreakpointList.h360
-rw-r--r--include/lldb/Breakpoint/BreakpointLocation.h812
-rw-r--r--include/lldb/Breakpoint/BreakpointLocationCollection.h360
-rw-r--r--include/lldb/Breakpoint/BreakpointLocationList.h472
-rw-r--r--include/lldb/Breakpoint/BreakpointOptions.h674
-rw-r--r--include/lldb/Breakpoint/BreakpointResolver.h356
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverAddress.h81
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverFileLine.h77
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverFileRegex.h80
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverName.h140
-rw-r--r--include/lldb/Breakpoint/BreakpointSite.h512
-rw-r--r--include/lldb/Breakpoint/BreakpointSiteList.h350
-rw-r--r--include/lldb/Breakpoint/Stoppoint.h49
-rw-r--r--include/lldb/Breakpoint/StoppointCallbackContext.h63
-rw-r--r--include/lldb/Breakpoint/StoppointLocation.h191
-rw-r--r--include/lldb/Breakpoint/Watchpoint.h426
-rw-r--r--include/lldb/Breakpoint/WatchpointList.h442
-rw-r--r--include/lldb/Breakpoint/WatchpointOptions.h422
-rw-r--r--include/lldb/Core/Address.h984
-rw-r--r--include/lldb/Core/AddressRange.h465
-rw-r--r--include/lldb/Core/AddressResolver.h54
-rw-r--r--include/lldb/Core/AddressResolverFileLine.h41
-rw-r--r--include/lldb/Core/AddressResolverName.h52
-rw-r--r--include/lldb/Core/ArchSpec.h1264
-rw-r--r--include/lldb/Core/Baton.h67
-rw-r--r--include/lldb/Core/Broadcaster.h1059
-rw-r--r--include/lldb/Core/ClangForward.h233
-rw-r--r--include/lldb/Core/Communication.h644
-rw-r--r--include/lldb/Core/Connection.h342
-rw-r--r--include/lldb/Core/ConnectionMachPort.h97
-rw-r--r--include/lldb/Core/ConnectionSharedMemory.h74
-rw-r--r--include/lldb/Core/ConstString.h911
-rw-r--r--include/lldb/Core/CxaDemangle.h21
-rw-r--r--include/lldb/Core/DataBuffer.h89
-rw-r--r--include/lldb/Core/DataBufferHeap.h199
-rw-r--r--include/lldb/Core/DataBufferMemoryMap.h237
-rw-r--r--include/lldb/Core/DataEncoder.h783
-rw-r--r--include/lldb/Core/DataExtractor.h2498
-rw-r--r--include/lldb/Core/Debugger.h784
-rw-r--r--include/lldb/Core/Disassembler.h880
-rw-r--r--include/lldb/Core/EmulateInstruction.h981
-rw-r--r--include/lldb/Core/Error.h518
-rw-r--r--include/lldb/Core/Event.h373
-rw-r--r--include/lldb/Core/FastDemangle.h14
-rw-r--r--include/lldb/Core/FileLineResolver.h81
-rw-r--r--include/lldb/Core/FileSpecList.h395
-rw-r--r--include/lldb/Core/Flags.h389
-rw-r--r--include/lldb/Core/FormatEntity.h426
-rw-r--r--include/lldb/Core/History.h180
-rw-r--r--include/lldb/Core/IOHandler.h1341
-rw-r--r--include/lldb/Core/IOStreamMacros.h42
-rw-r--r--include/lldb/Core/Listener.h274
-rw-r--r--include/lldb/Core/LoadedModuleInfoList.h203
-rw-r--r--include/lldb/Core/Log.h208
-rw-r--r--include/lldb/Core/Logging.h109
-rw-r--r--include/lldb/Core/Mangled.h574
-rw-r--r--include/lldb/Core/MappedHash.h933
-rw-r--r--include/lldb/Core/Module.h2281
-rw-r--r--include/lldb/Core/ModuleChild.h109
-rw-r--r--include/lldb/Core/ModuleList.h1082
-rw-r--r--include/lldb/Core/ModuleSpec.h924
-rw-r--r--include/lldb/Core/Opcode.h499
-rw-r--r--include/lldb/Core/PluginInterface.h15
-rw-r--r--include/lldb/Core/PluginManager.h1002
-rw-r--r--include/lldb/Core/RangeMap.h2467
-rw-r--r--include/lldb/Core/RegisterValue.h616
-rw-r--r--include/lldb/Core/RegularExpression.h347
-rw-r--r--include/lldb/Core/STLUtils.h67
-rw-r--r--include/lldb/Core/Scalar.h654
-rw-r--r--include/lldb/Core/SearchFilter.h718
-rw-r--r--include/lldb/Core/Section.h544
-rw-r--r--include/lldb/Core/SourceManager.h290
-rw-r--r--include/lldb/Core/State.h22
-rw-r--r--include/lldb/Core/Stream.h1114
-rw-r--r--include/lldb/Core/StreamAsynchronousIO.h31
-rw-r--r--include/lldb/Core/StreamBuffer.h81
-rw-r--r--include/lldb/Core/StreamCallback.h34
-rw-r--r--include/lldb/Core/StreamFile.h56
-rw-r--r--include/lldb/Core/StreamGDBRemote.h56
-rw-r--r--include/lldb/Core/StreamString.h43
-rw-r--r--include/lldb/Core/StreamTee.h237
-rw-r--r--include/lldb/Core/StringList.h255
-rw-r--r--include/lldb/Core/StructuredData.h1223
-rw-r--r--include/lldb/Core/ThreadSafeDenseMap.h97
-rw-r--r--include/lldb/Core/ThreadSafeDenseSet.h88
-rw-r--r--include/lldb/Core/ThreadSafeSTLMap.h239
-rw-r--r--include/lldb/Core/ThreadSafeSTLVector.h136
-rw-r--r--include/lldb/Core/ThreadSafeValue.h83
-rw-r--r--include/lldb/Core/Timer.h128
-rw-r--r--include/lldb/Core/UUID.h148
-rw-r--r--include/lldb/Core/UniqueCStringMap.h522
-rw-r--r--include/lldb/Core/UserID.h154
-rw-r--r--include/lldb/Core/UserSettingsController.h134
-rw-r--r--include/lldb/Core/VMRange.h213
-rw-r--r--include/lldb/Core/Value.h432
-rw-r--r--include/lldb/Core/ValueObject.h2165
-rw-r--r--include/lldb/Core/ValueObjectCast.h79
-rw-r--r--include/lldb/Core/ValueObjectChild.h155
-rw-r--r--include/lldb/Core/ValueObjectConstResult.h268
-rw-r--r--include/lldb/Core/ValueObjectConstResultCast.h60
-rw-r--r--include/lldb/Core/ValueObjectConstResultChild.h93
-rw-r--r--include/lldb/Core/ValueObjectConstResultImpl.h97
-rw-r--r--include/lldb/Core/ValueObjectDynamicValue.h235
-rw-r--r--include/lldb/Core/ValueObjectList.h107
-rw-r--r--include/lldb/Core/ValueObjectMemory.h84
-rw-r--r--include/lldb/Core/ValueObjectRegister.h237
-rw-r--r--include/lldb/Core/ValueObjectSyntheticFilter.h301
-rw-r--r--include/lldb/Core/ValueObjectVariable.h115
-rw-r--r--include/lldb/Core/dwarf.h68
-rw-r--r--include/lldb/DataFormatters/CXXFunctionPointer.h9
-rw-r--r--include/lldb/DataFormatters/DataVisualization.h243
-rw-r--r--include/lldb/DataFormatters/DumpValueObjectOptions.h289
-rw-r--r--include/lldb/DataFormatters/FormatCache.h197
-rw-r--r--include/lldb/DataFormatters/FormatClasses.h303
-rw-r--r--include/lldb/DataFormatters/FormatManager.h496
-rw-r--r--include/lldb/DataFormatters/FormattersContainer.h671
-rw-r--r--include/lldb/DataFormatters/FormattersHelpers.h385
-rw-r--r--include/lldb/DataFormatters/LanguageCategory.h121
-rw-r--r--include/lldb/DataFormatters/StringPrinter.h821
-rw-r--r--include/lldb/DataFormatters/TypeCategory.h914
-rw-r--r--include/lldb/DataFormatters/TypeCategoryMap.h224
-rw-r--r--include/lldb/DataFormatters/TypeFormat.h505
-rw-r--r--include/lldb/DataFormatters/TypeSummary.h927
-rw-r--r--include/lldb/DataFormatters/TypeSynthetic.h1028
-rw-r--r--include/lldb/DataFormatters/TypeValidator.h418
-rw-r--r--include/lldb/DataFormatters/ValueObjectPrinter.h303
-rw-r--r--include/lldb/DataFormatters/VectorIterator.h56
-rw-r--r--include/lldb/DataFormatters/VectorType.h15
-rw-r--r--include/lldb/Expression/DWARFExpression.h850
-rw-r--r--include/lldb/Expression/DiagnosticManager.h288
-rw-r--r--include/lldb/Expression/Expression.h170
-rw-r--r--include/lldb/Expression/ExpressionParser.h211
-rw-r--r--include/lldb/Expression/ExpressionSourceCode.h99
-rw-r--r--include/lldb/Expression/ExpressionTypeSystemHelper.h48
-rw-r--r--include/lldb/Expression/ExpressionVariable.h487
-rw-r--r--include/lldb/Expression/FunctionCaller.h656
-rw-r--r--include/lldb/Expression/IRDynamicChecks.h232
-rw-r--r--include/lldb/Expression/IRExecutionUnit.h757
-rw-r--r--include/lldb/Expression/IRInterpreter.h45
-rw-r--r--include/lldb/Expression/IRMemoryMap.h196
-rw-r--r--include/lldb/Expression/LLVMUserExpression.h188
-rw-r--r--include/lldb/Expression/Materializer.h262
-rw-r--r--include/lldb/Expression/REPL.h325
-rw-r--r--include/lldb/Expression/UserExpression.h571
-rw-r--r--include/lldb/Expression/UtilityFunction.h235
-rw-r--r--include/lldb/Host/Condition.h123
-rw-r--r--include/lldb/Host/Config.h7
-rw-r--r--include/lldb/Host/Debug.h320
-rw-r--r--include/lldb/Host/Editline.h640
-rw-r--r--include/lldb/Host/Endian.h19
-rw-r--r--include/lldb/Host/File.h969
-rw-r--r--include/lldb/Host/FileCache.h33
-rw-r--r--include/lldb/Host/FileSpec.h1547
-rw-r--r--include/lldb/Host/FileSystem.h107
-rw-r--r--include/lldb/Host/Host.h474
-rw-r--r--include/lldb/Host/HostGetOpt.h2
-rw-r--r--include/lldb/Host/HostInfo.h5
-rw-r--r--include/lldb/Host/HostInfoBase.h207
-rw-r--r--include/lldb/Host/HostNativeProcess.h6
-rw-r--r--include/lldb/Host/HostNativeProcessBase.h44
-rw-r--r--include/lldb/Host/HostNativeThreadBase.h41
-rw-r--r--include/lldb/Host/HostNativeThreadForward.h3
-rw-r--r--include/lldb/Host/HostProcess.h33
-rw-r--r--include/lldb/Host/HostThread.h42
-rw-r--r--include/lldb/Host/IOObject.h49
-rw-r--r--include/lldb/Host/LockFile.h6
-rw-r--r--include/lldb/Host/LockFileBase.h60
-rw-r--r--include/lldb/Host/MainLoop.h6
-rw-r--r--include/lldb/Host/MainLoopBase.h93
-rw-r--r--include/lldb/Host/MonitoringProcessLauncher.h19
-rw-r--r--include/lldb/Host/Mutex.h313
-rw-r--r--include/lldb/Host/OptionParser.h56
-rw-r--r--include/lldb/Host/Pipe.h6
-rw-r--r--include/lldb/Host/PipeBase.h62
-rw-r--r--include/lldb/Host/PosixApi.h23
-rw-r--r--include/lldb/Host/Predicate.h857
-rw-r--r--include/lldb/Host/ProcessLauncher.h13
-rw-r--r--include/lldb/Host/ProcessRunLock.h107
-rw-r--r--include/lldb/Host/Socket.h149
-rw-r--r--include/lldb/Host/SocketAddress.h407
-rw-r--r--include/lldb/Host/StringConvert.h22
-rw-r--r--include/lldb/Host/Symbols.h76
-rw-r--r--include/lldb/Host/Terminal.h369
-rw-r--r--include/lldb/Host/ThisThread.h25
-rw-r--r--include/lldb/Host/ThreadLauncher.h49
-rw-r--r--include/lldb/Host/Time.h4
-rw-r--r--include/lldb/Host/TimeValue.h129
-rw-r--r--include/lldb/Host/XML.h350
-rw-r--r--include/lldb/Host/android/Android.h28
-rw-r--r--include/lldb/Host/android/HostInfoAndroid.h22
-rw-r--r--include/lldb/Host/common/GetOptInc.h53
-rw-r--r--include/lldb/Host/common/NativeBreakpoint.h62
-rw-r--r--include/lldb/Host/common/NativeBreakpointList.h45
-rw-r--r--include/lldb/Host/common/NativeProcessProtocol.h730
-rw-r--r--include/lldb/Host/common/NativeRegisterContext.h261
-rw-r--r--include/lldb/Host/common/NativeRegisterContextRegisterInfo.h53
-rw-r--r--include/lldb/Host/common/NativeThreadProtocol.h79
-rw-r--r--include/lldb/Host/common/NativeWatchpointList.h51
-rw-r--r--include/lldb/Host/common/SoftwareBreakpoint.h56
-rw-r--r--include/lldb/Host/common/TCPSocket.h57
-rw-r--r--include/lldb/Host/common/UDPSocket.h37
-rw-r--r--include/lldb/Host/freebsd/Config.h2
-rw-r--r--include/lldb/Host/freebsd/HostInfoFreeBSD.h18
-rw-r--r--include/lldb/Host/freebsd/HostThreadFreeBSD.h16
-rw-r--r--include/lldb/Host/linux/AbstractSocket.h18
-rw-r--r--include/lldb/Host/linux/Config.h2
-rw-r--r--include/lldb/Host/linux/HostInfoLinux.h53
-rw-r--r--include/lldb/Host/linux/HostThreadLinux.h18
-rw-r--r--include/lldb/Host/linux/Personality.h25
-rw-r--r--include/lldb/Host/linux/ProcessLauncherLinux.h (renamed from include/lldb/Host/android/ProcessLauncherAndroid.h)11
-rw-r--r--include/lldb/Host/linux/Ptrace.h26
-rw-r--r--include/lldb/Host/linux/Uio.h10
-rw-r--r--include/lldb/Host/macosx/Config.h2
-rw-r--r--include/lldb/Host/macosx/HostInfoMacOSX.h51
-rw-r--r--include/lldb/Host/macosx/HostThreadMacOSX.h18
-rw-r--r--include/lldb/Host/mingw/Config.h2
-rw-r--r--include/lldb/Host/msvc/Config.h8
-rw-r--r--include/lldb/Host/netbsd/HostInfoNetBSD.h18
-rw-r--r--include/lldb/Host/netbsd/HostThreadNetBSD.h18
-rw-r--r--include/lldb/Host/posix/ConnectionFileDescriptorPosix.h124
-rw-r--r--include/lldb/Host/posix/DomainSocket.h40
-rw-r--r--include/lldb/Host/posix/Fcntl.h2
-rw-r--r--include/lldb/Host/posix/HostInfoPosix.h40
-rw-r--r--include/lldb/Host/posix/HostProcessPosix.h32
-rw-r--r--include/lldb/Host/posix/HostThreadPosix.h22
-rw-r--r--include/lldb/Host/posix/LockFilePosix.h22
-rw-r--r--include/lldb/Host/posix/MainLoopPosix.h134
-rw-r--r--include/lldb/Host/posix/PipePosix.h100
-rw-r--r--include/lldb/Host/posix/ProcessLauncherPosix.h11
-rw-r--r--include/lldb/Host/windows/AutoHandle.h33
-rw-r--r--include/lldb/Host/windows/ConnectionGenericFileWindows.h58
-rw-r--r--include/lldb/Host/windows/HostInfoWindows.h74
-rw-r--r--include/lldb/Host/windows/HostProcessWindows.h34
-rw-r--r--include/lldb/Host/windows/HostThreadWindows.h30
-rw-r--r--include/lldb/Host/windows/LockFileWindows.h31
-rw-r--r--include/lldb/Host/windows/PipeWindows.h97
-rw-r--r--include/lldb/Host/windows/PosixApi.h107
-rw-r--r--include/lldb/Host/windows/ProcessLauncherWindows.h15
-rw-r--r--include/lldb/Host/windows/editlinewin.h175
-rw-r--r--include/lldb/Host/windows/win32.h107
-rw-r--r--include/lldb/Host/windows/windows.h4
-rw-r--r--include/lldb/Initialization/SystemInitializer.h16
-rw-r--r--include/lldb/Initialization/SystemInitializerCommon.h16
-rw-r--r--include/lldb/Initialization/SystemLifetimeManager.h32
-rw-r--r--include/lldb/Interpreter/Args.h854
-rw-r--r--include/lldb/Interpreter/CommandAlias.h159
-rw-r--r--include/lldb/Interpreter/CommandCompletions.h490
-rw-r--r--include/lldb/Interpreter/CommandHistory.h80
-rw-r--r--include/lldb/Interpreter/CommandInterpreter.h1130
-rw-r--r--include/lldb/Interpreter/CommandObject.h972
-rw-r--r--include/lldb/Interpreter/CommandObjectMultiword.h285
-rw-r--r--include/lldb/Interpreter/CommandObjectRegexCommand.h74
-rw-r--r--include/lldb/Interpreter/CommandOptionValidators.h10
-rw-r--r--include/lldb/Interpreter/CommandReturnObject.h286
-rw-r--r--include/lldb/Interpreter/OptionGroupArchitecture.h50
-rw-r--r--include/lldb/Interpreter/OptionGroupBoolean.h90
-rw-r--r--include/lldb/Interpreter/OptionGroupFile.h142
-rw-r--r--include/lldb/Interpreter/OptionGroupFormat.h149
-rw-r--r--include/lldb/Interpreter/OptionGroupOutputFile.h59
-rw-r--r--include/lldb/Interpreter/OptionGroupPlatform.h133
-rw-r--r--include/lldb/Interpreter/OptionGroupString.h87
-rw-r--r--include/lldb/Interpreter/OptionGroupUInt64.h87
-rw-r--r--include/lldb/Interpreter/OptionGroupUUID.h43
-rw-r--r--include/lldb/Interpreter/OptionGroupValueObjectDisplay.h85
-rw-r--r--include/lldb/Interpreter/OptionGroupVariable.h61
-rw-r--r--include/lldb/Interpreter/OptionGroupWatchpoint.h66
-rw-r--r--include/lldb/Interpreter/OptionValue.h737
-rw-r--r--include/lldb/Interpreter/OptionValueArch.h175
-rw-r--r--include/lldb/Interpreter/OptionValueArgs.h29
-rw-r--r--include/lldb/Interpreter/OptionValueArray.h238
-rw-r--r--include/lldb/Interpreter/OptionValueBoolean.h184
-rw-r--r--include/lldb/Interpreter/OptionValueChar.h137
-rw-r--r--include/lldb/Interpreter/OptionValueDictionary.h177
-rw-r--r--include/lldb/Interpreter/OptionValueEnumeration.h154
-rw-r--r--include/lldb/Interpreter/OptionValueFileSpec.h180
-rw-r--r--include/lldb/Interpreter/OptionValueFileSpecList.h120
-rw-r--r--include/lldb/Interpreter/OptionValueFormat.h127
-rw-r--r--include/lldb/Interpreter/OptionValueFormatEntity.h126
-rw-r--r--include/lldb/Interpreter/OptionValueLanguage.h132
-rw-r--r--include/lldb/Interpreter/OptionValuePathMappings.h109
-rw-r--r--include/lldb/Interpreter/OptionValueProperties.h442
-rw-r--r--include/lldb/Interpreter/OptionValueRegex.h110
-rw-r--r--include/lldb/Interpreter/OptionValueSInt64.h215
-rw-r--r--include/lldb/Interpreter/OptionValueString.h285
-rw-r--r--include/lldb/Interpreter/OptionValueUInt64.h176
-rw-r--r--include/lldb/Interpreter/OptionValueUUID.h121
-rw-r--r--include/lldb/Interpreter/OptionValues.h4
-rw-r--r--include/lldb/Interpreter/Options.h701
-rw-r--r--include/lldb/Interpreter/Property.h139
-rw-r--r--include/lldb/Interpreter/ScriptInterpreter.h912
-rw-r--r--include/lldb/Symbol/ArmUnwindInfo.h54
-rw-r--r--include/lldb/Symbol/Block.h827
-rw-r--r--include/lldb/Symbol/ClangASTContext.h2061
-rw-r--r--include/lldb/Symbol/ClangASTImporter.h664
-rw-r--r--include/lldb/Symbol/ClangExternalASTSourceCallbacks.h234
-rw-r--r--include/lldb/Symbol/ClangExternalASTSourceCommon.h217
-rw-r--r--include/lldb/Symbol/ClangUtil.h18
-rw-r--r--include/lldb/Symbol/CompactUnwindInfo.h257
-rw-r--r--include/lldb/Symbol/CompileUnit.h862
-rw-r--r--include/lldb/Symbol/CompilerDecl.h173
-rw-r--r--include/lldb/Symbol/CompilerDeclContext.h210
-rw-r--r--include/lldb/Symbol/CompilerType.h932
-rw-r--r--include/lldb/Symbol/DWARFCallFrameInfo.h243
-rw-r--r--include/lldb/Symbol/DebugMacros.h134
-rw-r--r--include/lldb/Symbol/DeclVendor.h81
-rw-r--r--include/lldb/Symbol/Declaration.h416
-rw-r--r--include/lldb/Symbol/FuncUnwinders.h231
-rw-r--r--include/lldb/Symbol/Function.h1189
-rw-r--r--include/lldb/Symbol/GoASTContext.h575
-rw-r--r--include/lldb/Symbol/JavaASTContext.h477
-rw-r--r--include/lldb/Symbol/LineEntry.h337
-rw-r--r--include/lldb/Symbol/LineTable.h693
-rw-r--r--include/lldb/Symbol/OCamlASTContext.h324
-rw-r--r--include/lldb/Symbol/ObjectContainer.h347
-rw-r--r--include/lldb/Symbol/ObjectFile.h1632
-rw-r--r--include/lldb/Symbol/Symbol.h569
-rw-r--r--include/lldb/Symbol/SymbolContext.h1045
-rw-r--r--include/lldb/Symbol/SymbolContextScope.h103
-rw-r--r--include/lldb/Symbol/SymbolFile.h341
-rw-r--r--include/lldb/Symbol/SymbolVendor.h323
-rw-r--r--include/lldb/Symbol/Symtab.h313
-rw-r--r--include/lldb/Symbol/TaggedASTType.h57
-rw-r--r--include/lldb/Symbol/Type.h1522
-rw-r--r--include/lldb/Symbol/TypeList.h86
-rw-r--r--include/lldb/Symbol/TypeMap.h91
-rw-r--r--include/lldb/Symbol/TypeSystem.h1079
-rw-r--r--include/lldb/Symbol/UnwindPlan.h1044
-rw-r--r--include/lldb/Symbol/UnwindTable.h82
-rw-r--r--include/lldb/Symbol/Variable.h287
-rw-r--r--include/lldb/Symbol/VariableList.h135
-rw-r--r--include/lldb/Symbol/VerifyDecl.h5
-rw-r--r--include/lldb/Target/ABI.h236
-rw-r--r--include/lldb/Target/CPPLanguageRuntime.h51
-rw-r--r--include/lldb/Target/DynamicLoader.h527
-rw-r--r--include/lldb/Target/ExecutionContext.h1297
-rw-r--r--include/lldb/Target/ExecutionContextScope.h48
-rw-r--r--include/lldb/Target/FileAction.h71
-rw-r--r--include/lldb/Target/InstrumentationRuntime.h99
-rw-r--r--include/lldb/Target/InstrumentationRuntimeStopInfo.h46
-rw-r--r--include/lldb/Target/JITLoader.h94
-rw-r--r--include/lldb/Target/JITLoaderList.h33
-rw-r--r--include/lldb/Target/Language.h409
-rw-r--r--include/lldb/Target/LanguageRuntime.h292
-rw-r--r--include/lldb/Target/Memory.h309
-rw-r--r--include/lldb/Target/MemoryHistory.h26
-rw-r--r--include/lldb/Target/MemoryRegionInfo.h232
-rw-r--r--include/lldb/Target/ObjCLanguageRuntime.h796
-rw-r--r--include/lldb/Target/OperatingSystem.h120
-rw-r--r--include/lldb/Target/PathMappingList.h252
-rw-r--r--include/lldb/Target/Platform.h2443
-rw-r--r--include/lldb/Target/Process.h6328
-rw-r--r--include/lldb/Target/ProcessInfo.h251
-rw-r--r--include/lldb/Target/ProcessLaunchInfo.h356
-rw-r--r--include/lldb/Target/Queue.h305
-rw-r--r--include/lldb/Target/QueueItem.h324
-rw-r--r--include/lldb/Target/QueueList.h196
-rw-r--r--include/lldb/Target/RegisterCheckpoint.h88
-rw-r--r--include/lldb/Target/RegisterContext.h438
-rw-r--r--include/lldb/Target/SectionLoadHistory.h130
-rw-r--r--include/lldb/Target/SectionLoadList.h85
-rw-r--r--include/lldb/Target/StackFrame.h998
-rw-r--r--include/lldb/Target/StackFrameList.h203
-rw-r--r--include/lldb/Target/StackID.h176
-rw-r--r--include/lldb/Target/StopInfo.h394
-rw-r--r--include/lldb/Target/StructuredDataPlugin.h188
-rw-r--r--include/lldb/Target/SystemRuntime.h593
-rw-r--r--include/lldb/Target/Target.h2711
-rw-r--r--include/lldb/Target/TargetList.h429
-rw-r--r--include/lldb/Target/Thread.h2701
-rw-r--r--include/lldb/Target/ThreadCollection.h85
-rw-r--r--include/lldb/Target/ThreadList.h282
-rw-r--r--include/lldb/Target/ThreadPlan.h1029
-rw-r--r--include/lldb/Target/ThreadPlanBase.h53
-rw-r--r--include/lldb/Target/ThreadPlanCallFunction.h292
-rw-r--r--include/lldb/Target/ThreadPlanCallFunctionUsingABI.h34
-rw-r--r--include/lldb/Target/ThreadPlanCallOnFunctionExit.h56
-rw-r--r--include/lldb/Target/ThreadPlanCallUserExpression.h79
-rw-r--r--include/lldb/Target/ThreadPlanPython.h54
-rw-r--r--include/lldb/Target/ThreadPlanRunToAddress.h72
-rw-r--r--include/lldb/Target/ThreadPlanShouldStopHere.h216
-rw-r--r--include/lldb/Target/ThreadPlanStepInRange.h171
-rw-r--r--include/lldb/Target/ThreadPlanStepInstruction.h58
-rw-r--r--include/lldb/Target/ThreadPlanStepOut.h135
-rw-r--r--include/lldb/Target/ThreadPlanStepOverBreakpoint.h53
-rw-r--r--include/lldb/Target/ThreadPlanStepOverRange.h50
-rw-r--r--include/lldb/Target/ThreadPlanStepRange.h119
-rw-r--r--include/lldb/Target/ThreadPlanStepThrough.h70
-rw-r--r--include/lldb/Target/ThreadPlanStepUntil.h82
-rw-r--r--include/lldb/Target/ThreadPlanTracer.h152
-rw-r--r--include/lldb/Target/ThreadSpec.h217
-rw-r--r--include/lldb/Target/UnixSignals.h167
-rw-r--r--include/lldb/Target/Unwind.h129
-rw-r--r--include/lldb/Target/UnwindAssembly.h51
-rw-r--r--include/lldb/Utility/AnsiTerminal.h236
-rw-r--r--include/lldb/Utility/CleanUp.h446
-rw-r--r--include/lldb/Utility/ConvertEnum.h3
-rw-r--r--include/lldb/Utility/Either.h240
-rw-r--r--include/lldb/Utility/Iterable.h350
-rw-r--r--include/lldb/Utility/JSON.h589
-rw-r--r--include/lldb/Utility/LLDBAssert.h14
-rw-r--r--include/lldb/Utility/NameMatches.h8
-rw-r--r--include/lldb/Utility/PriorityPointerPair.h176
-rw-r--r--include/lldb/Utility/ProcessStructReader.h152
-rw-r--r--include/lldb/Utility/PseudoTerminal.h444
-rw-r--r--include/lldb/Utility/Range.h108
-rw-r--r--include/lldb/Utility/RegisterNumber.h53
-rw-r--r--include/lldb/Utility/SafeMachO.h170
-rw-r--r--include/lldb/Utility/SelectHelper.h76
-rw-r--r--include/lldb/Utility/SharedCluster.h133
-rw-r--r--include/lldb/Utility/SharingPtr.h1140
-rw-r--r--include/lldb/Utility/StringExtractor.h265
-rw-r--r--include/lldb/Utility/StringLexer.h89
-rw-r--r--include/lldb/Utility/TaskPool.h283
-rw-r--r--include/lldb/Utility/Timeout.h55
-rw-r--r--include/lldb/lldb-defines.h156
-rw-r--r--include/lldb/lldb-enumerations.h1954
-rw-r--r--include/lldb/lldb-forward.h885
-rw-r--r--include/lldb/lldb-private-defines.h11
-rw-r--r--include/lldb/lldb-private-enumerations.h286
-rw-r--r--include/lldb/lldb-private-forward.h42
-rw-r--r--include/lldb/lldb-private-interfaces.h134
-rw-r--r--include/lldb/lldb-private-types.h200
-rw-r--r--include/lldb/lldb-private.h21
-rw-r--r--include/lldb/lldb-public.h2
-rw-r--r--include/lldb/lldb-types.h130
-rw-r--r--include/lldb/lldb-versioning.h226
493 files changed, 69583 insertions, 84003 deletions
diff --git a/include/lldb/API/LLDB.h b/include/lldb/API/LLDB.h
index b6278160dbc0..d8604cd07114 100644
--- a/include/lldb/API/LLDB.h
+++ b/include/lldb/API/LLDB.h
@@ -14,7 +14,6 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBAddress.h"
#include "lldb/API/SBAttachInfo.h"
#include "lldb/API/SBBlock.h"
@@ -28,6 +27,7 @@
#include "lldb/API/SBData.h"
#include "lldb/API/SBDebugger.h"
#include "lldb/API/SBDeclaration.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBError.h"
#include "lldb/API/SBEvent.h"
#include "lldb/API/SBExecutionContext.h"
@@ -55,6 +55,7 @@
#include "lldb/API/SBSourceManager.h"
#include "lldb/API/SBStream.h"
#include "lldb/API/SBStringList.h"
+#include "lldb/API/SBStructuredData.h"
#include "lldb/API/SBSymbol.h"
#include "lldb/API/SBSymbolContext.h"
#include "lldb/API/SBSymbolContextList.h"
@@ -76,4 +77,4 @@
#include "lldb/API/SBVariablesOptions.h"
#include "lldb/API/SBWatchpoint.h"
-#endif // LLDB_LLDB_h_
+#endif // LLDB_LLDB_h_
diff --git a/include/lldb/API/SBAddress.h b/include/lldb/API/SBAddress.h
index 4cbbee9fd132..ddbe5a742786 100644
--- a/include/lldb/API/SBAddress.h
+++ b/include/lldb/API/SBAddress.h
@@ -15,138 +15,108 @@
namespace lldb {
-class LLDB_API SBAddress
-{
+class LLDB_API SBAddress {
public:
+ SBAddress();
- SBAddress ();
+ SBAddress(const lldb::SBAddress &rhs);
- SBAddress (const lldb::SBAddress &rhs);
+ SBAddress(lldb::SBSection section, lldb::addr_t offset);
- SBAddress (lldb::SBSection section, lldb::addr_t offset);
+ // Create an address by resolving a load address using the supplied target
+ SBAddress(lldb::addr_t load_addr, lldb::SBTarget &target);
- // Create an address by resolving a load address using the supplied target
- SBAddress (lldb::addr_t load_addr, lldb::SBTarget &target);
+ ~SBAddress();
- ~SBAddress ();
+ const lldb::SBAddress &operator=(const lldb::SBAddress &rhs);
- const lldb::SBAddress &
- operator = (const lldb::SBAddress &rhs);
+ bool IsValid() const;
- bool
- IsValid () const;
+ void Clear();
- void
- Clear ();
+ addr_t GetFileAddress() const;
- addr_t
- GetFileAddress () const;
+ addr_t GetLoadAddress(const lldb::SBTarget &target) const;
- addr_t
- GetLoadAddress (const lldb::SBTarget &target) const;
+ void SetAddress(lldb::SBSection section, lldb::addr_t offset);
- void
- SetAddress (lldb::SBSection section, lldb::addr_t offset);
+ void SetLoadAddress(lldb::addr_t load_addr, lldb::SBTarget &target);
+ bool OffsetAddress(addr_t offset);
- void
- SetLoadAddress (lldb::addr_t load_addr,
- lldb::SBTarget &target);
- bool
- OffsetAddress (addr_t offset);
+ bool GetDescription(lldb::SBStream &description);
- bool
- GetDescription (lldb::SBStream &description);
+ // The following queries can lookup symbol information for a given address.
+ // An address might refer to code or data from an existing module, or it
+ // might refer to something on the stack or heap. The following functions
+ // will only return valid values if the address has been resolved to a code
+ // or data address using "void SBAddress::SetLoadAddress(...)" or
+ // "lldb::SBAddress SBTarget::ResolveLoadAddress (...)".
+ lldb::SBSymbolContext GetSymbolContext(uint32_t resolve_scope);
- // The following queries can lookup symbol information for a given address.
- // An address might refer to code or data from an existing module, or it
- // might refer to something on the stack or heap. The following functions
- // will only return valid values if the address has been resolved to a code
- // or data address using "void SBAddress::SetLoadAddress(...)" or
- // "lldb::SBAddress SBTarget::ResolveLoadAddress (...)".
- lldb::SBSymbolContext
- GetSymbolContext (uint32_t resolve_scope);
+ // The following functions grab individual objects for a given address and
+ // are less efficient if you want more than one symbol related objects.
+ // Use one of the following when you want multiple debug symbol related
+ // objects for an address:
+ // lldb::SBSymbolContext SBAddress::GetSymbolContext (uint32_t
+ // resolve_scope);
+ // lldb::SBSymbolContext SBTarget::ResolveSymbolContextForAddress (const
+ // SBAddress &addr, uint32_t resolve_scope);
+ // One or more bits from the SymbolContextItem enumerations can be logically
+ // OR'ed together to more efficiently retrieve multiple symbol objects.
-
- // The following functions grab individual objects for a given address and
- // are less efficient if you want more than one symbol related objects.
- // Use one of the following when you want multiple debug symbol related
- // objects for an address:
- // lldb::SBSymbolContext SBAddress::GetSymbolContext (uint32_t resolve_scope);
- // lldb::SBSymbolContext SBTarget::ResolveSymbolContextForAddress (const SBAddress &addr, uint32_t resolve_scope);
- // One or more bits from the SymbolContextItem enumerations can be logically
- // OR'ed together to more efficiently retrieve multiple symbol objects.
+ lldb::SBSection GetSection();
- lldb::SBSection
- GetSection ();
+ lldb::addr_t GetOffset();
- lldb::addr_t
- GetOffset ();
+ lldb::SBModule GetModule();
- lldb::SBModule
- GetModule ();
-
- lldb::SBCompileUnit
- GetCompileUnit ();
+ lldb::SBCompileUnit GetCompileUnit();
- lldb::SBFunction
- GetFunction ();
+ lldb::SBFunction GetFunction();
- lldb::SBBlock
- GetBlock ();
+ lldb::SBBlock GetBlock();
- lldb::SBSymbol
- GetSymbol ();
+ lldb::SBSymbol GetSymbol();
- lldb::SBLineEntry
- GetLineEntry ();
-
- lldb::AddressClass
- GetAddressClass ();
+ lldb::SBLineEntry GetLineEntry();
-protected:
+ lldb::AddressClass GetAddressClass();
- friend class SBBlock;
- friend class SBBreakpointLocation;
- friend class SBFrame;
- friend class SBFunction;
- friend class SBLineEntry;
- friend class SBInstruction;
- friend class SBModule;
- friend class SBSection;
- friend class SBSymbol;
- friend class SBSymbolContext;
- friend class SBTarget;
- friend class SBThread;
- friend class SBThreadPlan;
- friend class SBValue;
- friend class SBQueueItem;
+protected:
+ friend class SBBlock;
+ friend class SBBreakpointLocation;
+ friend class SBFrame;
+ friend class SBFunction;
+ friend class SBLineEntry;
+ friend class SBInstruction;
+ friend class SBModule;
+ friend class SBSection;
+ friend class SBSymbol;
+ friend class SBSymbolContext;
+ friend class SBTarget;
+ friend class SBThread;
+ friend class SBThreadPlan;
+ friend class SBValue;
+ friend class SBQueueItem;
- lldb_private::Address *
- operator->();
+ lldb_private::Address *operator->();
- const lldb_private::Address *
- operator->() const;
+ const lldb_private::Address *operator->() const;
- lldb_private::Address *
- get ();
+ lldb_private::Address *get();
- lldb_private::Address &
- ref();
+ lldb_private::Address &ref();
- const lldb_private::Address &
- ref() const;
+ const lldb_private::Address &ref() const;
- SBAddress (const lldb_private::Address *lldb_object_ptr);
+ SBAddress(const lldb_private::Address *lldb_object_ptr);
- void
- SetAddress (const lldb_private::Address *lldb_object_ptr);
+ void SetAddress(const lldb_private::Address *lldb_object_ptr);
private:
-
- std::unique_ptr<lldb_private::Address> m_opaque_ap;
+ std::unique_ptr<lldb_private::Address> m_opaque_ap;
};
-
} // namespace lldb
#endif // LLDB_SBAddress_h_
diff --git a/include/lldb/API/SBAttachInfo.h b/include/lldb/API/SBAttachInfo.h
index a246d9919cfa..6c3561615990 100644
--- a/include/lldb/API/SBAttachInfo.h
+++ b/include/lldb/API/SBAttachInfo.h
@@ -16,209 +16,175 @@ namespace lldb {
class SBTarget;
-class LLDB_API SBAttachInfo
-{
+class LLDB_API SBAttachInfo {
public:
- SBAttachInfo ();
-
- SBAttachInfo (lldb::pid_t pid);
-
- //------------------------------------------------------------------
- /// Attach to a process by name.
- ///
- /// This function implies that a future call to SBTarget::Attach(...)
- /// will be synchronous.
- ///
- /// @param[in] path
- /// A full or partial name for the process to attach to.
- ///
- /// @param[in] wait_for
- /// If \b false, attach to an existing process whose name matches.
- /// If \b true, then wait for the next process whose name matches.
- //------------------------------------------------------------------
- SBAttachInfo (const char *path, bool wait_for);
-
- //------------------------------------------------------------------
- /// Attach to a process by name.
- ///
- /// Future calls to SBTarget::Attach(...) will be synchronous or
- /// asynchronous depending on the \a async argument.
- ///
- /// @param[in] path
- /// A full or partial name for the process to attach to.
- ///
- /// @param[in] wait_for
- /// If \b false, attach to an existing process whose name matches.
- /// If \b true, then wait for the next process whose name matches.
- ///
- /// @param[in] async
- /// If \b false, then the SBTarget::Attach(...) call will be a
- /// synchronous call with no way to cancel the attach in
- /// progress.
- /// If \b true, then the SBTarget::Attach(...) function will
- /// return immediately and clients are expected to wait for a
- /// process eStateStopped event if a suitable process is
- /// eventually found. If the client wants to cancel the event,
- /// SBProcess::Stop() can be called and an eStateExited process
- /// event will be delivered.
- //------------------------------------------------------------------
- SBAttachInfo (const char *path, bool wait_for, bool async);
-
- SBAttachInfo (const SBAttachInfo &rhs);
-
- ~SBAttachInfo();
-
- SBAttachInfo &
- operator = (const SBAttachInfo &rhs);
-
- lldb::pid_t
- GetProcessID ();
-
- void
- SetProcessID (lldb::pid_t pid);
-
- void
- SetExecutable (const char *path);
-
- void
- SetExecutable (lldb::SBFileSpec exe_file);
-
- bool
- GetWaitForLaunch ();
-
- //------------------------------------------------------------------
- /// Set attach by process name settings.
- ///
- /// Designed to be used after a call to SBAttachInfo::SetExecutable().
- /// This function implies that a call to SBTarget::Attach(...) will
- /// be synchronous.
- ///
- /// @param[in] wait_for
- /// If \b false, attach to an existing process whose name matches.
- /// If \b true, then wait for the next process whose name matches.
- //------------------------------------------------------------------
- void
- SetWaitForLaunch (bool b);
-
- //------------------------------------------------------------------
- /// Set attach by process name settings.
- ///
- /// Designed to be used after a call to SBAttachInfo::SetExecutable().
- /// Future calls to SBTarget::Attach(...) will be synchronous or
- /// asynchronous depending on the \a async argument.
- ///
- /// @param[in] wait_for
- /// If \b false, attach to an existing process whose name matches.
- /// If \b true, then wait for the next process whose name matches.
- ///
- /// @param[in] async
- /// If \b false, then the SBTarget::Attach(...) call will be a
- /// synchronous call with no way to cancel the attach in
- /// progress.
- /// If \b true, then the SBTarget::Attach(...) function will
- /// return immediately and clients are expected to wait for a
- /// process eStateStopped event if a suitable process is
- /// eventually found. If the client wants to cancel the event,
- /// SBProcess::Stop() can be called and an eStateExited process
- /// event will be delivered.
- //------------------------------------------------------------------
- void
- SetWaitForLaunch (bool b, bool async);
-
- bool
- GetIgnoreExisting ();
-
- void
- SetIgnoreExisting (bool b);
-
- uint32_t
- GetResumeCount ();
-
- void
- SetResumeCount (uint32_t c);
-
- const char *
- GetProcessPluginName ();
-
- void
- SetProcessPluginName (const char *plugin_name);
-
- uint32_t
- GetUserID();
-
- uint32_t
- GetGroupID();
-
- bool
- UserIDIsValid ();
-
- bool
- GroupIDIsValid ();
-
- void
- SetUserID (uint32_t uid);
-
- void
- SetGroupID (uint32_t gid);
-
- uint32_t
- GetEffectiveUserID();
-
- uint32_t
- GetEffectiveGroupID();
-
- bool
- EffectiveUserIDIsValid ();
-
- bool
- EffectiveGroupIDIsValid ();
-
- void
- SetEffectiveUserID (uint32_t uid);
-
- void
- SetEffectiveGroupID (uint32_t gid);
-
- lldb::pid_t
- GetParentProcessID ();
-
- void
- SetParentProcessID (lldb::pid_t pid);
-
- bool
- ParentProcessIDIsValid();
-
- //----------------------------------------------------------------------
- /// Get the listener that will be used to receive process events.
- ///
- /// If no listener has been set via a call to
- /// SBLaunchInfo::SetListener(), then an invalid SBListener will be
- /// returned (SBListener::IsValid() will return false). If a listener
- /// has been set, then the valid listener object will be returned.
- //----------------------------------------------------------------------
- SBListener
- GetListener ();
-
- //----------------------------------------------------------------------
- /// Set the listener that will be used to receive process events.
- ///
- /// By default the SBDebugger, which has a listener, that the SBTarget
- /// belongs to will listen for the process events. Calling this function
- /// allows a different listener to be used to listen for process events.
- //----------------------------------------------------------------------
- void
- SetListener (SBListener &listener);
+ SBAttachInfo();
+
+ SBAttachInfo(lldb::pid_t pid);
+
+ //------------------------------------------------------------------
+ /// Attach to a process by name.
+ ///
+ /// This function implies that a future call to SBTarget::Attach(...)
+ /// will be synchronous.
+ ///
+ /// @param[in] path
+ /// A full or partial name for the process to attach to.
+ ///
+ /// @param[in] wait_for
+ /// If \b false, attach to an existing process whose name matches.
+ /// If \b true, then wait for the next process whose name matches.
+ //------------------------------------------------------------------
+ SBAttachInfo(const char *path, bool wait_for);
+
+ //------------------------------------------------------------------
+ /// Attach to a process by name.
+ ///
+ /// Future calls to SBTarget::Attach(...) will be synchronous or
+ /// asynchronous depending on the \a async argument.
+ ///
+ /// @param[in] path
+ /// A full or partial name for the process to attach to.
+ ///
+ /// @param[in] wait_for
+ /// If \b false, attach to an existing process whose name matches.
+ /// If \b true, then wait for the next process whose name matches.
+ ///
+ /// @param[in] async
+ /// If \b false, then the SBTarget::Attach(...) call will be a
+ /// synchronous call with no way to cancel the attach in
+ /// progress.
+ /// If \b true, then the SBTarget::Attach(...) function will
+ /// return immediately and clients are expected to wait for a
+ /// process eStateStopped event if a suitable process is
+ /// eventually found. If the client wants to cancel the event,
+ /// SBProcess::Stop() can be called and an eStateExited process
+ /// event will be delivered.
+ //------------------------------------------------------------------
+ SBAttachInfo(const char *path, bool wait_for, bool async);
+
+ SBAttachInfo(const SBAttachInfo &rhs);
+
+ ~SBAttachInfo();
+
+ SBAttachInfo &operator=(const SBAttachInfo &rhs);
+
+ lldb::pid_t GetProcessID();
+
+ void SetProcessID(lldb::pid_t pid);
+
+ void SetExecutable(const char *path);
+
+ void SetExecutable(lldb::SBFileSpec exe_file);
+
+ bool GetWaitForLaunch();
+
+ //------------------------------------------------------------------
+ /// Set attach by process name settings.
+ ///
+ /// Designed to be used after a call to SBAttachInfo::SetExecutable().
+ /// This function implies that a call to SBTarget::Attach(...) will
+ /// be synchronous.
+ ///
+ /// @param[in] wait_for
+ /// If \b false, attach to an existing process whose name matches.
+ /// If \b true, then wait for the next process whose name matches.
+ //------------------------------------------------------------------
+ void SetWaitForLaunch(bool b);
+
+ //------------------------------------------------------------------
+ /// Set attach by process name settings.
+ ///
+ /// Designed to be used after a call to SBAttachInfo::SetExecutable().
+ /// Future calls to SBTarget::Attach(...) will be synchronous or
+ /// asynchronous depending on the \a async argument.
+ ///
+ /// @param[in] wait_for
+ /// If \b false, attach to an existing process whose name matches.
+ /// If \b true, then wait for the next process whose name matches.
+ ///
+ /// @param[in] async
+ /// If \b false, then the SBTarget::Attach(...) call will be a
+ /// synchronous call with no way to cancel the attach in
+ /// progress.
+ /// If \b true, then the SBTarget::Attach(...) function will
+ /// return immediately and clients are expected to wait for a
+ /// process eStateStopped event if a suitable process is
+ /// eventually found. If the client wants to cancel the event,
+ /// SBProcess::Stop() can be called and an eStateExited process
+ /// event will be delivered.
+ //------------------------------------------------------------------
+ void SetWaitForLaunch(bool b, bool async);
+
+ bool GetIgnoreExisting();
+
+ void SetIgnoreExisting(bool b);
+
+ uint32_t GetResumeCount();
+
+ void SetResumeCount(uint32_t c);
+
+ const char *GetProcessPluginName();
+
+ void SetProcessPluginName(const char *plugin_name);
+
+ uint32_t GetUserID();
+
+ uint32_t GetGroupID();
+
+ bool UserIDIsValid();
+
+ bool GroupIDIsValid();
+ void SetUserID(uint32_t uid);
+
+ void SetGroupID(uint32_t gid);
+
+ uint32_t GetEffectiveUserID();
+
+ uint32_t GetEffectiveGroupID();
+
+ bool EffectiveUserIDIsValid();
+
+ bool EffectiveGroupIDIsValid();
+
+ void SetEffectiveUserID(uint32_t uid);
+
+ void SetEffectiveGroupID(uint32_t gid);
+
+ lldb::pid_t GetParentProcessID();
+
+ void SetParentProcessID(lldb::pid_t pid);
+
+ bool ParentProcessIDIsValid();
+
+ //----------------------------------------------------------------------
+ /// Get the listener that will be used to receive process events.
+ ///
+ /// If no listener has been set via a call to
+ /// SBLaunchInfo::SetListener(), then an invalid SBListener will be
+ /// returned (SBListener::IsValid() will return false). If a listener
+ /// has been set, then the valid listener object will be returned.
+ //----------------------------------------------------------------------
+ SBListener GetListener();
+
+ //----------------------------------------------------------------------
+ /// Set the listener that will be used to receive process events.
+ ///
+ /// By default the SBDebugger, which has a listener, that the SBTarget
+ /// belongs to will listen for the process events. Calling this function
+ /// allows a different listener to be used to listen for process events.
+ //----------------------------------------------------------------------
+ void SetListener(SBListener &listener);
protected:
- friend class SBTarget;
+ friend class SBTarget;
- lldb_private::ProcessAttachInfo &
- ref ();
+ lldb_private::ProcessAttachInfo &ref();
- ProcessAttachInfoSP m_opaque_sp;
+ ProcessAttachInfoSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBAttachInfo_h_
+#endif // LLDB_SBAttachInfo_h_
diff --git a/include/lldb/API/SBBlock.h b/include/lldb/API/SBBlock.h
index a18eab02088b..112de9673423 100644
--- a/include/lldb/API/SBBlock.h
+++ b/include/lldb/API/SBBlock.h
@@ -17,107 +17,80 @@
namespace lldb {
-class LLDB_API SBBlock
-{
+class LLDB_API SBBlock {
public:
+ SBBlock();
- SBBlock ();
-
- SBBlock (const lldb::SBBlock &rhs);
-
- ~SBBlock ();
-
- const lldb::SBBlock &
- operator = (const lldb::SBBlock &rhs);
-
- bool
- IsInlined () const;
-
- bool
- IsValid () const;
-
- const char *
- GetInlinedName () const;
-
- lldb::SBFileSpec
- GetInlinedCallSiteFile () const;
-
- uint32_t
- GetInlinedCallSiteLine () const;
-
- uint32_t
- GetInlinedCallSiteColumn () const;
-
- lldb::SBBlock
- GetParent ();
-
- lldb::SBBlock
- GetSibling ();
-
- lldb::SBBlock
- GetFirstChild ();
-
- uint32_t
- GetNumRanges ();
-
- lldb::SBAddress
- GetRangeStartAddress (uint32_t idx);
-
- lldb::SBAddress
- GetRangeEndAddress (uint32_t idx);
-
- uint32_t
- GetRangeIndexForBlockAddress (lldb::SBAddress block_addr);
-
- lldb::SBValueList
- GetVariables (lldb::SBFrame& frame,
- bool arguments,
- bool locals,
- bool statics,
- lldb::DynamicValueType use_dynamic);
-
- lldb::SBValueList
- GetVariables (lldb::SBTarget& target,
- bool arguments,
- bool locals,
- bool statics);
- //------------------------------------------------------------------
- /// Get the inlined block that contains this block.
- ///
- /// @return
- /// If this block is inlined, it will return this block, else
- /// parent blocks will be searched to see if any contain this
- /// block and are themselves inlined. An invalid SBBlock will
- /// be returned if this block nor any parent blocks are inlined
- /// function blocks.
- //------------------------------------------------------------------
- lldb::SBBlock
- GetContainingInlinedBlock ();
-
- bool
- GetDescription (lldb::SBStream &description);
+ SBBlock(const lldb::SBBlock &rhs);
+
+ ~SBBlock();
+
+ const lldb::SBBlock &operator=(const lldb::SBBlock &rhs);
+
+ bool IsInlined() const;
+
+ bool IsValid() const;
+
+ const char *GetInlinedName() const;
+
+ lldb::SBFileSpec GetInlinedCallSiteFile() const;
+
+ uint32_t GetInlinedCallSiteLine() const;
+
+ uint32_t GetInlinedCallSiteColumn() const;
+
+ lldb::SBBlock GetParent();
+
+ lldb::SBBlock GetSibling();
+
+ lldb::SBBlock GetFirstChild();
+
+ uint32_t GetNumRanges();
+
+ lldb::SBAddress GetRangeStartAddress(uint32_t idx);
+
+ lldb::SBAddress GetRangeEndAddress(uint32_t idx);
+
+ uint32_t GetRangeIndexForBlockAddress(lldb::SBAddress block_addr);
+
+ lldb::SBValueList GetVariables(lldb::SBFrame &frame, bool arguments,
+ bool locals, bool statics,
+ lldb::DynamicValueType use_dynamic);
+
+ lldb::SBValueList GetVariables(lldb::SBTarget &target, bool arguments,
+ bool locals, bool statics);
+ //------------------------------------------------------------------
+ /// Get the inlined block that contains this block.
+ ///
+ /// @return
+ /// If this block is inlined, it will return this block, else
+ /// parent blocks will be searched to see if any contain this
+ /// block and are themselves inlined. An invalid SBBlock will
+ /// be returned if this block nor any parent blocks are inlined
+ /// function blocks.
+ //------------------------------------------------------------------
+ lldb::SBBlock GetContainingInlinedBlock();
+
+ bool GetDescription(lldb::SBStream &description);
private:
- friend class SBAddress;
- friend class SBFrame;
- friend class SBFunction;
- friend class SBSymbolContext;
+ friend class SBAddress;
+ friend class SBFrame;
+ friend class SBFunction;
+ friend class SBSymbolContext;
- lldb_private::Block *
- GetPtr ();
+ lldb_private::Block *GetPtr();
- void
- SetPtr (lldb_private::Block *lldb_object_ptr);
+ void SetPtr(lldb_private::Block *lldb_object_ptr);
- SBBlock (lldb_private::Block *lldb_object_ptr);
+ SBBlock(lldb_private::Block *lldb_object_ptr);
- void
- AppendVariables (bool can_create, bool get_parent_variables, lldb_private::VariableList *var_list);
+ void AppendVariables(bool can_create, bool get_parent_variables,
+ lldb_private::VariableList *var_list);
- lldb_private::Block *m_opaque_ptr;
+ lldb_private::Block *m_opaque_ptr;
};
-
} // namespace lldb
#endif // LLDB_SBBlock_h_
diff --git a/include/lldb/API/SBBreakpoint.h b/include/lldb/API/SBBreakpoint.h
index c244ab8a9b48..56509c903c2d 100644
--- a/include/lldb/API/SBBreakpoint.h
+++ b/include/lldb/API/SBBreakpoint.h
@@ -12,182 +12,171 @@
#include "lldb/API/SBDefines.h"
+class SBBreakpointListImpl;
+
namespace lldb {
-class LLDB_API SBBreakpoint
-{
+class LLDB_API SBBreakpoint {
public:
+ typedef bool (*BreakpointHitCallback)(void *baton, SBProcess &process,
+ SBThread &thread,
+ lldb::SBBreakpointLocation &location);
+
+ SBBreakpoint();
+
+ SBBreakpoint(const lldb::SBBreakpoint &rhs);
+
+ ~SBBreakpoint();
+
+ const lldb::SBBreakpoint &operator=(const lldb::SBBreakpoint &rhs);
+
+ // Tests to see if the opaque breakpoint object in this object matches the
+ // opaque breakpoint object in "rhs".
+ bool operator==(const lldb::SBBreakpoint &rhs);
+
+ bool operator!=(const lldb::SBBreakpoint &rhs);
+
+ break_id_t GetID() const;
+
+ bool IsValid() const;
+
+ void ClearAllBreakpointSites();
+
+ lldb::SBBreakpointLocation FindLocationByAddress(lldb::addr_t vm_addr);
+
+ lldb::break_id_t FindLocationIDByAddress(lldb::addr_t vm_addr);
+
+ lldb::SBBreakpointLocation FindLocationByID(lldb::break_id_t bp_loc_id);
+
+ lldb::SBBreakpointLocation GetLocationAtIndex(uint32_t index);
+
+ void SetEnabled(bool enable);
+
+ bool IsEnabled();
+
+ void SetOneShot(bool one_shot);
+
+ bool IsOneShot() const;
+
+ bool IsInternal();
+
+ uint32_t GetHitCount() const;
+
+ void SetIgnoreCount(uint32_t count);
+
+ uint32_t GetIgnoreCount() const;
+
+ void SetCondition(const char *condition);
+
+ const char *GetCondition();
+
+ void SetThreadID(lldb::tid_t sb_thread_id);
+
+ lldb::tid_t GetThreadID();
+
+ void SetThreadIndex(uint32_t index);
+
+ uint32_t GetThreadIndex() const;
+
+ void SetThreadName(const char *thread_name);
+
+ const char *GetThreadName() const;
+
+ void SetQueueName(const char *queue_name);
+
+ const char *GetQueueName() const;
- typedef bool (*BreakpointHitCallback) (void *baton,
- SBProcess &process,
- SBThread &thread,
- lldb::SBBreakpointLocation &location);
-
- SBBreakpoint ();
-
- SBBreakpoint (const lldb::SBBreakpoint& rhs);
-
- ~SBBreakpoint();
-
- const lldb::SBBreakpoint &
- operator = (const lldb::SBBreakpoint& rhs);
-
- // Tests to see if the opaque breakpoint object in this object matches the
- // opaque breakpoint object in "rhs".
- bool
- operator == (const lldb::SBBreakpoint& rhs);
-
- bool
- operator != (const lldb::SBBreakpoint& rhs);
-
- break_id_t
- GetID () const;
-
- bool
- IsValid() const;
-
- void
- ClearAllBreakpointSites ();
-
- lldb::SBBreakpointLocation
- FindLocationByAddress (lldb::addr_t vm_addr);
-
- lldb::break_id_t
- FindLocationIDByAddress (lldb::addr_t vm_addr);
-
- lldb::SBBreakpointLocation
- FindLocationByID (lldb::break_id_t bp_loc_id);
-
- lldb::SBBreakpointLocation
- GetLocationAtIndex (uint32_t index);
-
- void
- SetEnabled (bool enable);
-
- bool
- IsEnabled ();
-
- void
- SetOneShot (bool one_shot);
-
- bool
- IsOneShot () const;
-
- bool
- IsInternal ();
-
- uint32_t
- GetHitCount () const;
-
- void
- SetIgnoreCount (uint32_t count);
-
- uint32_t
- GetIgnoreCount () const;
-
- void
- SetCondition (const char *condition);
-
- const char *
- GetCondition ();
-
- void
- SetThreadID (lldb::tid_t sb_thread_id);
-
- lldb::tid_t
- GetThreadID ();
-
- void
- SetThreadIndex (uint32_t index);
-
- uint32_t
- GetThreadIndex() const;
-
- void
- SetThreadName (const char *thread_name);
-
- const char *
- GetThreadName () const;
-
- void
- SetQueueName (const char *queue_name);
-
- const char *
- GetQueueName () const;
-
- void
- SetCallback (BreakpointHitCallback callback, void *baton);
-
- void
- SetScriptCallbackFunction (const char *callback_function_name);
-
- SBError
- SetScriptCallbackBody (const char *script_body_text);
-
- bool
- AddName (const char *new_name);
-
- void
- RemoveName (const char *name_to_remove);
-
- bool
- MatchesName (const char *name);
-
- void
- GetNames (SBStringList &names);
-
- size_t
- GetNumResolvedLocations() const;
-
- size_t
- GetNumLocations() const;
-
- bool
- GetDescription (lldb::SBStream &description);
-
- static bool
- EventIsBreakpointEvent (const lldb::SBEvent &event);
-
- static lldb::BreakpointEventType
- GetBreakpointEventTypeFromEvent (const lldb::SBEvent& event);
-
- static lldb::SBBreakpoint
- GetBreakpointFromEvent (const lldb::SBEvent& event);
-
- static lldb::SBBreakpointLocation
- GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx);
-
- static uint32_t
- GetNumBreakpointLocationsFromEvent (const lldb::SBEvent &event_sp);
+ void SetCallback(BreakpointHitCallback callback, void *baton);
+ void SetScriptCallbackFunction(const char *callback_function_name);
+
+ void SetCommandLineCommands(SBStringList &commands);
+
+ bool GetCommandLineCommands(SBStringList &commands);
+
+ SBError SetScriptCallbackBody(const char *script_body_text);
+
+ bool AddName(const char *new_name);
+
+ void RemoveName(const char *name_to_remove);
+
+ bool MatchesName(const char *name);
+
+ void GetNames(SBStringList &names);
+
+ size_t GetNumResolvedLocations() const;
+
+ size_t GetNumLocations() const;
+
+ bool GetDescription(lldb::SBStream &description);
+
+ bool GetDescription(lldb::SBStream &description, bool include_locations);
+
+ static bool EventIsBreakpointEvent(const lldb::SBEvent &event);
+
+ static lldb::BreakpointEventType
+ GetBreakpointEventTypeFromEvent(const lldb::SBEvent &event);
+
+ static lldb::SBBreakpoint GetBreakpointFromEvent(const lldb::SBEvent &event);
+
+ static lldb::SBBreakpointLocation
+ GetBreakpointLocationAtIndexFromEvent(const lldb::SBEvent &event,
+ uint32_t loc_idx);
+
+ static uint32_t
+ GetNumBreakpointLocationsFromEvent(const lldb::SBEvent &event_sp);
private:
- friend class SBBreakpointLocation;
- friend class SBTarget;
+ friend class SBBreakpointList;
+ friend class SBBreakpointLocation;
+ friend class SBTarget;
- SBBreakpoint (const lldb::BreakpointSP &bp_sp);
+ SBBreakpoint(const lldb::BreakpointSP &bp_sp);
- lldb_private::Breakpoint *
- operator->() const;
+ lldb_private::Breakpoint *operator->() const;
- lldb_private::Breakpoint *
- get() const;
+ lldb_private::Breakpoint *get() const;
- lldb::BreakpointSP &
- operator *();
+ lldb::BreakpointSP &operator*();
- const lldb::BreakpointSP &
- operator *() const;
+ const lldb::BreakpointSP &operator*() const;
- static bool
- PrivateBreakpointHitCallback (void *baton,
- lldb_private::StoppointCallbackContext *context,
- lldb::user_id_t break_id,
- lldb::user_id_t break_loc_id);
-
- lldb::BreakpointSP m_opaque_sp;
+ static bool PrivateBreakpointHitCallback(
+ void *baton, lldb_private::StoppointCallbackContext *context,
+ lldb::user_id_t break_id, lldb::user_id_t break_loc_id);
+
+ lldb::BreakpointSP m_opaque_sp;
+};
+
+class LLDB_API SBBreakpointList {
+public:
+ SBBreakpointList(SBTarget &target);
+
+ ~SBBreakpointList();
+
+ size_t GetSize() const;
+
+ SBBreakpoint GetBreakpointAtIndex(size_t idx);
+
+ SBBreakpoint FindBreakpointByID(lldb::break_id_t);
+
+ void Append(const SBBreakpoint &sb_file);
+
+ bool AppendIfUnique(const SBBreakpoint &sb_file);
+
+ void AppendByID(lldb::break_id_t id);
+
+ void Clear();
+
+protected:
+ friend class SBTarget;
+
+ void CopyToBreakpointIDList(lldb_private::BreakpointIDList &bp_id_list);
+
+private:
+ std::shared_ptr<SBBreakpointListImpl> m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBBreakpoint_h_
+#endif // LLDB_SBBreakpoint_h_
diff --git a/include/lldb/API/SBBreakpointLocation.h b/include/lldb/API/SBBreakpointLocation.h
index ab7049739c0b..344c39c7bfd3 100644
--- a/include/lldb/API/SBBreakpointLocation.h
+++ b/include/lldb/API/SBBreakpointLocation.h
@@ -10,105 +10,78 @@
#ifndef LLDB_SBBreakpointLocation_h_
#define LLDB_SBBreakpointLocation_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBBreakpoint.h"
+#include "lldb/API/SBDefines.h"
namespace lldb {
-class LLDB_API SBBreakpointLocation
-{
+class LLDB_API SBBreakpointLocation {
public:
+ SBBreakpointLocation();
- SBBreakpointLocation ();
-
- SBBreakpointLocation (const lldb::SBBreakpointLocation &rhs);
-
- ~SBBreakpointLocation ();
-
- const lldb::SBBreakpointLocation &
- operator = (const lldb::SBBreakpointLocation &rhs);
-
- break_id_t
- GetID ();
-
- bool
- IsValid() const;
-
- lldb::SBAddress
- GetAddress ();
-
- lldb::addr_t
- GetLoadAddress ();
-
- void
- SetEnabled(bool enabled);
-
- bool
- IsEnabled ();
-
- uint32_t
- GetIgnoreCount ();
-
- void
- SetIgnoreCount (uint32_t n);
-
- void
- SetCondition (const char *condition);
-
- const char *
- GetCondition ();
-
- void
- SetScriptCallbackFunction (const char *callback_function_name);
-
- SBError
- SetScriptCallbackBody (const char *script_body_text);
-
- void
- SetThreadID (lldb::tid_t sb_thread_id);
-
- lldb::tid_t
- GetThreadID ();
-
- void
- SetThreadIndex (uint32_t index);
-
- uint32_t
- GetThreadIndex() const;
-
- void
- SetThreadName (const char *thread_name);
-
- const char *
- GetThreadName () const;
-
- void
- SetQueueName (const char *queue_name);
-
- const char *
- GetQueueName () const;
-
- bool
- IsResolved ();
-
- bool
- GetDescription (lldb::SBStream &description, DescriptionLevel level);
-
- SBBreakpoint
- GetBreakpoint ();
-
- SBBreakpointLocation (const lldb::BreakpointLocationSP &break_loc_sp);
+ SBBreakpointLocation(const lldb::SBBreakpointLocation &rhs);
-private:
- friend class SBBreakpoint;
+ ~SBBreakpointLocation();
+
+ const lldb::SBBreakpointLocation &
+ operator=(const lldb::SBBreakpointLocation &rhs);
+
+ break_id_t GetID();
+
+ bool IsValid() const;
+
+ lldb::SBAddress GetAddress();
+
+ lldb::addr_t GetLoadAddress();
+
+ void SetEnabled(bool enabled);
+
+ bool IsEnabled();
+
+ uint32_t GetIgnoreCount();
+
+ void SetIgnoreCount(uint32_t n);
+
+ void SetCondition(const char *condition);
+
+ const char *GetCondition();
+
+ void SetScriptCallbackFunction(const char *callback_function_name);
- void
- SetLocation (const lldb::BreakpointLocationSP &break_loc_sp);
+ SBError SetScriptCallbackBody(const char *script_body_text);
+
+ void SetThreadID(lldb::tid_t sb_thread_id);
+
+ lldb::tid_t GetThreadID();
+
+ void SetThreadIndex(uint32_t index);
+
+ uint32_t GetThreadIndex() const;
+
+ void SetThreadName(const char *thread_name);
+
+ const char *GetThreadName() const;
+
+ void SetQueueName(const char *queue_name);
+
+ const char *GetQueueName() const;
+
+ bool IsResolved();
+
+ bool GetDescription(lldb::SBStream &description, DescriptionLevel level);
+
+ SBBreakpoint GetBreakpoint();
+
+ SBBreakpointLocation(const lldb::BreakpointLocationSP &break_loc_sp);
+
+private:
+ friend class SBBreakpoint;
- lldb::BreakpointLocationSP m_opaque_sp;
+ void SetLocation(const lldb::BreakpointLocationSP &break_loc_sp);
+ lldb::BreakpointLocationSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBBreakpointLocation_h_
+#endif // LLDB_SBBreakpointLocation_h_
diff --git a/include/lldb/API/SBBroadcaster.h b/include/lldb/API/SBBroadcaster.h
index 28b6686b79b3..3fc47af65513 100644
--- a/include/lldb/API/SBBroadcaster.h
+++ b/include/lldb/API/SBBroadcaster.h
@@ -14,84 +14,70 @@
namespace lldb {
-class LLDB_API SBBroadcaster
-{
+class LLDB_API SBBroadcaster {
public:
- SBBroadcaster ();
+ SBBroadcaster();
- SBBroadcaster (const char *name);
+ SBBroadcaster(const char *name);
- SBBroadcaster (const SBBroadcaster &rhs);
-
- const SBBroadcaster &
- operator = (const SBBroadcaster &rhs);
+ SBBroadcaster(const SBBroadcaster &rhs);
- ~SBBroadcaster();
+ const SBBroadcaster &operator=(const SBBroadcaster &rhs);
- bool
- IsValid () const;
+ ~SBBroadcaster();
- void
- Clear ();
+ bool IsValid() const;
- void
- BroadcastEventByType (uint32_t event_type, bool unique = false);
+ void Clear();
- void
- BroadcastEvent (const lldb::SBEvent &event, bool unique = false);
+ void BroadcastEventByType(uint32_t event_type, bool unique = false);
- void
- AddInitialEventsToListener (const lldb::SBListener &listener, uint32_t requested_events);
+ void BroadcastEvent(const lldb::SBEvent &event, bool unique = false);
- uint32_t
- AddListener (const lldb::SBListener &listener, uint32_t event_mask);
+ void AddInitialEventsToListener(const lldb::SBListener &listener,
+ uint32_t requested_events);
- const char *
- GetName () const;
+ uint32_t AddListener(const lldb::SBListener &listener, uint32_t event_mask);
- bool
- EventTypeHasListeners (uint32_t event_type);
+ const char *GetName() const;
- bool
- RemoveListener (const lldb::SBListener &listener, uint32_t event_mask = UINT32_MAX);
+ bool EventTypeHasListeners(uint32_t event_type);
- // This comparison is checking if the internal opaque pointer value
- // is equal to that in "rhs".
- bool
- operator == (const lldb::SBBroadcaster &rhs) const;
+ bool RemoveListener(const lldb::SBListener &listener,
+ uint32_t event_mask = UINT32_MAX);
- // This comparison is checking if the internal opaque pointer value
- // is not equal to that in "rhs".
- bool
- operator != (const lldb::SBBroadcaster &rhs) const;
+ // This comparison is checking if the internal opaque pointer value
+ // is equal to that in "rhs".
+ bool operator==(const lldb::SBBroadcaster &rhs) const;
- // This comparison is checking if the internal opaque pointer value
- // is less than that in "rhs" so SBBroadcaster objects can be contained
- // in ordered containers.
- bool
- operator < (const lldb::SBBroadcaster &rhs) const;
+ // This comparison is checking if the internal opaque pointer value
+ // is not equal to that in "rhs".
+ bool operator!=(const lldb::SBBroadcaster &rhs) const;
+
+ // This comparison is checking if the internal opaque pointer value
+ // is less than that in "rhs" so SBBroadcaster objects can be contained
+ // in ordered containers.
+ bool operator<(const lldb::SBBroadcaster &rhs) const;
protected:
- friend class SBCommandInterpreter;
- friend class SBCommunication;
- friend class SBEvent;
- friend class SBListener;
- friend class SBProcess;
- friend class SBTarget;
+ friend class SBCommandInterpreter;
+ friend class SBCommunication;
+ friend class SBEvent;
+ friend class SBListener;
+ friend class SBProcess;
+ friend class SBTarget;
- SBBroadcaster (lldb_private::Broadcaster *broadcaster, bool owns);
+ SBBroadcaster(lldb_private::Broadcaster *broadcaster, bool owns);
- lldb_private::Broadcaster *
- get () const;
+ lldb_private::Broadcaster *get() const;
- void
- reset (lldb_private::Broadcaster *broadcaster, bool owns);
+ void reset(lldb_private::Broadcaster *broadcaster, bool owns);
private:
- lldb::BroadcasterSP m_opaque_sp;
- lldb_private::Broadcaster *m_opaque_ptr;
+ lldb::BroadcasterSP m_opaque_sp;
+ lldb_private::Broadcaster *m_opaque_ptr;
};
} // namespace lldb
-#endif // LLDB_SBBroadcaster_h_
+#endif // LLDB_SBBroadcaster_h_
diff --git a/include/lldb/API/SBCommandInterpreter.h b/include/lldb/API/SBCommandInterpreter.h
index a8e9bf7ed769..f684071740e3 100644
--- a/include/lldb/API/SBCommandInterpreter.h
+++ b/include/lldb/API/SBCommandInterpreter.h
@@ -16,305 +16,267 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBDebugger.h"
+#include "lldb/API/SBDefines.h"
namespace lldb {
-class LLDB_API SBCommandInterpreterRunOptions
-{
-friend class SBDebugger;
-friend class SBCommandInterpreter;
+class LLDB_API SBCommandInterpreterRunOptions {
+ friend class SBDebugger;
+ friend class SBCommandInterpreter;
public:
- SBCommandInterpreterRunOptions();
- ~SBCommandInterpreterRunOptions();
+ SBCommandInterpreterRunOptions();
+ ~SBCommandInterpreterRunOptions();
- bool
- GetStopOnContinue () const;
+ bool GetStopOnContinue() const;
- void
- SetStopOnContinue (bool);
+ void SetStopOnContinue(bool);
- bool
- GetStopOnError () const;
+ bool GetStopOnError() const;
- void
- SetStopOnError (bool);
+ void SetStopOnError(bool);
- bool
- GetStopOnCrash () const;
+ bool GetStopOnCrash() const;
- void
- SetStopOnCrash (bool);
+ void SetStopOnCrash(bool);
- bool
- GetEchoCommands () const;
+ bool GetEchoCommands() const;
- void
- SetEchoCommands (bool);
+ void SetEchoCommands(bool);
- bool
- GetPrintResults () const;
+ bool GetPrintResults() const;
- void
- SetPrintResults (bool);
+ void SetPrintResults(bool);
- bool
- GetAddToHistory () const;
+ bool GetAddToHistory() const;
- void
- SetAddToHistory (bool);
+ void SetAddToHistory(bool);
private:
- lldb_private::CommandInterpreterRunOptions *
- get () const;
+ lldb_private::CommandInterpreterRunOptions *get() const;
- lldb_private::CommandInterpreterRunOptions &
- ref () const;
+ lldb_private::CommandInterpreterRunOptions &ref() const;
- // This is set in the constructor and will always be valid.
- mutable std::unique_ptr<lldb_private::CommandInterpreterRunOptions> m_opaque_up;
+ // This is set in the constructor and will always be valid.
+ mutable std::unique_ptr<lldb_private::CommandInterpreterRunOptions>
+ m_opaque_up;
};
-class SBCommandInterpreter
-{
+class SBCommandInterpreter {
public:
- enum
- {
- eBroadcastBitThreadShouldExit = (1 << 0),
- eBroadcastBitResetPrompt = (1 << 1),
- eBroadcastBitQuitCommandReceived = (1 << 2), // User entered quit
- eBroadcastBitAsynchronousOutputData = (1 << 3),
- eBroadcastBitAsynchronousErrorData = (1 << 4)
- };
-
- SBCommandInterpreter (const lldb::SBCommandInterpreter &rhs);
-
- ~SBCommandInterpreter ();
-
- const lldb::SBCommandInterpreter &
- operator = (const lldb::SBCommandInterpreter &rhs);
-
- static const char *
- GetArgumentTypeAsCString (const lldb::CommandArgumentType arg_type);
-
- static const char *
- GetArgumentDescriptionAsCString (const lldb::CommandArgumentType arg_type);
-
- static bool
- EventIsCommandInterpreterEvent (const lldb::SBEvent &event);
-
- bool
- IsValid() const;
-
- bool
- CommandExists (const char *cmd);
-
- bool
- AliasExists (const char *cmd);
-
- lldb::SBBroadcaster
- GetBroadcaster ();
-
- static const char *
- GetBroadcasterClass ();
-
- bool
- HasCommands ();
-
- bool
- HasAliases ();
-
- bool
- HasAliasOptions ();
-
- lldb::SBProcess
- GetProcess ();
-
- lldb::SBDebugger
- GetDebugger ();
-
- lldb::SBCommand
- AddMultiwordCommand (const char* name, const char* help);
-
- lldb::SBCommand
- AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help);
-
- void
- SourceInitFileInHomeDirectory (lldb::SBCommandReturnObject &result);
-
- void
- SourceInitFileInCurrentWorkingDirectory (lldb::SBCommandReturnObject &result);
-
- lldb::ReturnStatus
- HandleCommand (const char *command_line, lldb::SBCommandReturnObject &result, bool add_to_history = false);
-
- lldb::ReturnStatus
- HandleCommand (const char *command_line, SBExecutionContext &exe_ctx, SBCommandReturnObject &result, bool add_to_history = false);
-
- void
- HandleCommandsFromFile (lldb::SBFileSpec &file,
- lldb::SBExecutionContext &override_context,
- lldb::SBCommandInterpreterRunOptions &options,
- lldb::SBCommandReturnObject result);
-
- // The pointer based interface is not useful in SWIG, since the cursor & last_char arguments are string pointers INTO current_line
- // and you can't do that in a scripting language interface in general...
-
- // In either case, the way this works is that the you give it a line and cursor position in the line. The function
- // will return the number of completions. The matches list will contain number_of_completions + 1 elements. The first
- // element is the common substring after the cursor position for all the matches. The rest of the elements are the
- // matches. The first element is useful if you are emulating the common shell behavior where the tab completes
- // to the string that is common among all the matches, then you should first check if the first element is non-empty,
- // and if so just insert it and move the cursor to the end of the insertion. The next tab will return an empty
- // common substring, and a list of choices (if any), at which point you should display the choices and let the user
- // type further to disambiguate.
-
- int
- HandleCompletion (const char *current_line,
- const char *cursor,
- const char *last_char,
- int match_start_point,
- int max_return_elements,
- lldb::SBStringList &matches);
-
- int
- HandleCompletion (const char *current_line,
- uint32_t cursor_pos,
- int match_start_point,
- int max_return_elements,
- lldb::SBStringList &matches);
-
- // Catch commands before they execute by registering a callback that will
- // get called when the command gets executed. This allows GUI or command
- // line interfaces to intercept a command and stop it from happening
- bool
- SetCommandOverrideCallback (const char *command_name,
- lldb::CommandOverrideCallback callback,
- void *baton);
-
- SBCommandInterpreter(lldb_private::CommandInterpreter *interpreter_ptr = nullptr); // Access using SBDebugger::GetCommandInterpreter();
-
- //----------------------------------------------------------------------
- /// Return true if the command interpreter is the active IO handler.
- ///
- /// This indicates that any input coming into the debugger handles will
- /// go to the command interpreter and will result in LLDB command line
- /// commands being executed.
- //----------------------------------------------------------------------
- bool
- IsActive ();
-
- //----------------------------------------------------------------------
- /// Get the string that needs to be written to the debugger stdin file
- /// handle when a control character is typed.
- ///
- /// Some GUI programs will intercept "control + char" sequences and want
- /// to have them do what normally would happen when using a real
- /// terminal, so this function allows GUI programs to emulate this
- /// functionality.
- ///
- /// @param[in] ch
- /// The character that was typed along with the control key
- ///
- /// @return
- /// The string that should be written into the file handle that is
- /// feeding the input stream for the debugger, or nullptr if there is
- /// no string for this control key.
- //----------------------------------------------------------------------
- const char *
- GetIOHandlerControlSequence(char ch);
-
- bool
- GetPromptOnQuit();
-
- void
- SetPromptOnQuit(bool b);
-
- //----------------------------------------------------------------------
- /// Resolve the command just as HandleCommand would, expanding abbreviations
- /// and aliases. If successful, result->GetOutput has the full expansion.
- //----------------------------------------------------------------------
- void
- ResolveCommand(const char *command_line, SBCommandReturnObject &result);
+ enum {
+ eBroadcastBitThreadShouldExit = (1 << 0),
+ eBroadcastBitResetPrompt = (1 << 1),
+ eBroadcastBitQuitCommandReceived = (1 << 2), // User entered quit
+ eBroadcastBitAsynchronousOutputData = (1 << 3),
+ eBroadcastBitAsynchronousErrorData = (1 << 4)
+ };
+
+ SBCommandInterpreter(const lldb::SBCommandInterpreter &rhs);
+
+ ~SBCommandInterpreter();
+
+ const lldb::SBCommandInterpreter &
+ operator=(const lldb::SBCommandInterpreter &rhs);
+
+ static const char *
+ GetArgumentTypeAsCString(const lldb::CommandArgumentType arg_type);
+
+ static const char *
+ GetArgumentDescriptionAsCString(const lldb::CommandArgumentType arg_type);
+
+ static bool EventIsCommandInterpreterEvent(const lldb::SBEvent &event);
+
+ bool IsValid() const;
+
+ bool CommandExists(const char *cmd);
+
+ bool AliasExists(const char *cmd);
+
+ lldb::SBBroadcaster GetBroadcaster();
+
+ static const char *GetBroadcasterClass();
+
+ bool HasCommands();
+
+ bool HasAliases();
+
+ bool HasAliasOptions();
+
+ lldb::SBProcess GetProcess();
+
+ lldb::SBDebugger GetDebugger();
+
+ lldb::SBCommand AddMultiwordCommand(const char *name, const char *help);
+
+ lldb::SBCommand AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help);
+
+ lldb::SBCommand AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help, const char *syntax);
+
+ void SourceInitFileInHomeDirectory(lldb::SBCommandReturnObject &result);
+
+ void
+ SourceInitFileInCurrentWorkingDirectory(lldb::SBCommandReturnObject &result);
+
+ lldb::ReturnStatus HandleCommand(const char *command_line,
+ lldb::SBCommandReturnObject &result,
+ bool add_to_history = false);
+
+ lldb::ReturnStatus HandleCommand(const char *command_line,
+ SBExecutionContext &exe_ctx,
+ SBCommandReturnObject &result,
+ bool add_to_history = false);
+
+ void HandleCommandsFromFile(lldb::SBFileSpec &file,
+ lldb::SBExecutionContext &override_context,
+ lldb::SBCommandInterpreterRunOptions &options,
+ lldb::SBCommandReturnObject result);
+
+ // The pointer based interface is not useful in SWIG, since the cursor &
+ // last_char arguments are string pointers INTO current_line
+ // and you can't do that in a scripting language interface in general...
+
+ // In either case, the way this works is that the you give it a line and
+ // cursor position in the line. The function
+ // will return the number of completions. The matches list will contain
+ // number_of_completions + 1 elements. The first
+ // element is the common substring after the cursor position for all the
+ // matches. The rest of the elements are the
+ // matches. The first element is useful if you are emulating the common shell
+ // behavior where the tab completes
+ // to the string that is common among all the matches, then you should first
+ // check if the first element is non-empty,
+ // and if so just insert it and move the cursor to the end of the insertion.
+ // The next tab will return an empty
+ // common substring, and a list of choices (if any), at which point you should
+ // display the choices and let the user
+ // type further to disambiguate.
+
+ int HandleCompletion(const char *current_line, const char *cursor,
+ const char *last_char, int match_start_point,
+ int max_return_elements, lldb::SBStringList &matches);
+
+ int HandleCompletion(const char *current_line, uint32_t cursor_pos,
+ int match_start_point, int max_return_elements,
+ lldb::SBStringList &matches);
+
+ // Catch commands before they execute by registering a callback that will
+ // get called when the command gets executed. This allows GUI or command
+ // line interfaces to intercept a command and stop it from happening
+ bool SetCommandOverrideCallback(const char *command_name,
+ lldb::CommandOverrideCallback callback,
+ void *baton);
+
+ SBCommandInterpreter(
+ lldb_private::CommandInterpreter *interpreter_ptr =
+ nullptr); // Access using SBDebugger::GetCommandInterpreter();
+
+ //----------------------------------------------------------------------
+ /// Return true if the command interpreter is the active IO handler.
+ ///
+ /// This indicates that any input coming into the debugger handles will
+ /// go to the command interpreter and will result in LLDB command line
+ /// commands being executed.
+ //----------------------------------------------------------------------
+ bool IsActive();
+
+ //----------------------------------------------------------------------
+ /// Get the string that needs to be written to the debugger stdin file
+ /// handle when a control character is typed.
+ ///
+ /// Some GUI programs will intercept "control + char" sequences and want
+ /// to have them do what normally would happen when using a real
+ /// terminal, so this function allows GUI programs to emulate this
+ /// functionality.
+ ///
+ /// @param[in] ch
+ /// The character that was typed along with the control key
+ ///
+ /// @return
+ /// The string that should be written into the file handle that is
+ /// feeding the input stream for the debugger, or nullptr if there is
+ /// no string for this control key.
+ //----------------------------------------------------------------------
+ const char *GetIOHandlerControlSequence(char ch);
+
+ bool GetPromptOnQuit();
+
+ void SetPromptOnQuit(bool b);
+
+ //----------------------------------------------------------------------
+ /// Resolve the command just as HandleCommand would, expanding abbreviations
+ /// and aliases. If successful, result->GetOutput has the full expansion.
+ //----------------------------------------------------------------------
+ void ResolveCommand(const char *command_line, SBCommandReturnObject &result);
protected:
- lldb_private::CommandInterpreter &
- ref ();
+ lldb_private::CommandInterpreter &ref();
- lldb_private::CommandInterpreter *
- get ();
+ lldb_private::CommandInterpreter *get();
- void
- reset (lldb_private::CommandInterpreter *);
+ void reset(lldb_private::CommandInterpreter *);
private:
- friend class SBDebugger;
+ friend class SBDebugger;
- static void
- InitializeSWIG ();
+ static void InitializeSWIG();
- lldb_private::CommandInterpreter *m_opaque_ptr;
+ lldb_private::CommandInterpreter *m_opaque_ptr;
};
-class SBCommandPluginInterface
-{
+class SBCommandPluginInterface {
public:
- virtual
- ~SBCommandPluginInterface() = default;
-
- virtual bool
- DoExecute (lldb::SBDebugger /*debugger*/,
- char** /*command*/,
- lldb::SBCommandReturnObject & /*result*/)
- {
- return false;
- }
+ virtual ~SBCommandPluginInterface() = default;
+
+ virtual bool DoExecute(lldb::SBDebugger /*debugger*/, char ** /*command*/,
+ lldb::SBCommandReturnObject & /*result*/) {
+ return false;
+ }
};
-
-class SBCommand
-{
+
+class SBCommand {
public:
- SBCommand ();
-
- bool
- IsValid ();
-
- const char*
- GetName ();
-
- const char*
- GetHelp ();
-
- const char*
- GetHelpLong ();
-
- void
- SetHelp (const char*);
-
- void
- SetHelpLong (const char*);
-
- uint32_t
- GetFlags ();
-
- void
- SetFlags (uint32_t flags);
-
- lldb::SBCommand
- AddMultiwordCommand(const char* name, const char* help = nullptr);
-
- lldb::SBCommand
- AddCommand(const char* name, lldb::SBCommandPluginInterface* impl, const char* help = nullptr);
-
+ SBCommand();
+
+ bool IsValid();
+
+ const char *GetName();
+
+ const char *GetHelp();
+
+ const char *GetHelpLong();
+
+ void SetHelp(const char *);
+
+ void SetHelpLong(const char *);
+
+ uint32_t GetFlags();
+
+ void SetFlags(uint32_t flags);
+
+ lldb::SBCommand AddMultiwordCommand(const char *name,
+ const char *help = nullptr);
+
+ lldb::SBCommand AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help = nullptr);
+
+ lldb::SBCommand AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help, const char *syntax);
+
private:
- friend class SBDebugger;
- friend class SBCommandInterpreter;
-
- SBCommand (lldb::CommandObjectSP cmd_sp);
-
- lldb::CommandObjectSP m_opaque_sp;
+ friend class SBDebugger;
+ friend class SBCommandInterpreter;
+
+ SBCommand(lldb::CommandObjectSP cmd_sp);
+
+ lldb::CommandObjectSP m_opaque_sp;
};
} // namespace lldb
diff --git a/include/lldb/API/SBCommandReturnObject.h b/include/lldb/API/SBCommandReturnObject.h
index 2b7cce5ded59..c73e3f7cf1f2 100644
--- a/include/lldb/API/SBCommandReturnObject.h
+++ b/include/lldb/API/SBCommandReturnObject.h
@@ -22,122 +22,90 @@
namespace lldb {
-class LLDB_API SBCommandReturnObject
-{
+class LLDB_API SBCommandReturnObject {
public:
- SBCommandReturnObject ();
-
- SBCommandReturnObject (const lldb::SBCommandReturnObject &rhs);
-
- ~SBCommandReturnObject ();
-
- const lldb::SBCommandReturnObject &
- operator = (const lldb::SBCommandReturnObject &rhs);
-
- SBCommandReturnObject (lldb_private::CommandReturnObject *ptr);
-
- lldb_private::CommandReturnObject *
- Release ();
-
- bool
- IsValid() const;
-
- const char *
- GetOutput ();
-
- const char *
- GetError ();
-
- size_t
- PutOutput (FILE *fh);
-
- size_t
- GetOutputSize ();
-
- size_t
- GetErrorSize ();
-
- size_t
- PutError (FILE *fh);
-
- void
- Clear();
-
- lldb::ReturnStatus
- GetStatus();
-
- void
- SetStatus (lldb::ReturnStatus status);
-
- bool
- Succeeded ();
-
- bool
- HasResult ();
-
- void
- AppendMessage (const char *message);
-
- void
- AppendWarning (const char *message);
-
- bool
- GetDescription (lldb::SBStream &description);
-
- // deprecated, these two functions do not take
- // ownership of file handle
- void
- SetImmediateOutputFile (FILE *fh);
-
- void
- SetImmediateErrorFile (FILE *fh);
-
- void
- SetImmediateOutputFile (FILE *fh, bool transfer_ownership);
-
- void
- SetImmediateErrorFile (FILE *fh, bool transfer_ownership);
-
- void
- PutCString(const char* string, int len = -1);
-
- size_t
- Printf(const char* format, ...) __attribute__ ((format (printf, 2, 3)));
-
- const char *
- GetOutput (bool only_if_no_immediate);
-
- const char *
- GetError (bool only_if_no_immediate);
-
- void
- SetError(lldb::SBError &error,
- const char *fallback_error_cstr = nullptr);
-
- void
- SetError (const char* error_cstr);
-
+ SBCommandReturnObject();
+
+ SBCommandReturnObject(const lldb::SBCommandReturnObject &rhs);
+
+ ~SBCommandReturnObject();
+
+ const lldb::SBCommandReturnObject &
+ operator=(const lldb::SBCommandReturnObject &rhs);
+
+ SBCommandReturnObject(lldb_private::CommandReturnObject *ptr);
+
+ lldb_private::CommandReturnObject *Release();
+
+ bool IsValid() const;
+
+ const char *GetOutput();
+
+ const char *GetError();
+
+ size_t PutOutput(FILE *fh);
+
+ size_t GetOutputSize();
+
+ size_t GetErrorSize();
+
+ size_t PutError(FILE *fh);
+
+ void Clear();
+
+ lldb::ReturnStatus GetStatus();
+
+ void SetStatus(lldb::ReturnStatus status);
+
+ bool Succeeded();
+
+ bool HasResult();
+
+ void AppendMessage(const char *message);
+
+ void AppendWarning(const char *message);
+
+ bool GetDescription(lldb::SBStream &description);
+
+ // deprecated, these two functions do not take
+ // ownership of file handle
+ void SetImmediateOutputFile(FILE *fh);
+
+ void SetImmediateErrorFile(FILE *fh);
+
+ void SetImmediateOutputFile(FILE *fh, bool transfer_ownership);
+
+ void SetImmediateErrorFile(FILE *fh, bool transfer_ownership);
+
+ void PutCString(const char *string, int len = -1);
+
+ size_t Printf(const char *format, ...) __attribute__((format(printf, 2, 3)));
+
+ const char *GetOutput(bool only_if_no_immediate);
+
+ const char *GetError(bool only_if_no_immediate);
+
+ void SetError(lldb::SBError &error,
+ const char *fallback_error_cstr = nullptr);
+
+ void SetError(const char *error_cstr);
+
protected:
- friend class SBCommandInterpreter;
- friend class SBOptions;
+ friend class SBCommandInterpreter;
+ friend class SBOptions;
- lldb_private::CommandReturnObject *
- operator->() const;
+ lldb_private::CommandReturnObject *operator->() const;
- lldb_private::CommandReturnObject *
- get() const;
+ lldb_private::CommandReturnObject *get() const;
- lldb_private::CommandReturnObject &
- operator*() const;
+ lldb_private::CommandReturnObject &operator*() const;
- lldb_private::CommandReturnObject &
- ref() const;
+ lldb_private::CommandReturnObject &ref() const;
- void
- SetLLDBObjectPtr (lldb_private::CommandReturnObject *ptr);
+ void SetLLDBObjectPtr(lldb_private::CommandReturnObject *ptr);
private:
- std::unique_ptr<lldb_private::CommandReturnObject> m_opaque_ap;
+ std::unique_ptr<lldb_private::CommandReturnObject> m_opaque_ap;
};
} // namespace lldb
diff --git a/include/lldb/API/SBCommunication.h b/include/lldb/API/SBCommunication.h
index c4b2709de8ab..f0016275b634 100644
--- a/include/lldb/API/SBCommunication.h
+++ b/include/lldb/API/SBCommunication.h
@@ -15,86 +15,68 @@
namespace lldb {
-class LLDB_API SBCommunication
-{
+class LLDB_API SBCommunication {
public:
- FLAGS_ANONYMOUS_ENUM()
- {
- eBroadcastBitDisconnected = (1 << 0), ///< Sent when the communications connection is lost.
- eBroadcastBitReadThreadGotBytes = (1 << 1), ///< Sent by the read thread when bytes become available.
- eBroadcastBitReadThreadDidExit = (1 << 2), ///< Sent by the read thread when it exits to inform clients.
- eBroadcastBitReadThreadShouldExit = (1 << 3), ///< Sent by clients that need to cancel the read thread.
- eBroadcastBitPacketAvailable = (1 << 4), ///< Sent when data received makes a complete packet.
- eAllEventBits = 0xffffffff
- };
+ FLAGS_ANONYMOUS_ENUM(){
+ eBroadcastBitDisconnected =
+ (1 << 0), ///< Sent when the communications connection is lost.
+ eBroadcastBitReadThreadGotBytes =
+ (1 << 1), ///< Sent by the read thread when bytes become available.
+ eBroadcastBitReadThreadDidExit =
+ (1
+ << 2), ///< Sent by the read thread when it exits to inform clients.
+ eBroadcastBitReadThreadShouldExit =
+ (1 << 3), ///< Sent by clients that need to cancel the read thread.
+ eBroadcastBitPacketAvailable =
+ (1 << 4), ///< Sent when data received makes a complete packet.
+ eAllEventBits = 0xffffffff};
- typedef void (*ReadThreadBytesReceived) (void *baton, const void *src, size_t src_len);
+ typedef void (*ReadThreadBytesReceived)(void *baton, const void *src,
+ size_t src_len);
- SBCommunication ();
- SBCommunication (const char * broadcaster_name);
- ~SBCommunication ();
+ SBCommunication();
+ SBCommunication(const char *broadcaster_name);
+ ~SBCommunication();
+ bool IsValid() const;
- bool
- IsValid () const;
+ lldb::SBBroadcaster GetBroadcaster();
- lldb::SBBroadcaster
- GetBroadcaster ();
-
- static const char *GetBroadcasterClass();
+ static const char *GetBroadcasterClass();
- lldb::ConnectionStatus
- AdoptFileDesriptor (int fd, bool owns_fd);
+ lldb::ConnectionStatus AdoptFileDesriptor(int fd, bool owns_fd);
- lldb::ConnectionStatus
- Connect (const char *url);
+ lldb::ConnectionStatus Connect(const char *url);
- lldb::ConnectionStatus
- Disconnect ();
+ lldb::ConnectionStatus Disconnect();
- bool
- IsConnected () const;
+ bool IsConnected() const;
- bool
- GetCloseOnEOF ();
+ bool GetCloseOnEOF();
- void
- SetCloseOnEOF (bool b);
+ void SetCloseOnEOF(bool b);
- size_t
- Read (void *dst,
- size_t dst_len,
- uint32_t timeout_usec,
- lldb::ConnectionStatus &status);
+ size_t Read(void *dst, size_t dst_len, uint32_t timeout_usec,
+ lldb::ConnectionStatus &status);
- size_t
- Write (const void *src,
- size_t src_len,
- lldb::ConnectionStatus &status);
+ size_t Write(const void *src, size_t src_len, lldb::ConnectionStatus &status);
- bool
- ReadThreadStart ();
+ bool ReadThreadStart();
- bool
- ReadThreadStop ();
+ bool ReadThreadStop();
- bool
- ReadThreadIsRunning ();
-
- bool
- SetReadThreadBytesReceivedCallback (ReadThreadBytesReceived callback,
- void *callback_baton);
+ bool ReadThreadIsRunning();
+ bool SetReadThreadBytesReceivedCallback(ReadThreadBytesReceived callback,
+ void *callback_baton);
private:
+ DISALLOW_COPY_AND_ASSIGN(SBCommunication);
- DISALLOW_COPY_AND_ASSIGN (SBCommunication);
-
- lldb_private::Communication *m_opaque;
- bool m_opaque_owned;
+ lldb_private::Communication *m_opaque;
+ bool m_opaque_owned;
};
-
} // namespace lldb
#endif // LLDB_SBCommunication_h_
diff --git a/include/lldb/API/SBCompileUnit.h b/include/lldb/API/SBCompileUnit.h
index a53d556679c4..4d5f9f36f246 100644
--- a/include/lldb/API/SBCompileUnit.h
+++ b/include/lldb/API/SBCompileUnit.h
@@ -15,104 +15,81 @@
namespace lldb {
-class LLDB_API SBCompileUnit
-{
+class LLDB_API SBCompileUnit {
public:
+ SBCompileUnit();
- SBCompileUnit ();
-
- SBCompileUnit (const lldb::SBCompileUnit &rhs);
-
- ~SBCompileUnit ();
-
- const lldb::SBCompileUnit &
- operator = (const lldb::SBCompileUnit &rhs);
-
- bool
- IsValid () const;
-
- lldb::SBFileSpec
- GetFileSpec () const;
-
- uint32_t
- GetNumLineEntries () const;
-
- lldb::SBLineEntry
- GetLineEntryAtIndex (uint32_t idx) const;
-
- uint32_t
- FindLineEntryIndex (uint32_t start_idx,
- uint32_t line,
- lldb::SBFileSpec *inline_file_spec) const;
-
- uint32_t
- FindLineEntryIndex (uint32_t start_idx,
- uint32_t line,
- lldb::SBFileSpec *inline_file_spec,
- bool exact) const;
-
- SBFileSpec
- GetSupportFileAtIndex (uint32_t idx) const;
-
- uint32_t
- GetNumSupportFiles () const;
-
- uint32_t
- FindSupportFileIndex (uint32_t start_idx, const SBFileSpec &sb_file, bool full);
-
- //------------------------------------------------------------------
- /// Get all types matching \a type_mask from debug info in this
- /// compile unit.
- ///
- /// @param[in] type_mask
- /// A bitfield that consists of one or more bits logically OR'ed
- /// together from the lldb::TypeClass enumeration. This allows
- /// you to request only structure types, or only class, struct
- /// and union types. Passing in lldb::eTypeClassAny will return
- /// all types found in the debug information for this compile
- /// unit.
- ///
- /// @return
- /// A list of types in this compile unit that match \a type_mask
- //------------------------------------------------------------------
- lldb::SBTypeList
- GetTypes (uint32_t type_mask = lldb::eTypeClassAny);
-
- lldb::LanguageType
- GetLanguage ();
-
- bool
- operator == (const lldb::SBCompileUnit &rhs) const;
-
- bool
- operator != (const lldb::SBCompileUnit &rhs) const;
-
- bool
- GetDescription (lldb::SBStream &description);
+ SBCompileUnit(const lldb::SBCompileUnit &rhs);
+
+ ~SBCompileUnit();
+
+ const lldb::SBCompileUnit &operator=(const lldb::SBCompileUnit &rhs);
+
+ bool IsValid() const;
+
+ lldb::SBFileSpec GetFileSpec() const;
+
+ uint32_t GetNumLineEntries() const;
+
+ lldb::SBLineEntry GetLineEntryAtIndex(uint32_t idx) const;
+
+ uint32_t FindLineEntryIndex(uint32_t start_idx, uint32_t line,
+ lldb::SBFileSpec *inline_file_spec) const;
+
+ uint32_t FindLineEntryIndex(uint32_t start_idx, uint32_t line,
+ lldb::SBFileSpec *inline_file_spec,
+ bool exact) const;
+
+ SBFileSpec GetSupportFileAtIndex(uint32_t idx) const;
+
+ uint32_t GetNumSupportFiles() const;
+
+ uint32_t FindSupportFileIndex(uint32_t start_idx, const SBFileSpec &sb_file,
+ bool full);
+
+ //------------------------------------------------------------------
+ /// Get all types matching \a type_mask from debug info in this
+ /// compile unit.
+ ///
+ /// @param[in] type_mask
+ /// A bitfield that consists of one or more bits logically OR'ed
+ /// together from the lldb::TypeClass enumeration. This allows
+ /// you to request only structure types, or only class, struct
+ /// and union types. Passing in lldb::eTypeClassAny will return
+ /// all types found in the debug information for this compile
+ /// unit.
+ ///
+ /// @return
+ /// A list of types in this compile unit that match \a type_mask
+ //------------------------------------------------------------------
+ lldb::SBTypeList GetTypes(uint32_t type_mask = lldb::eTypeClassAny);
+
+ lldb::LanguageType GetLanguage();
+
+ bool operator==(const lldb::SBCompileUnit &rhs) const;
+
+ bool operator!=(const lldb::SBCompileUnit &rhs) const;
+
+ bool GetDescription(lldb::SBStream &description);
private:
- friend class SBAddress;
- friend class SBFrame;
- friend class SBSymbolContext;
- friend class SBModule;
-
- SBCompileUnit (lldb_private::CompileUnit *lldb_object_ptr);
-
- const lldb_private::CompileUnit *
- operator->() const;
-
- const lldb_private::CompileUnit &
- operator*() const;
-
- lldb_private::CompileUnit *
- get ();
-
- void
- reset (lldb_private::CompileUnit *lldb_object_ptr);
-
- lldb_private::CompileUnit *m_opaque_ptr;
-};
+ friend class SBAddress;
+ friend class SBFrame;
+ friend class SBSymbolContext;
+ friend class SBModule;
+
+ SBCompileUnit(lldb_private::CompileUnit *lldb_object_ptr);
+ const lldb_private::CompileUnit *operator->() const;
+
+ const lldb_private::CompileUnit &operator*() const;
+
+ lldb_private::CompileUnit *get();
+
+ void reset(lldb_private::CompileUnit *lldb_object_ptr);
+
+ lldb_private::CompileUnit *m_opaque_ptr;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBData.h b/include/lldb/API/SBData.h
index a2bd72fad570..7aa4ea0ff8d0 100644
--- a/include/lldb/API/SBData.h
+++ b/include/lldb/API/SBData.h
@@ -14,168 +14,143 @@
namespace lldb {
-class LLDB_API SBData
-{
+class LLDB_API SBData {
public:
+ SBData();
+
+ SBData(const SBData &rhs);
+
+ const SBData &operator=(const SBData &rhs);
+
+ ~SBData();
+
+ uint8_t GetAddressByteSize();
+
+ void SetAddressByteSize(uint8_t addr_byte_size);
+
+ void Clear();
+
+ bool IsValid();
+
+ size_t GetByteSize();
+
+ lldb::ByteOrder GetByteOrder();
+
+ void SetByteOrder(lldb::ByteOrder endian);
+
+ float GetFloat(lldb::SBError &error, lldb::offset_t offset);
+
+ double GetDouble(lldb::SBError &error, lldb::offset_t offset);
+
+ long double GetLongDouble(lldb::SBError &error, lldb::offset_t offset);
+
+ lldb::addr_t GetAddress(lldb::SBError &error, lldb::offset_t offset);
+
+ uint8_t GetUnsignedInt8(lldb::SBError &error, lldb::offset_t offset);
+
+ uint16_t GetUnsignedInt16(lldb::SBError &error, lldb::offset_t offset);
+
+ uint32_t GetUnsignedInt32(lldb::SBError &error, lldb::offset_t offset);
+
+ uint64_t GetUnsignedInt64(lldb::SBError &error, lldb::offset_t offset);
+
+ int8_t GetSignedInt8(lldb::SBError &error, lldb::offset_t offset);
+
+ int16_t GetSignedInt16(lldb::SBError &error, lldb::offset_t offset);
+
+ int32_t GetSignedInt32(lldb::SBError &error, lldb::offset_t offset);
+
+ int64_t GetSignedInt64(lldb::SBError &error, lldb::offset_t offset);
+
+ const char *GetString(lldb::SBError &error, lldb::offset_t offset);
+
+ size_t ReadRawData(lldb::SBError &error, lldb::offset_t offset, void *buf,
+ size_t size);
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::addr_t base_addr = LLDB_INVALID_ADDRESS);
+
+ // it would be nice to have SetData(SBError, const void*, size_t) when
+ // endianness and address size can be
+ // inferred from the existing DataExtractor, but having two SetData()
+ // signatures triggers a SWIG bug where
+ // the typemap isn't applied before resolving the overload, and thus the right
+ // function never gets called
+ void SetData(lldb::SBError &error, const void *buf, size_t size,
+ lldb::ByteOrder endian, uint8_t addr_size);
+
+ // see SetData() for why we don't have Append(const void* buf, size_t size)
+ bool Append(const SBData &rhs);
+
+ static lldb::SBData CreateDataFromCString(lldb::ByteOrder endian,
+ uint32_t addr_byte_size,
+ const char *data);
+
+ // in the following CreateData*() and SetData*() prototypes, the two
+ // parameters array and array_len
+ // should not be renamed or rearranged, because doing so will break the SWIG
+ // typemap
+ static lldb::SBData CreateDataFromUInt64Array(lldb::ByteOrder endian,
+ uint32_t addr_byte_size,
+ uint64_t *array,
+ size_t array_len);
+
+ static lldb::SBData CreateDataFromUInt32Array(lldb::ByteOrder endian,
+ uint32_t addr_byte_size,
+ uint32_t *array,
+ size_t array_len);
+
+ static lldb::SBData CreateDataFromSInt64Array(lldb::ByteOrder endian,
+ uint32_t addr_byte_size,
+ int64_t *array,
+ size_t array_len);
+
+ static lldb::SBData CreateDataFromSInt32Array(lldb::ByteOrder endian,
+ uint32_t addr_byte_size,
+ int32_t *array,
+ size_t array_len);
+
+ static lldb::SBData CreateDataFromDoubleArray(lldb::ByteOrder endian,
+ uint32_t addr_byte_size,
+ double *array,
+ size_t array_len);
+
+ bool SetDataFromCString(const char *data);
+
+ bool SetDataFromUInt64Array(uint64_t *array, size_t array_len);
+
+ bool SetDataFromUInt32Array(uint32_t *array, size_t array_len);
+
+ bool SetDataFromSInt64Array(int64_t *array, size_t array_len);
+
+ bool SetDataFromSInt32Array(int32_t *array, size_t array_len);
+
+ bool SetDataFromDoubleArray(double *array, size_t array_len);
- SBData ();
-
- SBData (const SBData &rhs);
-
- const SBData &
- operator = (const SBData &rhs);
-
- ~SBData ();
-
- uint8_t
- GetAddressByteSize ();
-
- void
- SetAddressByteSize (uint8_t addr_byte_size);
-
- void
- Clear ();
-
- bool
- IsValid();
-
- size_t
- GetByteSize ();
-
- lldb::ByteOrder
- GetByteOrder();
-
- void
- SetByteOrder (lldb::ByteOrder endian);
-
- float
- GetFloat (lldb::SBError& error, lldb::offset_t offset);
-
- double
- GetDouble (lldb::SBError& error, lldb::offset_t offset);
-
- long double
- GetLongDouble (lldb::SBError& error, lldb::offset_t offset);
-
- lldb::addr_t
- GetAddress (lldb::SBError& error, lldb::offset_t offset);
-
- uint8_t
- GetUnsignedInt8 (lldb::SBError& error, lldb::offset_t offset);
-
- uint16_t
- GetUnsignedInt16 (lldb::SBError& error, lldb::offset_t offset);
-
- uint32_t
- GetUnsignedInt32 (lldb::SBError& error, lldb::offset_t offset);
-
- uint64_t
- GetUnsignedInt64 (lldb::SBError& error, lldb::offset_t offset);
-
- int8_t
- GetSignedInt8 (lldb::SBError& error, lldb::offset_t offset);
-
- int16_t
- GetSignedInt16 (lldb::SBError& error, lldb::offset_t offset);
-
- int32_t
- GetSignedInt32 (lldb::SBError& error, lldb::offset_t offset);
-
- int64_t
- GetSignedInt64 (lldb::SBError& error, lldb::offset_t offset);
-
- const char*
- GetString (lldb::SBError& error, lldb::offset_t offset);
-
- size_t
- ReadRawData (lldb::SBError& error,
- lldb::offset_t offset,
- void *buf,
- size_t size);
-
- bool
- GetDescription (lldb::SBStream &description, lldb::addr_t base_addr = LLDB_INVALID_ADDRESS);
-
- // it would be nice to have SetData(SBError, const void*, size_t) when endianness and address size can be
- // inferred from the existing DataExtractor, but having two SetData() signatures triggers a SWIG bug where
- // the typemap isn't applied before resolving the overload, and thus the right function never gets called
- void
- SetData (lldb::SBError& error, const void *buf, size_t size, lldb::ByteOrder endian, uint8_t addr_size);
-
- // see SetData() for why we don't have Append(const void* buf, size_t size)
- bool
- Append (const SBData& rhs);
-
- static lldb::SBData
- CreateDataFromCString (lldb::ByteOrder endian, uint32_t addr_byte_size, const char* data);
-
- // in the following CreateData*() and SetData*() prototypes, the two parameters array and array_len
- // should not be renamed or rearranged, because doing so will break the SWIG typemap
- static lldb::SBData
- CreateDataFromUInt64Array (lldb::ByteOrder endian, uint32_t addr_byte_size, uint64_t* array, size_t array_len);
-
- static lldb::SBData
- CreateDataFromUInt32Array (lldb::ByteOrder endian, uint32_t addr_byte_size, uint32_t* array, size_t array_len);
-
- static lldb::SBData
- CreateDataFromSInt64Array (lldb::ByteOrder endian, uint32_t addr_byte_size, int64_t* array, size_t array_len);
-
- static lldb::SBData
- CreateDataFromSInt32Array (lldb::ByteOrder endian, uint32_t addr_byte_size, int32_t* array, size_t array_len);
-
- static lldb::SBData
- CreateDataFromDoubleArray (lldb::ByteOrder endian, uint32_t addr_byte_size, double* array, size_t array_len);
-
- bool
- SetDataFromCString (const char* data);
-
- bool
- SetDataFromUInt64Array (uint64_t* array, size_t array_len);
-
- bool
- SetDataFromUInt32Array (uint32_t* array, size_t array_len);
-
- bool
- SetDataFromSInt64Array (int64_t* array, size_t array_len);
-
- bool
- SetDataFromSInt32Array (int32_t* array, size_t array_len);
-
- bool
- SetDataFromDoubleArray (double* array, size_t array_len);
-
-
protected:
-
- // Mimic shared pointer...
- lldb_private::DataExtractor *
- get() const;
-
- lldb_private::DataExtractor *
- operator->() const;
-
- lldb::DataExtractorSP &
- operator*();
-
- const lldb::DataExtractorSP &
- operator*() const;
-
- SBData (const lldb::DataExtractorSP &data_sp);
-
- void
- SetOpaque (const lldb::DataExtractorSP &data_sp);
+ // Mimic shared pointer...
+ lldb_private::DataExtractor *get() const;
+
+ lldb_private::DataExtractor *operator->() const;
+
+ lldb::DataExtractorSP &operator*();
+
+ const lldb::DataExtractorSP &operator*() const;
+
+ SBData(const lldb::DataExtractorSP &data_sp);
+
+ void SetOpaque(const lldb::DataExtractorSP &data_sp);
private:
- friend class SBInstruction;
- friend class SBProcess;
- friend class SBSection;
- friend class SBTarget;
- friend class SBValue;
+ friend class SBInstruction;
+ friend class SBProcess;
+ friend class SBSection;
+ friend class SBTarget;
+ friend class SBValue;
- lldb::DataExtractorSP m_opaque_sp;
+ lldb::DataExtractorSP m_opaque_sp;
};
-
} // namespace lldb
#endif // LLDB_SBData_h_
diff --git a/include/lldb/API/SBDebugger.h b/include/lldb/API/SBDebugger.h
index 7588cfc9ec42..9084943b9131 100644
--- a/include/lldb/API/SBDebugger.h
+++ b/include/lldb/API/SBDebugger.h
@@ -16,349 +16,255 @@
#include "lldb/API/SBPlatform.h"
namespace lldb {
-
-class LLDB_API SBInputReader
-{
-public:
- SBInputReader() = default;
- ~SBInputReader() = default;
- SBError Initialize(lldb::SBDebugger&, unsigned long (*)(void*, lldb::SBInputReader*, lldb::InputReaderAction, char const*, unsigned long), void*, lldb::InputReaderGranularity, char const*, char const*, bool);
- void SetIsDone(bool);
- bool IsActive() const;
+class LLDB_API SBInputReader {
+public:
+ SBInputReader() = default;
+ ~SBInputReader() = default;
+
+ SBError Initialize(lldb::SBDebugger &,
+ unsigned long (*)(void *, lldb::SBInputReader *,
+ lldb::InputReaderAction, char const *,
+ unsigned long),
+ void *, lldb::InputReaderGranularity, char const *,
+ char const *, bool);
+ void SetIsDone(bool);
+ bool IsActive() const;
};
-class LLDB_API SBDebugger
-{
+class LLDB_API SBDebugger {
public:
- SBDebugger();
+ SBDebugger();
+
+ SBDebugger(const lldb::SBDebugger &rhs);
+
+ SBDebugger(const lldb::DebuggerSP &debugger_sp);
+
+ ~SBDebugger();
+
+ lldb::SBDebugger &operator=(const lldb::SBDebugger &rhs);
+
+ static void Initialize();
+
+ static void Terminate();
+
+ // Deprecated, use the one that takes a source_init_files bool.
+ static lldb::SBDebugger Create();
+
+ static lldb::SBDebugger Create(bool source_init_files);
+
+ static lldb::SBDebugger Create(bool source_init_files,
+ lldb::LogOutputCallback log_callback,
+ void *baton);
+
+ static void Destroy(lldb::SBDebugger &debugger);
+
+ static void MemoryPressureDetected();
+
+ bool IsValid() const;
+
+ void Clear();
+
+ void SetAsync(bool b);
+
+ bool GetAsync();
+
+ void SkipLLDBInitFiles(bool b);
+
+ void SkipAppInitFiles(bool b);
+
+ void SetInputFileHandle(FILE *f, bool transfer_ownership);
+
+ void SetOutputFileHandle(FILE *f, bool transfer_ownership);
+
+ void SetErrorFileHandle(FILE *f, bool transfer_ownership);
+
+ FILE *GetInputFileHandle();
+
+ FILE *GetOutputFileHandle();
+
+ FILE *GetErrorFileHandle();
+
+ void SaveInputTerminalState();
+
+ void RestoreInputTerminalState();
+
+ lldb::SBCommandInterpreter GetCommandInterpreter();
+
+ void HandleCommand(const char *command);
+
+ lldb::SBListener GetListener();
- SBDebugger(const lldb::SBDebugger &rhs);
+ void HandleProcessEvent(const lldb::SBProcess &process,
+ const lldb::SBEvent &event, FILE *out, FILE *err);
- SBDebugger(const lldb::DebuggerSP &debugger_sp);
+ lldb::SBTarget CreateTarget(const char *filename, const char *target_triple,
+ const char *platform_name,
+ bool add_dependent_modules, lldb::SBError &error);
- ~SBDebugger();
+ lldb::SBTarget CreateTargetWithFileAndTargetTriple(const char *filename,
+ const char *target_triple);
- lldb::SBDebugger &
- operator = (const lldb::SBDebugger &rhs);
+ lldb::SBTarget CreateTargetWithFileAndArch(const char *filename,
+ const char *archname);
- static void
- Initialize();
-
- static void
- Terminate();
-
- // Deprecated, use the one that takes a source_init_files bool.
- static lldb::SBDebugger
- Create();
+ lldb::SBTarget CreateTarget(const char *filename);
- static lldb::SBDebugger
- Create(bool source_init_files);
+ // Return true if target is deleted from the target list of the debugger.
+ bool DeleteTarget(lldb::SBTarget &target);
- static lldb::SBDebugger
- Create(bool source_init_files, lldb::LogOutputCallback log_callback, void *baton);
+ lldb::SBTarget GetTargetAtIndex(uint32_t idx);
- static void
- Destroy (lldb::SBDebugger &debugger);
+ uint32_t GetIndexOfTarget(lldb::SBTarget target);
- static void
- MemoryPressureDetected ();
+ lldb::SBTarget FindTargetWithProcessID(pid_t pid);
- bool
- IsValid() const;
+ lldb::SBTarget FindTargetWithFileAndArch(const char *filename,
+ const char *arch);
- void
- Clear ();
+ uint32_t GetNumTargets();
- void
- SetAsync (bool b);
-
- bool
- GetAsync ();
+ lldb::SBTarget GetSelectedTarget();
- void
- SkipLLDBInitFiles (bool b);
+ void SetSelectedTarget(SBTarget &target);
- void
- SkipAppInitFiles (bool b);
+ lldb::SBPlatform GetSelectedPlatform();
- void
- SetInputFileHandle (FILE *f, bool transfer_ownership);
+ void SetSelectedPlatform(lldb::SBPlatform &platform);
- void
- SetOutputFileHandle (FILE *f, bool transfer_ownership);
+ lldb::SBSourceManager GetSourceManager();
- void
- SetErrorFileHandle (FILE *f, bool transfer_ownership);
-
- FILE *
- GetInputFileHandle ();
+ // REMOVE: just for a quick fix, need to expose platforms through
+ // SBPlatform from this class.
+ lldb::SBError SetCurrentPlatform(const char *platform_name);
- FILE *
- GetOutputFileHandle ();
+ bool SetCurrentPlatformSDKRoot(const char *sysroot);
- FILE *
- GetErrorFileHandle ();
+ // FIXME: Once we get the set show stuff in place, the driver won't need
+ // an interface to the Set/Get UseExternalEditor.
+ bool SetUseExternalEditor(bool input);
- void
- SaveInputTerminalState();
-
- void
- RestoreInputTerminalState();
+ bool GetUseExternalEditor();
- lldb::SBCommandInterpreter
- GetCommandInterpreter ();
+ bool SetUseColor(bool use_color);
- void
- HandleCommand (const char *command);
+ bool GetUseColor() const;
- lldb::SBListener
- GetListener ();
+ static bool GetDefaultArchitecture(char *arch_name, size_t arch_name_len);
- void
- HandleProcessEvent (const lldb::SBProcess &process,
- const lldb::SBEvent &event,
- FILE *out,
- FILE *err);
+ static bool SetDefaultArchitecture(const char *arch_name);
- lldb::SBTarget
- CreateTarget (const char *filename,
- const char *target_triple,
- const char *platform_name,
- bool add_dependent_modules,
- lldb::SBError& error);
+ lldb::ScriptLanguage GetScriptingLanguage(const char *script_language_name);
- lldb::SBTarget
- CreateTargetWithFileAndTargetTriple (const char *filename,
- const char *target_triple);
+ static const char *GetVersionString();
- lldb::SBTarget
- CreateTargetWithFileAndArch (const char *filename,
- const char *archname);
+ static const char *StateAsCString(lldb::StateType state);
- lldb::SBTarget
- CreateTarget (const char *filename);
-
- // Return true if target is deleted from the target list of the debugger.
- bool
- DeleteTarget (lldb::SBTarget &target);
-
- lldb::SBTarget
- GetTargetAtIndex (uint32_t idx);
-
- uint32_t
- GetIndexOfTarget (lldb::SBTarget target);
+ static bool StateIsRunningState(lldb::StateType state);
- lldb::SBTarget
- FindTargetWithProcessID (pid_t pid);
+ static bool StateIsStoppedState(lldb::StateType state);
- lldb::SBTarget
- FindTargetWithFileAndArch (const char *filename,
- const char *arch);
+ bool EnableLog(const char *channel, const char **categories);
- uint32_t
- GetNumTargets ();
+ void SetLoggingCallback(lldb::LogOutputCallback log_callback, void *baton);
- lldb::SBTarget
- GetSelectedTarget ();
+ // DEPRECATED
+ void DispatchInput(void *baton, const void *data, size_t data_len);
- void
- SetSelectedTarget (SBTarget& target);
+ void DispatchInput(const void *data, size_t data_len);
- lldb::SBPlatform
- GetSelectedPlatform();
+ void DispatchInputInterrupt();
- void
- SetSelectedPlatform(lldb::SBPlatform &platform);
-
- lldb::SBSourceManager
- GetSourceManager ();
+ void DispatchInputEndOfFile();
- // REMOVE: just for a quick fix, need to expose platforms through
- // SBPlatform from this class.
- lldb::SBError
- SetCurrentPlatform (const char *platform_name);
-
- bool
- SetCurrentPlatformSDKRoot (const char *sysroot);
-
- // FIXME: Once we get the set show stuff in place, the driver won't need
- // an interface to the Set/Get UseExternalEditor.
- bool
- SetUseExternalEditor (bool input);
-
- bool
- GetUseExternalEditor ();
-
- bool
- SetUseColor (bool use_color);
-
- bool
- GetUseColor () const;
-
- static bool
- GetDefaultArchitecture (char *arch_name, size_t arch_name_len);
-
- static bool
- SetDefaultArchitecture (const char *arch_name);
-
- lldb::ScriptLanguage
- GetScriptingLanguage (const char *script_language_name);
-
- static const char *
- GetVersionString ();
-
- static const char *
- StateAsCString (lldb::StateType state);
-
- static bool
- StateIsRunningState (lldb::StateType state);
-
- static bool
- StateIsStoppedState (lldb::StateType state);
-
- bool
- EnableLog (const char *channel, const char **categories);
-
- void
- SetLoggingCallback (lldb::LogOutputCallback log_callback, void *baton);
-
- // DEPRECATED
- void
- DispatchInput (void* baton,
- const void* data,
- size_t data_len);
-
- void
- DispatchInput (const void *data, size_t data_len);
-
- void
- DispatchInputInterrupt ();
-
- void
- DispatchInputEndOfFile ();
-
- void
- PushInputReader (lldb::SBInputReader &reader);
-
- const char *
- GetInstanceName ();
-
- static SBDebugger
- FindDebuggerWithID (int id);
-
- static lldb::SBError
- SetInternalVariable (const char *var_name, const char *value, const char *debugger_instance_name);
-
- static lldb::SBStringList
- GetInternalVariableValue (const char *var_name, const char *debugger_instance_name);
-
- bool
- GetDescription (lldb::SBStream &description);
-
- uint32_t
- GetTerminalWidth () const;
-
- void
- SetTerminalWidth (uint32_t term_width);
-
- lldb::user_id_t
- GetID ();
-
- const char *
- GetPrompt() const;
-
- void
- SetPrompt (const char *prompt);
-
- lldb::ScriptLanguage
- GetScriptLanguage() const;
-
- void
- SetScriptLanguage (lldb::ScriptLanguage script_lang);
-
- bool
- GetCloseInputOnEOF () const;
-
- void
- SetCloseInputOnEOF (bool b);
-
- SBTypeCategory
- GetCategory (const char* category_name);
-
- SBTypeCategory
- GetCategory (lldb::LanguageType lang_type);
-
- SBTypeCategory
- CreateCategory (const char* category_name);
-
- bool
- DeleteCategory (const char* category_name);
-
- uint32_t
- GetNumCategories ();
-
- SBTypeCategory
- GetCategoryAtIndex (uint32_t);
-
- SBTypeCategory
- GetDefaultCategory();
-
- SBTypeFormat
- GetFormatForType (SBTypeNameSpecifier);
+ void PushInputReader(lldb::SBInputReader &reader);
+
+ const char *GetInstanceName();
+
+ static SBDebugger FindDebuggerWithID(int id);
+
+ static lldb::SBError SetInternalVariable(const char *var_name,
+ const char *value,
+ const char *debugger_instance_name);
+
+ static lldb::SBStringList
+ GetInternalVariableValue(const char *var_name,
+ const char *debugger_instance_name);
+
+ bool GetDescription(lldb::SBStream &description);
+
+ uint32_t GetTerminalWidth() const;
+
+ void SetTerminalWidth(uint32_t term_width);
+
+ lldb::user_id_t GetID();
+
+ const char *GetPrompt() const;
+
+ void SetPrompt(const char *prompt);
+
+ lldb::ScriptLanguage GetScriptLanguage() const;
+
+ void SetScriptLanguage(lldb::ScriptLanguage script_lang);
+
+ bool GetCloseInputOnEOF() const;
+
+ void SetCloseInputOnEOF(bool b);
+
+ SBTypeCategory GetCategory(const char *category_name);
+
+ SBTypeCategory GetCategory(lldb::LanguageType lang_type);
+
+ SBTypeCategory CreateCategory(const char *category_name);
+
+ bool DeleteCategory(const char *category_name);
+
+ uint32_t GetNumCategories();
+
+ SBTypeCategory GetCategoryAtIndex(uint32_t);
+
+ SBTypeCategory GetDefaultCategory();
+
+ SBTypeFormat GetFormatForType(SBTypeNameSpecifier);
#ifndef LLDB_DISABLE_PYTHON
- SBTypeSummary
- GetSummaryForType (SBTypeNameSpecifier);
+ SBTypeSummary GetSummaryForType(SBTypeNameSpecifier);
#endif
- SBTypeFilter
- GetFilterForType (SBTypeNameSpecifier);
+ SBTypeFilter GetFilterForType(SBTypeNameSpecifier);
#ifndef LLDB_DISABLE_PYTHON
- SBTypeSynthetic
- GetSyntheticForType (SBTypeNameSpecifier);
+ SBTypeSynthetic GetSyntheticForType(SBTypeNameSpecifier);
#endif
- void
- RunCommandInterpreter (bool auto_handle_events,
- bool spawn_thread);
-
- void
- RunCommandInterpreter (bool auto_handle_events,
- bool spawn_thread,
- SBCommandInterpreterRunOptions &options,
- int &num_errors,
- bool &quit_requested,
- bool &stopped_for_crash);
-
- SBError
- RunREPL (lldb::LanguageType language, const char *repl_options);
+ void RunCommandInterpreter(bool auto_handle_events, bool spawn_thread);
+
+ void RunCommandInterpreter(bool auto_handle_events, bool spawn_thread,
+ SBCommandInterpreterRunOptions &options,
+ int &num_errors, bool &quit_requested,
+ bool &stopped_for_crash);
+
+ SBError RunREPL(lldb::LanguageType language, const char *repl_options);
private:
- friend class SBCommandInterpreter;
- friend class SBInputReader;
- friend class SBListener;
- friend class SBProcess;
- friend class SBSourceManager;
- friend class SBTarget;
-
- lldb::SBTarget
- FindTargetWithLLDBProcess (const lldb::ProcessSP &processSP);
-
- void
- reset (const lldb::DebuggerSP &debugger_sp);
-
- lldb_private::Debugger *
- get () const;
-
- lldb_private::Debugger &
- ref () const;
-
- const lldb::DebuggerSP &
- get_sp () const;
-
- lldb::DebuggerSP m_opaque_sp;
+ friend class SBCommandInterpreter;
+ friend class SBInputReader;
+ friend class SBListener;
+ friend class SBProcess;
+ friend class SBSourceManager;
+ friend class SBTarget;
+
+ lldb::SBTarget FindTargetWithLLDBProcess(const lldb::ProcessSP &processSP);
+
+ void reset(const lldb::DebuggerSP &debugger_sp);
+
+ lldb_private::Debugger *get() const;
+
+ lldb_private::Debugger &ref() const;
+
+ const lldb::DebuggerSP &get_sp() const;
+
+ lldb::DebuggerSP m_opaque_sp;
}; // class SBDebugger
diff --git a/include/lldb/API/SBDeclaration.h b/include/lldb/API/SBDeclaration.h
index 5461a1f15c2e..42cf76963847 100644
--- a/include/lldb/API/SBDeclaration.h
+++ b/include/lldb/API/SBDeclaration.h
@@ -1,4 +1,5 @@
-//===-- SBDeclaration.h -------------------------------------------*- C++ -*-===//
+//===-- SBDeclaration.h -------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,76 +15,56 @@
#include "lldb/API/SBFileSpec.h"
namespace lldb {
-
- class LLDB_API SBDeclaration
- {
- public:
-
- SBDeclaration ();
-
- SBDeclaration (const lldb::SBDeclaration &rhs);
-
- ~SBDeclaration ();
-
- const lldb::SBDeclaration &
- operator = (const lldb::SBDeclaration &rhs);
-
- bool
- IsValid () const;
-
- lldb::SBFileSpec
- GetFileSpec () const;
-
- uint32_t
- GetLine () const;
-
- uint32_t
- GetColumn () const;
-
- void
- SetFileSpec (lldb::SBFileSpec filespec);
-
- void
- SetLine (uint32_t line);
-
- void
- SetColumn (uint32_t column);
-
- bool
- operator == (const lldb::SBDeclaration &rhs) const;
-
- bool
- operator != (const lldb::SBDeclaration &rhs) const;
-
- bool
- GetDescription (lldb::SBStream &description);
-
- protected:
-
- lldb_private::Declaration *
- get ();
-
- private:
- friend class SBValue;
-
- const lldb_private::Declaration *
- operator->() const;
-
- lldb_private::Declaration &
- ref();
-
- const lldb_private::Declaration &
- ref() const;
-
- SBDeclaration (const lldb_private::Declaration *lldb_object_ptr);
-
- void
- SetDeclaration (const lldb_private::Declaration &lldb_object_ref);
-
- std::unique_ptr<lldb_private::Declaration> m_opaque_ap;
- };
-
-
+
+class LLDB_API SBDeclaration {
+public:
+ SBDeclaration();
+
+ SBDeclaration(const lldb::SBDeclaration &rhs);
+
+ ~SBDeclaration();
+
+ const lldb::SBDeclaration &operator=(const lldb::SBDeclaration &rhs);
+
+ bool IsValid() const;
+
+ lldb::SBFileSpec GetFileSpec() const;
+
+ uint32_t GetLine() const;
+
+ uint32_t GetColumn() const;
+
+ void SetFileSpec(lldb::SBFileSpec filespec);
+
+ void SetLine(uint32_t line);
+
+ void SetColumn(uint32_t column);
+
+ bool operator==(const lldb::SBDeclaration &rhs) const;
+
+ bool operator!=(const lldb::SBDeclaration &rhs) const;
+
+ bool GetDescription(lldb::SBStream &description);
+
+protected:
+ lldb_private::Declaration *get();
+
+private:
+ friend class SBValue;
+
+ const lldb_private::Declaration *operator->() const;
+
+ lldb_private::Declaration &ref();
+
+ const lldb_private::Declaration &ref() const;
+
+ SBDeclaration(const lldb_private::Declaration *lldb_object_ptr);
+
+ void SetDeclaration(const lldb_private::Declaration &lldb_object_ref);
+
+ std::unique_ptr<lldb_private::Declaration> m_opaque_ap;
+};
+
} // namespace lldb
#endif // LLDB_SBDeclaration_h_
diff --git a/include/lldb/API/SBDefines.h b/include/lldb/API/SBDefines.h
index 4a95903ec92c..25443c4761af 100644
--- a/include/lldb/API/SBDefines.h
+++ b/include/lldb/API/SBDefines.h
@@ -71,6 +71,7 @@ class LLDB_API SBSection;
class LLDB_API SBSourceManager;
class LLDB_API SBStream;
class LLDB_API SBStringList;
+class LLDB_API SBStructuredData;
class LLDB_API SBSymbol;
class LLDB_API SBSymbolContext;
class LLDB_API SBSymbolContextList;
@@ -95,7 +96,6 @@ class LLDB_API SBValueList;
class LLDB_API SBVariablesOptions;
class LLDB_API SBWatchpoint;
class LLDB_API SBUnixSignals;
-
}
-#endif // LLDB_SBDefines_h_
+#endif // LLDB_SBDefines_h_
diff --git a/include/lldb/API/SBError.h b/include/lldb/API/SBError.h
index afdec0d3826d..7f2f3a6cc5ec 100644
--- a/include/lldb/API/SBError.h
+++ b/include/lldb/API/SBError.h
@@ -16,93 +16,73 @@ namespace lldb {
class LLDB_API SBError {
public:
- SBError ();
+ SBError();
- SBError (const lldb::SBError &rhs);
+ SBError(const lldb::SBError &rhs);
- ~SBError();
+ ~SBError();
- const SBError &
- operator =(const lldb::SBError &rhs);
+ const SBError &operator=(const lldb::SBError &rhs);
- const char *
- GetCString () const;
+ const char *GetCString() const;
- void
- Clear ();
+ void Clear();
- bool
- Fail () const;
+ bool Fail() const;
- bool
- Success () const;
+ bool Success() const;
- uint32_t
- GetError () const;
+ uint32_t GetError() const;
- lldb::ErrorType
- GetType () const;
+ lldb::ErrorType GetType() const;
- void
- SetError (uint32_t err, lldb::ErrorType type);
+ void SetError(uint32_t err, lldb::ErrorType type);
- void
- SetErrorToErrno ();
+ void SetErrorToErrno();
- void
- SetErrorToGenericError ();
+ void SetErrorToGenericError();
- void
- SetErrorString (const char *err_str);
+ void SetErrorString(const char *err_str);
- int
- SetErrorStringWithFormat (const char *format, ...) __attribute__ ((format (printf, 2, 3)));
+ int SetErrorStringWithFormat(const char *format, ...)
+ __attribute__((format(printf, 2, 3)));
- bool
- IsValid () const;
+ bool IsValid() const;
- bool
- GetDescription (lldb::SBStream &description);
+ bool GetDescription(lldb::SBStream &description);
protected:
+ friend class SBCommandReturnObject;
+ friend class SBData;
+ friend class SBDebugger;
+ friend class SBCommunication;
+ friend class SBHostOS;
+ friend class SBPlatform;
+ friend class SBProcess;
+ friend class SBStructuredData;
+ friend class SBThread;
+ friend class SBTarget;
+ friend class SBValue;
+ friend class SBWatchpoint;
+ friend class SBBreakpoint;
+ friend class SBBreakpointLocation;
- friend class SBCommandReturnObject;
- friend class SBData;
- friend class SBDebugger;
- friend class SBCommunication;
- friend class SBHostOS;
- friend class SBPlatform;
- friend class SBProcess;
- friend class SBThread;
- friend class SBTarget;
- friend class SBValue;
- friend class SBWatchpoint;
- friend class SBBreakpoint;
- friend class SBBreakpointLocation;
+ lldb_private::Error *get();
- lldb_private::Error *
- get();
+ lldb_private::Error *operator->();
- lldb_private::Error *
- operator->();
+ const lldb_private::Error &operator*() const;
- const lldb_private::Error &
- operator*() const;
+ lldb_private::Error &ref();
- lldb_private::Error &
- ref();
-
- void
- SetError (const lldb_private::Error &lldb_error);
+ void SetError(const lldb_private::Error &lldb_error);
private:
- std::unique_ptr<lldb_private::Error> m_opaque_ap;
+ std::unique_ptr<lldb_private::Error> m_opaque_ap;
- void
- CreateIfNeeded ();
+ void CreateIfNeeded();
};
-
} // namespace lldb
#endif // LLDB_SBError_h_
diff --git a/include/lldb/API/SBEvent.h b/include/lldb/API/SBEvent.h
index 975c365f5916..ff15716d853e 100644
--- a/include/lldb/API/SBEvent.h
+++ b/include/lldb/API/SBEvent.h
@@ -15,91 +15,72 @@
#include <stdio.h>
#include <vector>
-
namespace lldb {
class SBBroadcaster;
-class LLDB_API SBEvent
-{
+class LLDB_API SBEvent {
public:
- SBEvent();
+ SBEvent();
+
+ SBEvent(const lldb::SBEvent &rhs);
- SBEvent (const lldb::SBEvent &rhs);
-
- // Make an event that contains a C string.
- SBEvent (uint32_t event, const char *cstr, uint32_t cstr_len);
+ // Make an event that contains a C string.
+ SBEvent(uint32_t event, const char *cstr, uint32_t cstr_len);
- SBEvent (lldb::EventSP &event_sp);
+ SBEvent(lldb::EventSP &event_sp);
- SBEvent (lldb_private::Event *event_sp);
+ SBEvent(lldb_private::Event *event_sp);
- ~SBEvent();
+ ~SBEvent();
- const SBEvent &
- operator = (const lldb::SBEvent &rhs);
+ const SBEvent &operator=(const lldb::SBEvent &rhs);
- bool
- IsValid() const;
+ bool IsValid() const;
- const char *
- GetDataFlavor ();
+ const char *GetDataFlavor();
- uint32_t
- GetType () const;
+ uint32_t GetType() const;
- lldb::SBBroadcaster
- GetBroadcaster () const;
+ lldb::SBBroadcaster GetBroadcaster() const;
- const char *
- GetBroadcasterClass () const;
+ const char *GetBroadcasterClass() const;
- bool
- BroadcasterMatchesPtr (const lldb::SBBroadcaster *broadcaster);
+ bool BroadcasterMatchesPtr(const lldb::SBBroadcaster *broadcaster);
- bool
- BroadcasterMatchesRef (const lldb::SBBroadcaster &broadcaster);
+ bool BroadcasterMatchesRef(const lldb::SBBroadcaster &broadcaster);
- void
- Clear();
+ void Clear();
- static const char *
- GetCStringFromEvent (const lldb::SBEvent &event);
+ static const char *GetCStringFromEvent(const lldb::SBEvent &event);
- bool
- GetDescription (lldb::SBStream &description);
+ bool GetDescription(lldb::SBStream &description);
- bool
- GetDescription (lldb::SBStream &description) const;
+ bool GetDescription(lldb::SBStream &description) const;
protected:
- friend class SBListener;
- friend class SBBroadcaster;
- friend class SBBreakpoint;
- friend class SBDebugger;
- friend class SBProcess;
- friend class SBTarget;
- friend class SBThread;
- friend class SBWatchpoint;
+ friend class SBListener;
+ friend class SBBroadcaster;
+ friend class SBBreakpoint;
+ friend class SBDebugger;
+ friend class SBProcess;
+ friend class SBTarget;
+ friend class SBThread;
+ friend class SBWatchpoint;
- lldb::EventSP &
- GetSP () const;
+ lldb::EventSP &GetSP() const;
- void
- reset (lldb::EventSP &event_sp);
+ void reset(lldb::EventSP &event_sp);
- void
- reset (lldb_private::Event* event);
+ void reset(lldb_private::Event *event);
- lldb_private::Event *
- get () const;
+ lldb_private::Event *get() const;
private:
-
- mutable lldb::EventSP m_event_sp;
- mutable lldb_private::Event *m_opaque_ptr;
+ mutable lldb::EventSP m_event_sp;
+ mutable lldb_private::Event *m_opaque_ptr;
};
} // namespace lldb
-#endif // LLDB_SBEvent_h_
+#endif // LLDB_SBEvent_h_
diff --git a/include/lldb/API/SBExecutionContext.h b/include/lldb/API/SBExecutionContext.h
index 1d64497ae867..c19d539bc80a 100644
--- a/include/lldb/API/SBExecutionContext.h
+++ b/include/lldb/API/SBExecutionContext.h
@@ -1,4 +1,5 @@
-//===-- SBExecutionContext.h -----------------------------------------*- C++ -*-===//
+//===-- SBExecutionContext.h -----------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,60 +16,51 @@
#include <stdio.h>
#include <vector>
-
namespace lldb {
-
-class LLDB_API SBExecutionContext
-{
-friend class SBCommandInterpreter;
+
+class LLDB_API SBExecutionContext {
+ friend class SBCommandInterpreter;
public:
- SBExecutionContext();
-
- SBExecutionContext (const lldb::SBExecutionContext &rhs);
-
- SBExecutionContext (lldb::ExecutionContextRefSP exe_ctx_ref_sp);
-
- SBExecutionContext (const lldb::SBTarget &target);
-
- SBExecutionContext (const lldb::SBProcess &process);
-
- SBExecutionContext (lldb::SBThread thread); // can't be a const& because SBThread::get() isn't itself a const function
-
- SBExecutionContext (const lldb::SBFrame &frame);
-
- ~SBExecutionContext();
-
- const SBExecutionContext &
- operator = (const lldb::SBExecutionContext &rhs);
-
- SBTarget
- GetTarget () const;
-
- SBProcess
- GetProcess () const;
-
- SBThread
- GetThread () const;
-
- SBFrame
- GetFrame () const;
-
+ SBExecutionContext();
+
+ SBExecutionContext(const lldb::SBExecutionContext &rhs);
+
+ SBExecutionContext(lldb::ExecutionContextRefSP exe_ctx_ref_sp);
+
+ SBExecutionContext(const lldb::SBTarget &target);
+
+ SBExecutionContext(const lldb::SBProcess &process);
+
+ SBExecutionContext(lldb::SBThread thread); // can't be a const& because
+ // SBThread::get() isn't itself a
+ // const function
+
+ SBExecutionContext(const lldb::SBFrame &frame);
+
+ ~SBExecutionContext();
+
+ const SBExecutionContext &operator=(const lldb::SBExecutionContext &rhs);
+
+ SBTarget GetTarget() const;
+
+ SBProcess GetProcess() const;
+
+ SBThread GetThread() const;
+
+ SBFrame GetFrame() const;
+
protected:
- ExecutionContextRefSP &
- GetSP () const;
-
- void
- reset (lldb::ExecutionContextRefSP &event_sp);
-
- lldb_private::ExecutionContextRef *
- get () const;
-
+ ExecutionContextRefSP &GetSP() const;
+
+ void reset(lldb::ExecutionContextRefSP &event_sp);
+
+ lldb_private::ExecutionContextRef *get() const;
+
private:
-
- mutable lldb::ExecutionContextRefSP m_exe_ctx_sp;
+ mutable lldb::ExecutionContextRefSP m_exe_ctx_sp;
};
-
+
} // namespace lldb
-#endif // LLDB_SBExecutionContext_h_
+#endif // LLDB_SBExecutionContext_h_
diff --git a/include/lldb/API/SBExpressionOptions.h b/include/lldb/API/SBExpressionOptions.h
index 051ed7220ac8..370811d0c355 100644
--- a/include/lldb/API/SBExpressionOptions.h
+++ b/include/lldb/API/SBExpressionOptions.h
@@ -16,133 +16,100 @@
namespace lldb {
-
-class LLDB_API SBExpressionOptions
-{
+class LLDB_API SBExpressionOptions {
public:
- SBExpressionOptions();
-
- SBExpressionOptions (const lldb::SBExpressionOptions &rhs);
-
- ~SBExpressionOptions();
-
- const SBExpressionOptions &
- operator = (const lldb::SBExpressionOptions &rhs);
-
- bool
- GetCoerceResultToId () const;
-
- void
- SetCoerceResultToId (bool coerce = true);
-
- bool
- GetUnwindOnError () const;
-
- void
- SetUnwindOnError (bool unwind = true);
-
- bool
- GetIgnoreBreakpoints () const;
-
- void
- SetIgnoreBreakpoints (bool ignore = true);
-
- lldb::DynamicValueType
- GetFetchDynamicValue () const;
-
- void
- SetFetchDynamicValue (lldb::DynamicValueType dynamic = lldb::eDynamicCanRunTarget);
-
- uint32_t
- GetTimeoutInMicroSeconds () const;
-
- // Set the timeout for the expression, 0 means wait forever.
- void
- SetTimeoutInMicroSeconds (uint32_t timeout = 0);
-
- uint32_t
- GetOneThreadTimeoutInMicroSeconds () const;
-
- // Set the timeout for running on one thread, 0 means use the default behavior.
- // If you set this higher than the overall timeout, you'll get an error when you
- // try to run the expression.
- void
- SetOneThreadTimeoutInMicroSeconds (uint32_t timeout = 0);
-
- bool
- GetTryAllThreads () const;
-
- void
- SetTryAllThreads (bool run_others = true);
-
- bool
- GetStopOthers() const;
-
- void
- SetStopOthers(bool stop_others = true);
-
- bool
- GetTrapExceptions () const;
-
- void
- SetTrapExceptions (bool trap_exceptions = true);
-
- void
- SetLanguage (lldb::LanguageType language);
-
- void
- SetCancelCallback (lldb::ExpressionCancelCallback callback, void *baton);
-
- bool
- GetGenerateDebugInfo ();
-
- void
- SetGenerateDebugInfo (bool b = true);
-
- bool
- GetSuppressPersistentResult ();
-
- void
- SetSuppressPersistentResult (bool b = false);
-
- const char *
- GetPrefix () const;
-
- void
- SetPrefix (const char *prefix);
-
- void
- SetAutoApplyFixIts(bool b = true);
-
- bool
- GetAutoApplyFixIts();
-
- bool
- GetTopLevel ();
-
- void
- SetTopLevel (bool b = true);
+ SBExpressionOptions();
+ SBExpressionOptions(const lldb::SBExpressionOptions &rhs);
-protected:
+ ~SBExpressionOptions();
+
+ const SBExpressionOptions &operator=(const lldb::SBExpressionOptions &rhs);
+
+ bool GetCoerceResultToId() const;
+
+ void SetCoerceResultToId(bool coerce = true);
+
+ bool GetUnwindOnError() const;
+
+ void SetUnwindOnError(bool unwind = true);
+
+ bool GetIgnoreBreakpoints() const;
+
+ void SetIgnoreBreakpoints(bool ignore = true);
+
+ lldb::DynamicValueType GetFetchDynamicValue() const;
+
+ void SetFetchDynamicValue(
+ lldb::DynamicValueType dynamic = lldb::eDynamicCanRunTarget);
+
+ uint32_t GetTimeoutInMicroSeconds() const;
+
+ // Set the timeout for the expression, 0 means wait forever.
+ void SetTimeoutInMicroSeconds(uint32_t timeout = 0);
+
+ uint32_t GetOneThreadTimeoutInMicroSeconds() const;
+
+ // Set the timeout for running on one thread, 0 means use the default
+ // behavior.
+ // If you set this higher than the overall timeout, you'll get an error when
+ // you
+ // try to run the expression.
+ void SetOneThreadTimeoutInMicroSeconds(uint32_t timeout = 0);
+
+ bool GetTryAllThreads() const;
+
+ void SetTryAllThreads(bool run_others = true);
- SBExpressionOptions (lldb_private::EvaluateExpressionOptions &expression_options);
+ bool GetStopOthers() const;
+
+ void SetStopOthers(bool stop_others = true);
+
+ bool GetTrapExceptions() const;
+
+ void SetTrapExceptions(bool trap_exceptions = true);
+
+ void SetLanguage(lldb::LanguageType language);
+
+ void SetCancelCallback(lldb::ExpressionCancelCallback callback, void *baton);
+
+ bool GetGenerateDebugInfo();
+
+ void SetGenerateDebugInfo(bool b = true);
+
+ bool GetSuppressPersistentResult();
+
+ void SetSuppressPersistentResult(bool b = false);
+
+ const char *GetPrefix() const;
+
+ void SetPrefix(const char *prefix);
+
+ void SetAutoApplyFixIts(bool b = true);
+
+ bool GetAutoApplyFixIts();
+
+ bool GetTopLevel();
+
+ void SetTopLevel(bool b = true);
+
+protected:
+ SBExpressionOptions(
+ lldb_private::EvaluateExpressionOptions &expression_options);
- lldb_private::EvaluateExpressionOptions *
- get () const;
+ lldb_private::EvaluateExpressionOptions *get() const;
- lldb_private::EvaluateExpressionOptions &
- ref () const;
+ lldb_private::EvaluateExpressionOptions &ref() const;
- friend class SBFrame;
- friend class SBValue;
- friend class SBTarget;
+ friend class SBFrame;
+ friend class SBValue;
+ friend class SBTarget;
private:
- // This auto_pointer is made in the constructor and is always valid.
- mutable std::unique_ptr<lldb_private::EvaluateExpressionOptions> m_opaque_ap;
+ // This auto_pointer is made in the constructor and is always valid.
+ mutable std::unique_ptr<lldb_private::EvaluateExpressionOptions> m_opaque_ap;
};
} // namespace lldb
-#endif // LLDB_SBExpressionOptions_h_
+#endif // LLDB_SBExpressionOptions_h_
diff --git a/include/lldb/API/SBFileSpec.h b/include/lldb/API/SBFileSpec.h
index 2f9d6bab89f3..a31d95abb493 100644
--- a/include/lldb/API/SBFileSpec.h
+++ b/include/lldb/API/SBFileSpec.h
@@ -14,93 +14,75 @@
namespace lldb {
-class LLDB_API SBFileSpec
-{
+class LLDB_API SBFileSpec {
public:
- SBFileSpec ();
+ SBFileSpec();
- SBFileSpec (const lldb::SBFileSpec &rhs);
+ SBFileSpec(const lldb::SBFileSpec &rhs);
- SBFileSpec (const char *path);// Deprecated, use SBFileSpec (const char *path, bool resolve)
+ SBFileSpec(const char *path); // Deprecated, use SBFileSpec (const char *path,
+ // bool resolve)
- SBFileSpec (const char *path, bool resolve);
+ SBFileSpec(const char *path, bool resolve);
- ~SBFileSpec ();
+ ~SBFileSpec();
- const SBFileSpec &
- operator = (const lldb::SBFileSpec &rhs);
+ const SBFileSpec &operator=(const lldb::SBFileSpec &rhs);
- bool
- IsValid() const;
+ bool IsValid() const;
- bool
- Exists () const;
+ bool Exists() const;
- bool
- ResolveExecutableLocation ();
+ bool ResolveExecutableLocation();
- const char *
- GetFilename() const;
+ const char *GetFilename() const;
- const char *
- GetDirectory() const;
+ const char *GetDirectory() const;
- void
- SetFilename(const char *filename);
-
- void
- SetDirectory(const char *directory);
+ void SetFilename(const char *filename);
- uint32_t
- GetPath (char *dst_path, size_t dst_len) const;
+ void SetDirectory(const char *directory);
- static int
- ResolvePath (const char *src_path, char *dst_path, size_t dst_len);
+ uint32_t GetPath(char *dst_path, size_t dst_len) const;
- bool
- GetDescription (lldb::SBStream &description) const;
+ static int ResolvePath(const char *src_path, char *dst_path, size_t dst_len);
- void
- AppendPathComponent (const char *file_or_directory);
+ bool GetDescription(lldb::SBStream &description) const;
+
+ void AppendPathComponent(const char *file_or_directory);
private:
- friend class SBAttachInfo;
- friend class SBBlock;
- friend class SBCommandInterpreter;
- friend class SBCompileUnit;
- friend class SBDeclaration;
- friend class SBFileSpecList;
- friend class SBHostOS;
- friend class SBLaunchInfo;
- friend class SBLineEntry;
- friend class SBModule;
- friend class SBModuleSpec;
- friend class SBPlatform;
- friend class SBProcess;
- friend class SBSourceManager;
- friend class SBThread;
- friend class SBTarget;
-
- SBFileSpec (const lldb_private::FileSpec& fspec);
-
- void
- SetFileSpec (const lldb_private::FileSpec& fspec);
-
- const lldb_private::FileSpec *
- operator->() const;
-
- const lldb_private::FileSpec *
- get() const;
-
- const lldb_private::FileSpec &
- operator*() const;
-
- const lldb_private::FileSpec &
- ref() const;
-
- std::unique_ptr<lldb_private::FileSpec> m_opaque_ap;
-};
+ friend class SBAttachInfo;
+ friend class SBBlock;
+ friend class SBCommandInterpreter;
+ friend class SBCompileUnit;
+ friend class SBDeclaration;
+ friend class SBFileSpecList;
+ friend class SBHostOS;
+ friend class SBLaunchInfo;
+ friend class SBLineEntry;
+ friend class SBModule;
+ friend class SBModuleSpec;
+ friend class SBPlatform;
+ friend class SBProcess;
+ friend class SBSourceManager;
+ friend class SBThread;
+ friend class SBTarget;
+
+ SBFileSpec(const lldb_private::FileSpec &fspec);
+
+ void SetFileSpec(const lldb_private::FileSpec &fspec);
+
+ const lldb_private::FileSpec *operator->() const;
+ const lldb_private::FileSpec *get() const;
+
+ const lldb_private::FileSpec &operator*() const;
+
+ const lldb_private::FileSpec &ref() const;
+
+ std::unique_ptr<lldb_private::FileSpec> m_opaque_ap;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBFileSpecList.h b/include/lldb/API/SBFileSpecList.h
index ff429a1815be..97f843adbb5f 100644
--- a/include/lldb/API/SBFileSpecList.h
+++ b/include/lldb/API/SBFileSpecList.h
@@ -1,4 +1,5 @@
-//===-- SBFileSpecList.h --------------------------------------------*- C++ -*-===//
+//===-- SBFileSpecList.h --------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,58 +15,43 @@
namespace lldb {
-class LLDB_API SBFileSpecList
-{
+class LLDB_API SBFileSpecList {
public:
- SBFileSpecList ();
-
- SBFileSpecList (const lldb::SBFileSpecList &rhs);
-
- ~SBFileSpecList ();
-
- const SBFileSpecList &
- operator = (const lldb::SBFileSpecList &rhs);
-
- uint32_t
- GetSize () const;
-
- bool
- GetDescription (SBStream &description) const;
-
- void
- Append (const SBFileSpec &sb_file);
-
- bool
- AppendIfUnique (const SBFileSpec &sb_file);
-
- void
- Clear();
-
- uint32_t
- FindFileIndex (uint32_t idx, const SBFileSpec &sb_file, bool full);
-
- const SBFileSpec
- GetFileSpecAtIndex (uint32_t idx) const;
+ SBFileSpecList();
-private:
+ SBFileSpecList(const lldb::SBFileSpecList &rhs);
-friend class SBTarget;
+ ~SBFileSpecList();
- const lldb_private::FileSpecList *
- operator->() const;
+ const SBFileSpecList &operator=(const lldb::SBFileSpecList &rhs);
- const lldb_private::FileSpecList *
- get() const;
+ uint32_t GetSize() const;
- const lldb_private::FileSpecList &
- operator*() const;
+ bool GetDescription(SBStream &description) const;
- const lldb_private::FileSpecList &
- ref() const;
+ void Append(const SBFileSpec &sb_file);
- std::unique_ptr<lldb_private::FileSpecList> m_opaque_ap;
-};
+ bool AppendIfUnique(const SBFileSpec &sb_file);
+
+ void Clear();
+
+ uint32_t FindFileIndex(uint32_t idx, const SBFileSpec &sb_file, bool full);
+
+ const SBFileSpec GetFileSpecAtIndex(uint32_t idx) const;
+
+private:
+ friend class SBTarget;
+
+ const lldb_private::FileSpecList *operator->() const;
+
+ const lldb_private::FileSpecList *get() const;
+ const lldb_private::FileSpecList &operator*() const;
+
+ const lldb_private::FileSpecList &ref() const;
+
+ std::unique_ptr<lldb_private::FileSpecList> m_opaque_ap;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBFrame.h b/include/lldb/API/SBFrame.h
index 3177b0cc5a69..be5c0920aee5 100644
--- a/include/lldb/API/SBFrame.h
+++ b/include/lldb/API/SBFrame.h
@@ -15,227 +15,182 @@
namespace lldb {
-class LLDB_API SBFrame
-{
+class LLDB_API SBFrame {
public:
- SBFrame ();
-
- SBFrame (const lldb::SBFrame &rhs);
-
- const lldb::SBFrame &
- operator =(const lldb::SBFrame &rhs);
-
- ~SBFrame();
-
- bool
- IsEqual (const lldb::SBFrame &that) const;
-
- bool
- IsValid() const;
-
- uint32_t
- GetFrameID () const;
-
- lldb::addr_t
- GetCFA () const;
-
- lldb::addr_t
- GetPC () const;
-
- bool
- SetPC (lldb::addr_t new_pc);
-
- lldb::addr_t
- GetSP () const;
-
- lldb::addr_t
- GetFP () const;
-
- lldb::SBAddress
- GetPCAddress () const;
-
- lldb::SBSymbolContext
- GetSymbolContext (uint32_t resolve_scope) const;
-
- lldb::SBModule
- GetModule () const;
-
- lldb::SBCompileUnit
- GetCompileUnit () const;
-
- lldb::SBFunction
- GetFunction () const;
-
- lldb::SBSymbol
- GetSymbol () const;
-
- /// Gets the deepest block that contains the frame PC.
- ///
- /// See also GetFrameBlock().
- lldb::SBBlock
- GetBlock () const;
-
- /// Get the appropriate function name for this frame. Inlined functions in
- /// LLDB are represented by Blocks that have inlined function information, so
- /// just looking at the SBFunction or SBSymbol for a frame isn't enough.
- /// This function will return the appropriate function, symbol or inlined
- /// function name for the frame.
- ///
- /// This function returns:
- /// - the name of the inlined function (if there is one)
- /// - the name of the concrete function (if there is one)
- /// - the name of the symbol (if there is one)
- /// - NULL
- ///
- /// See also IsInlined().
- const char *
- GetFunctionName();
-
- // Get an appropriate function name for this frame that is suitable for display to a user
- const char *
- GetDisplayFunctionName ();
-
- const char *
- GetFunctionName() const;
-
- /// Return true if this frame represents an inlined function.
- ///
- /// See also GetFunctionName().
- bool
- IsInlined();
-
- bool
- IsInlined() const;
-
- /// The version that doesn't supply a 'use_dynamic' value will use the
- /// target's default.
- lldb::SBValue
- EvaluateExpression (const char *expr);
-
- lldb::SBValue
- EvaluateExpression (const char *expr, lldb::DynamicValueType use_dynamic);
-
- lldb::SBValue
- EvaluateExpression (const char *expr, lldb::DynamicValueType use_dynamic, bool unwind_on_error);
-
- lldb::SBValue
- EvaluateExpression (const char *expr, const SBExpressionOptions &options);
-
- /// Gets the lexical block that defines the stack frame. Another way to think
- /// of this is it will return the block that contains all of the variables
- /// for a stack frame. Inlined functions are represented as SBBlock objects
- /// that have inlined function information: the name of the inlined function,
- /// where it was called from. The block that is returned will be the first
- /// block at or above the block for the PC (SBFrame::GetBlock()) that defines
- /// the scope of the frame. When a function contains no inlined functions,
- /// this will be the top most lexical block that defines the function.
- /// When a function has inlined functions and the PC is currently
- /// in one of those inlined functions, this method will return the inlined
- /// block that defines this frame. If the PC isn't currently in an inlined
- /// function, the lexical block that defines the function is returned.
- lldb::SBBlock
- GetFrameBlock () const;
-
- lldb::SBLineEntry
- GetLineEntry () const;
-
- lldb::SBThread
- GetThread () const;
-
- const char *
- Disassemble () const;
-
- void
- Clear();
-
- bool
- operator == (const lldb::SBFrame &rhs) const;
-
- bool
- operator != (const lldb::SBFrame &rhs) const;
-
- /// The version that doesn't supply a 'use_dynamic' value will use the
- /// target's default.
- lldb::SBValueList
- GetVariables (bool arguments,
- bool locals,
- bool statics,
- bool in_scope_only);
-
- lldb::SBValueList
- GetVariables (bool arguments,
- bool locals,
- bool statics,
- bool in_scope_only,
- lldb::DynamicValueType use_dynamic);
-
- lldb::SBValueList
- GetVariables (const lldb::SBVariablesOptions& options);
-
- lldb::SBValueList
- GetRegisters ();
-
- lldb::SBValue
- FindRegister (const char *name);
-
- /// The version that doesn't supply a 'use_dynamic' value will use the
- /// target's default.
- lldb::SBValue
- FindVariable (const char *var_name);
-
- lldb::SBValue
- FindVariable (const char *var_name, lldb::DynamicValueType use_dynamic);
-
- // Find a value for a variable expression path like "rect.origin.x" or
- // "pt_ptr->x", "*self", "*this->obj_ptr". The returned value is _not_
- // and expression result and is not a constant object like
- // SBFrame::EvaluateExpression(...) returns, but a child object of
- // the variable value.
- lldb::SBValue
- GetValueForVariablePath (const char *var_expr_cstr,
- DynamicValueType use_dynamic);
-
- /// The version that doesn't supply a 'use_dynamic' value will use the
- /// target's default.
- lldb::SBValue
- GetValueForVariablePath (const char *var_path);
-
- /// Find variables, register sets, registers, or persistent variables using
- /// the frame as the scope.
- ///
- /// NB. This function does not look up ivars in the function object pointer.
- /// To do that use GetValueForVariablePath.
- ///
- /// The version that doesn't supply a 'use_dynamic' value will use the
- /// target's default.
- lldb::SBValue
- FindValue (const char *name, ValueType value_type);
-
- lldb::SBValue
- FindValue (const char *name, ValueType value_type, lldb::DynamicValueType use_dynamic);
-
- bool
- GetDescription (lldb::SBStream &description);
-
- SBFrame (const lldb::StackFrameSP &lldb_object_sp);
+ SBFrame();
-protected:
+ SBFrame(const lldb::SBFrame &rhs);
+
+ const lldb::SBFrame &operator=(const lldb::SBFrame &rhs);
+
+ ~SBFrame();
+
+ bool IsEqual(const lldb::SBFrame &that) const;
+
+ bool IsValid() const;
+
+ uint32_t GetFrameID() const;
+
+ lldb::addr_t GetCFA() const;
+
+ lldb::addr_t GetPC() const;
+
+ bool SetPC(lldb::addr_t new_pc);
+
+ lldb::addr_t GetSP() const;
+
+ lldb::addr_t GetFP() const;
+
+ lldb::SBAddress GetPCAddress() const;
+
+ lldb::SBSymbolContext GetSymbolContext(uint32_t resolve_scope) const;
+
+ lldb::SBModule GetModule() const;
+
+ lldb::SBCompileUnit GetCompileUnit() const;
+
+ lldb::SBFunction GetFunction() const;
+
+ lldb::SBSymbol GetSymbol() const;
+
+ /// Gets the deepest block that contains the frame PC.
+ ///
+ /// See also GetFrameBlock().
+ lldb::SBBlock GetBlock() const;
+
+ /// Get the appropriate function name for this frame. Inlined functions in
+ /// LLDB are represented by Blocks that have inlined function information, so
+ /// just looking at the SBFunction or SBSymbol for a frame isn't enough.
+ /// This function will return the appropriate function, symbol or inlined
+ /// function name for the frame.
+ ///
+ /// This function returns:
+ /// - the name of the inlined function (if there is one)
+ /// - the name of the concrete function (if there is one)
+ /// - the name of the symbol (if there is one)
+ /// - NULL
+ ///
+ /// See also IsInlined().
+ const char *GetFunctionName();
+
+ // Get an appropriate function name for this frame that is suitable for
+ // display to a user
+ const char *GetDisplayFunctionName();
+
+ const char *GetFunctionName() const;
+
+ /// Return true if this frame represents an inlined function.
+ ///
+ /// See also GetFunctionName().
+ bool IsInlined();
+
+ bool IsInlined() const;
+
+ /// The version that doesn't supply a 'use_dynamic' value will use the
+ /// target's default.
+ lldb::SBValue EvaluateExpression(const char *expr);
- friend class SBBlock;
- friend class SBExecutionContext;
- friend class SBInstruction;
- friend class SBThread;
- friend class SBValue;
+ lldb::SBValue EvaluateExpression(const char *expr,
+ lldb::DynamicValueType use_dynamic);
+
+ lldb::SBValue EvaluateExpression(const char *expr,
+ lldb::DynamicValueType use_dynamic,
+ bool unwind_on_error);
+
+ lldb::SBValue EvaluateExpression(const char *expr,
+ const SBExpressionOptions &options);
+
+ /// Gets the lexical block that defines the stack frame. Another way to think
+ /// of this is it will return the block that contains all of the variables
+ /// for a stack frame. Inlined functions are represented as SBBlock objects
+ /// that have inlined function information: the name of the inlined function,
+ /// where it was called from. The block that is returned will be the first
+ /// block at or above the block for the PC (SBFrame::GetBlock()) that defines
+ /// the scope of the frame. When a function contains no inlined functions,
+ /// this will be the top most lexical block that defines the function.
+ /// When a function has inlined functions and the PC is currently
+ /// in one of those inlined functions, this method will return the inlined
+ /// block that defines this frame. If the PC isn't currently in an inlined
+ /// function, the lexical block that defines the function is returned.
+ lldb::SBBlock GetFrameBlock() const;
+
+ lldb::SBLineEntry GetLineEntry() const;
+
+ lldb::SBThread GetThread() const;
+
+ const char *Disassemble() const;
+
+ void Clear();
+
+ bool operator==(const lldb::SBFrame &rhs) const;
+
+ bool operator!=(const lldb::SBFrame &rhs) const;
+
+ /// The version that doesn't supply a 'use_dynamic' value will use the
+ /// target's default.
+ lldb::SBValueList GetVariables(bool arguments, bool locals, bool statics,
+ bool in_scope_only);
+
+ lldb::SBValueList GetVariables(bool arguments, bool locals, bool statics,
+ bool in_scope_only,
+ lldb::DynamicValueType use_dynamic);
+
+ lldb::SBValueList GetVariables(const lldb::SBVariablesOptions &options);
+
+ lldb::SBValueList GetRegisters();
+
+ lldb::SBValue FindRegister(const char *name);
+
+ /// The version that doesn't supply a 'use_dynamic' value will use the
+ /// target's default.
+ lldb::SBValue FindVariable(const char *var_name);
+
+ lldb::SBValue FindVariable(const char *var_name,
+ lldb::DynamicValueType use_dynamic);
+
+ // Find a value for a variable expression path like "rect.origin.x" or
+ // "pt_ptr->x", "*self", "*this->obj_ptr". The returned value is _not_
+ // and expression result and is not a constant object like
+ // SBFrame::EvaluateExpression(...) returns, but a child object of
+ // the variable value.
+ lldb::SBValue GetValueForVariablePath(const char *var_expr_cstr,
+ DynamicValueType use_dynamic);
+
+ /// The version that doesn't supply a 'use_dynamic' value will use the
+ /// target's default.
+ lldb::SBValue GetValueForVariablePath(const char *var_path);
+
+ /// Find variables, register sets, registers, or persistent variables using
+ /// the frame as the scope.
+ ///
+ /// NB. This function does not look up ivars in the function object pointer.
+ /// To do that use GetValueForVariablePath.
+ ///
+ /// The version that doesn't supply a 'use_dynamic' value will use the
+ /// target's default.
+ lldb::SBValue FindValue(const char *name, ValueType value_type);
+
+ lldb::SBValue FindValue(const char *name, ValueType value_type,
+ lldb::DynamicValueType use_dynamic);
+
+ bool GetDescription(lldb::SBStream &description);
+
+ SBFrame(const lldb::StackFrameSP &lldb_object_sp);
+
+protected:
+ friend class SBBlock;
+ friend class SBExecutionContext;
+ friend class SBInstruction;
+ friend class SBThread;
+ friend class SBValue;
- lldb::StackFrameSP
- GetFrameSP() const;
+ lldb::StackFrameSP GetFrameSP() const;
- void
- SetFrameSP (const lldb::StackFrameSP &lldb_object_sp);
+ void SetFrameSP(const lldb::StackFrameSP &lldb_object_sp);
- lldb::ExecutionContextRefSP m_opaque_sp;
+ lldb::ExecutionContextRefSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBFrame_h_
+#endif // LLDB_SBFrame_h_
diff --git a/include/lldb/API/SBFunction.h b/include/lldb/API/SBFunction.h
index f76c77c44e3f..23da02102cfb 100644
--- a/include/lldb/API/SBFunction.h
+++ b/include/lldb/API/SBFunction.h
@@ -10,96 +10,72 @@
#ifndef LLDB_SBFunction_h_
#define LLDB_SBFunction_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBAddress.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBInstructionList.h"
namespace lldb {
-class LLDB_API SBFunction
-{
+class LLDB_API SBFunction {
public:
+ SBFunction();
- SBFunction ();
+ SBFunction(const lldb::SBFunction &rhs);
- SBFunction (const lldb::SBFunction &rhs);
+ const lldb::SBFunction &operator=(const lldb::SBFunction &rhs);
- const lldb::SBFunction &
- operator = (const lldb::SBFunction &rhs);
+ ~SBFunction();
- ~SBFunction ();
+ bool IsValid() const;
- bool
- IsValid () const;
+ const char *GetName() const;
- const char *
- GetName() const;
+ const char *GetDisplayName() const;
- const char *
- GetDisplayName() const;
-
- const char *
- GetMangledName () const;
+ const char *GetMangledName() const;
- lldb::SBInstructionList
- GetInstructions (lldb::SBTarget target);
+ lldb::SBInstructionList GetInstructions(lldb::SBTarget target);
- lldb::SBInstructionList
- GetInstructions (lldb::SBTarget target, const char *flavor);
+ lldb::SBInstructionList GetInstructions(lldb::SBTarget target,
+ const char *flavor);
- lldb::SBAddress
- GetStartAddress ();
+ lldb::SBAddress GetStartAddress();
- lldb::SBAddress
- GetEndAddress ();
+ lldb::SBAddress GetEndAddress();
- const char *
- GetArgumentName (uint32_t arg_idx);
+ const char *GetArgumentName(uint32_t arg_idx);
- uint32_t
- GetPrologueByteSize ();
+ uint32_t GetPrologueByteSize();
- lldb::SBType
- GetType ();
+ lldb::SBType GetType();
- lldb::SBBlock
- GetBlock ();
-
- lldb::LanguageType
- GetLanguage ();
+ lldb::SBBlock GetBlock();
- bool
- GetIsOptimized ();
+ lldb::LanguageType GetLanguage();
- bool
- operator == (const lldb::SBFunction &rhs) const;
+ bool GetIsOptimized();
- bool
- operator != (const lldb::SBFunction &rhs) const;
+ bool operator==(const lldb::SBFunction &rhs) const;
- bool
- GetDescription (lldb::SBStream &description);
+ bool operator!=(const lldb::SBFunction &rhs) const;
-protected:
+ bool GetDescription(lldb::SBStream &description);
- lldb_private::Function *
- get ();
+protected:
+ lldb_private::Function *get();
- void
- reset (lldb_private::Function *lldb_object_ptr);
+ void reset(lldb_private::Function *lldb_object_ptr);
private:
- friend class SBAddress;
- friend class SBFrame;
- friend class SBSymbolContext;
-
- SBFunction (lldb_private::Function *lldb_object_ptr);
+ friend class SBAddress;
+ friend class SBFrame;
+ friend class SBSymbolContext;
+ SBFunction(lldb_private::Function *lldb_object_ptr);
- lldb_private::Function *m_opaque_ptr;
+ lldb_private::Function *m_opaque_ptr;
};
-
} // namespace lldb
#endif // LLDB_SBFunction_h_
diff --git a/include/lldb/API/SBHostOS.h b/include/lldb/API/SBHostOS.h
index a3675856a136..1671917f865c 100644
--- a/include/lldb/API/SBHostOS.h
+++ b/include/lldb/API/SBHostOS.h
@@ -15,49 +15,31 @@
namespace lldb {
-class LLDB_API SBHostOS
-{
+class LLDB_API SBHostOS {
public:
+ static lldb::SBFileSpec GetProgramFileSpec();
- static lldb::SBFileSpec
- GetProgramFileSpec ();
-
- static lldb::SBFileSpec
- GetLLDBPythonPath ();
+ static lldb::SBFileSpec GetLLDBPythonPath();
- static lldb::SBFileSpec
- GetLLDBPath (lldb::PathType path_type);
+ static lldb::SBFileSpec GetLLDBPath(lldb::PathType path_type);
- static lldb::SBFileSpec
- GetUserHomeDirectory ();
+ static lldb::SBFileSpec GetUserHomeDirectory();
- static void
- ThreadCreated (const char *name);
+ static void ThreadCreated(const char *name);
- static lldb::thread_t
- ThreadCreate (const char *name,
- lldb::thread_func_t thread_function,
- void *thread_arg,
- lldb::SBError *err);
+ static lldb::thread_t ThreadCreate(const char *name,
+ lldb::thread_func_t thread_function,
+ void *thread_arg, lldb::SBError *err);
- static bool
- ThreadCancel (lldb::thread_t thread,
- lldb::SBError *err);
-
- static bool
- ThreadDetach (lldb::thread_t thread,
- lldb::SBError *err);
- static bool
- ThreadJoin (lldb::thread_t thread,
- lldb::thread_result_t *result,
- lldb::SBError *err);
+ static bool ThreadCancel(lldb::thread_t thread, lldb::SBError *err);
+ static bool ThreadDetach(lldb::thread_t thread, lldb::SBError *err);
+ static bool ThreadJoin(lldb::thread_t thread, lldb::thread_result_t *result,
+ lldb::SBError *err);
private:
-
};
-
} // namespace lldb
#endif // LLDB_SBHostOS_h_
diff --git a/include/lldb/API/SBInstruction.h b/include/lldb/API/SBInstruction.h
index cb0b2a32a829..0fc12eb61cba 100644
--- a/include/lldb/API/SBInstruction.h
+++ b/include/lldb/API/SBInstruction.h
@@ -10,93 +10,76 @@
#ifndef LLDB_SBInstruction_h_
#define LLDB_SBInstruction_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBData.h"
+#include "lldb/API/SBDefines.h"
#include <stdio.h>
-// There's a lot to be fixed here, but need to wait for underlying insn implementation
+// There's a lot to be fixed here, but need to wait for underlying insn
+// implementation
// to be revised & settle down first.
class InstructionImpl;
namespace lldb {
-class LLDB_API SBInstruction
-{
+class LLDB_API SBInstruction {
public:
+ SBInstruction();
+
+ SBInstruction(const SBInstruction &rhs);
+
+ const SBInstruction &operator=(const SBInstruction &rhs);
- SBInstruction ();
+ ~SBInstruction();
- SBInstruction (const SBInstruction &rhs);
-
- const SBInstruction &
- operator = (const SBInstruction &rhs);
+ bool IsValid();
- ~SBInstruction ();
+ SBAddress GetAddress();
- bool
- IsValid();
+ lldb::AddressClass GetAddressClass();
- SBAddress
- GetAddress();
-
- lldb::AddressClass
- GetAddressClass ();
-
- const char *
- GetMnemonic (lldb::SBTarget target);
+ const char *GetMnemonic(lldb::SBTarget target);
- const char *
- GetOperands (lldb::SBTarget target);
-
- const char *
- GetComment (lldb::SBTarget target);
+ const char *GetOperands(lldb::SBTarget target);
- lldb::SBData
- GetData (lldb::SBTarget target);
+ const char *GetComment(lldb::SBTarget target);
- size_t
- GetByteSize ();
+ lldb::SBData GetData(lldb::SBTarget target);
- bool
- DoesBranch ();
+ size_t GetByteSize();
- bool
- HasDelaySlot ();
+ bool DoesBranch();
- void
- Print (FILE *out);
+ bool HasDelaySlot();
- bool
- GetDescription (lldb::SBStream &description);
+ void Print(FILE *out);
- bool
- EmulateWithFrame (lldb::SBFrame &frame, uint32_t evaluate_options);
+ bool GetDescription(lldb::SBStream &description);
- bool
- DumpEmulation (const char * triple); // triple is to specify the architecture, e.g. 'armv6' or 'armv7-apple-ios'
-
- bool
- TestEmulation (lldb::SBStream &output_stream, const char *test_file);
+ bool EmulateWithFrame(lldb::SBFrame &frame, uint32_t evaluate_options);
+
+ bool DumpEmulation(const char *triple); // triple is to specify the
+ // architecture, e.g. 'armv6' or
+ // 'armv7-apple-ios'
+
+ bool TestEmulation(lldb::SBStream &output_stream, const char *test_file);
protected:
- friend class SBInstructionList;
+ friend class SBInstructionList;
- SBInstruction(const lldb::DisassemblerSP &disasm_sp, const lldb::InstructionSP &inst_sp);
+ SBInstruction(const lldb::DisassemblerSP &disasm_sp,
+ const lldb::InstructionSP &inst_sp);
- void
- SetOpaque(const lldb::DisassemblerSP &disasm_sp, const lldb::InstructionSP& inst_sp);
+ void SetOpaque(const lldb::DisassemblerSP &disasm_sp,
+ const lldb::InstructionSP &inst_sp);
- lldb::InstructionSP
- GetOpaque();
+ lldb::InstructionSP GetOpaque();
private:
-
- std::shared_ptr<InstructionImpl> m_opaque_sp;
+ std::shared_ptr<InstructionImpl> m_opaque_sp;
};
-
} // namespace lldb
#endif // LLDB_SBInstruction_h_
diff --git a/include/lldb/API/SBInstructionList.h b/include/lldb/API/SBInstructionList.h
index 8ef163796629..29baef5790eb 100644
--- a/include/lldb/API/SBInstructionList.h
+++ b/include/lldb/API/SBInstructionList.h
@@ -16,55 +16,42 @@
namespace lldb {
-class LLDB_API SBInstructionList
-{
+class LLDB_API SBInstructionList {
public:
+ SBInstructionList();
- SBInstructionList ();
+ SBInstructionList(const SBInstructionList &rhs);
- SBInstructionList (const SBInstructionList &rhs);
-
- const SBInstructionList &
- operator = (const SBInstructionList &rhs);
+ const SBInstructionList &operator=(const SBInstructionList &rhs);
- ~SBInstructionList ();
+ ~SBInstructionList();
- bool
- IsValid () const;
+ bool IsValid() const;
- size_t
- GetSize ();
+ size_t GetSize();
- lldb::SBInstruction
- GetInstructionAtIndex (uint32_t idx);
+ lldb::SBInstruction GetInstructionAtIndex(uint32_t idx);
- void
- Clear ();
+ void Clear();
- void
- AppendInstruction (lldb::SBInstruction inst);
+ void AppendInstruction(lldb::SBInstruction inst);
- void
- Print (FILE *out);
+ void Print(FILE *out);
- bool
- GetDescription (lldb::SBStream &description);
-
- bool
- DumpEmulationForAllInstructions (const char *triple);
+ bool GetDescription(lldb::SBStream &description);
+
+ bool DumpEmulationForAllInstructions(const char *triple);
protected:
- friend class SBFunction;
- friend class SBSymbol;
- friend class SBTarget;
-
- void
- SetDisassembler (const lldb::DisassemblerSP &opaque_sp);
-
-private:
- lldb::DisassemblerSP m_opaque_sp;
-};
+ friend class SBFunction;
+ friend class SBSymbol;
+ friend class SBTarget;
+ void SetDisassembler(const lldb::DisassemblerSP &opaque_sp);
+
+private:
+ lldb::DisassemblerSP m_opaque_sp;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBLanguageRuntime.h b/include/lldb/API/SBLanguageRuntime.h
index 898604c496fa..3912f352491b 100644
--- a/include/lldb/API/SBLanguageRuntime.h
+++ b/include/lldb/API/SBLanguageRuntime.h
@@ -14,14 +14,11 @@
namespace lldb {
-class SBLanguageRuntime
-{
+class SBLanguageRuntime {
public:
- static lldb::LanguageType
- GetLanguageTypeFromString (const char *string);
-
- static const char *
- GetNameForLanguageType (lldb::LanguageType language);
+ static lldb::LanguageType GetLanguageTypeFromString(const char *string);
+
+ static const char *GetNameForLanguageType(lldb::LanguageType language);
};
} // namespace lldb
diff --git a/include/lldb/API/SBLaunchInfo.h b/include/lldb/API/SBLaunchInfo.h
index 38d598aec456..1cece235127f 100644
--- a/include/lldb/API/SBLaunchInfo.h
+++ b/include/lldb/API/SBLaunchInfo.h
@@ -17,179 +17,137 @@ namespace lldb {
class SBPlatform;
class SBTarget;
-class LLDB_API SBLaunchInfo
-{
+class LLDB_API SBLaunchInfo {
public:
- SBLaunchInfo (const char **argv);
-
- ~SBLaunchInfo();
-
- lldb::pid_t
- GetProcessID();
-
- uint32_t
- GetUserID();
-
- uint32_t
- GetGroupID();
-
- bool
- UserIDIsValid ();
-
- bool
- GroupIDIsValid ();
-
- void
- SetUserID (uint32_t uid);
-
- void
- SetGroupID (uint32_t gid);
-
- SBFileSpec
- GetExecutableFile ();
-
- //----------------------------------------------------------------------
- /// Set the executable file that will be used to launch the process and
- /// optionally set it as the first argument in the argument vector.
- ///
- /// This only needs to be specified if clients wish to carefully control
- /// the exact path will be used to launch a binary. If you create a
- /// target with a symlink, that symlink will get resolved in the target
- /// and the resolved path will get used to launch the process. Calling
- /// this function can help you still launch your process using the
- /// path of your choice.
- ///
- /// If this function is not called prior to launching with
- /// SBTarget::Launch(...), the target will use the resolved executable
- /// path that was used to create the target.
- ///
- /// @param[in] exe_file
- /// The override path to use when launching the executable.
- ///
- /// @param[in] add_as_first_arg
- /// If true, then the path will be inserted into the argument vector
- /// prior to launching. Otherwise the argument vector will be left
- /// alone.
- //----------------------------------------------------------------------
- void
- SetExecutableFile (SBFileSpec exe_file, bool add_as_first_arg);
-
-
- //----------------------------------------------------------------------
- /// Get the listener that will be used to receive process events.
- ///
- /// If no listener has been set via a call to
- /// SBLaunchInfo::SetListener(), then an invalid SBListener will be
- /// returned (SBListener::IsValid() will return false). If a listener
- /// has been set, then the valid listener object will be returned.
- //----------------------------------------------------------------------
- SBListener
- GetListener ();
-
- //----------------------------------------------------------------------
- /// Set the listener that will be used to receive process events.
- ///
- /// By default the SBDebugger, which has a listener, that the SBTarget
- /// belongs to will listen for the process events. Calling this function
- /// allows a different listener to be used to listen for process events.
- //----------------------------------------------------------------------
- void
- SetListener (SBListener &listener);
-
- uint32_t
- GetNumArguments ();
-
- const char *
- GetArgumentAtIndex (uint32_t idx);
-
- void
- SetArguments (const char **argv, bool append);
-
- uint32_t
- GetNumEnvironmentEntries ();
-
- const char *
- GetEnvironmentEntryAtIndex (uint32_t idx);
-
- void
- SetEnvironmentEntries (const char **envp, bool append);
-
- void
- Clear ();
-
- const char *
- GetWorkingDirectory () const;
-
- void
- SetWorkingDirectory (const char *working_dir);
-
- uint32_t
- GetLaunchFlags ();
-
- void
- SetLaunchFlags (uint32_t flags);
-
- const char *
- GetProcessPluginName ();
-
- void
- SetProcessPluginName (const char *plugin_name);
-
- const char *
- GetShell ();
-
- void
- SetShell (const char * path);
-
- bool
- GetShellExpandArguments ();
-
- void
- SetShellExpandArguments (bool expand);
-
- uint32_t
- GetResumeCount ();
-
- void
- SetResumeCount (uint32_t c);
-
- bool
- AddCloseFileAction (int fd);
-
- bool
- AddDuplicateFileAction (int fd, int dup_fd);
-
- bool
- AddOpenFileAction (int fd, const char *path, bool read, bool write);
-
- bool
- AddSuppressFileAction (int fd, bool read, bool write);
+ SBLaunchInfo(const char **argv);
- void
- SetLaunchEventData (const char *data);
+ ~SBLaunchInfo();
- const char *
- GetLaunchEventData () const;
+ lldb::pid_t GetProcessID();
- bool
- GetDetachOnError() const;
+ uint32_t GetUserID();
- void
- SetDetachOnError(bool enable);
+ uint32_t GetGroupID();
+
+ bool UserIDIsValid();
+
+ bool GroupIDIsValid();
+
+ void SetUserID(uint32_t uid);
+
+ void SetGroupID(uint32_t gid);
+
+ SBFileSpec GetExecutableFile();
+
+ //----------------------------------------------------------------------
+ /// Set the executable file that will be used to launch the process and
+ /// optionally set it as the first argument in the argument vector.
+ ///
+ /// This only needs to be specified if clients wish to carefully control
+ /// the exact path will be used to launch a binary. If you create a
+ /// target with a symlink, that symlink will get resolved in the target
+ /// and the resolved path will get used to launch the process. Calling
+ /// this function can help you still launch your process using the
+ /// path of your choice.
+ ///
+ /// If this function is not called prior to launching with
+ /// SBTarget::Launch(...), the target will use the resolved executable
+ /// path that was used to create the target.
+ ///
+ /// @param[in] exe_file
+ /// The override path to use when launching the executable.
+ ///
+ /// @param[in] add_as_first_arg
+ /// If true, then the path will be inserted into the argument vector
+ /// prior to launching. Otherwise the argument vector will be left
+ /// alone.
+ //----------------------------------------------------------------------
+ void SetExecutableFile(SBFileSpec exe_file, bool add_as_first_arg);
+
+ //----------------------------------------------------------------------
+ /// Get the listener that will be used to receive process events.
+ ///
+ /// If no listener has been set via a call to
+ /// SBLaunchInfo::SetListener(), then an invalid SBListener will be
+ /// returned (SBListener::IsValid() will return false). If a listener
+ /// has been set, then the valid listener object will be returned.
+ //----------------------------------------------------------------------
+ SBListener GetListener();
+
+ //----------------------------------------------------------------------
+ /// Set the listener that will be used to receive process events.
+ ///
+ /// By default the SBDebugger, which has a listener, that the SBTarget
+ /// belongs to will listen for the process events. Calling this function
+ /// allows a different listener to be used to listen for process events.
+ //----------------------------------------------------------------------
+ void SetListener(SBListener &listener);
+
+ uint32_t GetNumArguments();
+
+ const char *GetArgumentAtIndex(uint32_t idx);
+
+ void SetArguments(const char **argv, bool append);
+
+ uint32_t GetNumEnvironmentEntries();
+
+ const char *GetEnvironmentEntryAtIndex(uint32_t idx);
+
+ void SetEnvironmentEntries(const char **envp, bool append);
+
+ void Clear();
+
+ const char *GetWorkingDirectory() const;
+
+ void SetWorkingDirectory(const char *working_dir);
+
+ uint32_t GetLaunchFlags();
+
+ void SetLaunchFlags(uint32_t flags);
+
+ const char *GetProcessPluginName();
+
+ void SetProcessPluginName(const char *plugin_name);
+
+ const char *GetShell();
+
+ void SetShell(const char *path);
+
+ bool GetShellExpandArguments();
+
+ void SetShellExpandArguments(bool expand);
+
+ uint32_t GetResumeCount();
+
+ void SetResumeCount(uint32_t c);
+
+ bool AddCloseFileAction(int fd);
+
+ bool AddDuplicateFileAction(int fd, int dup_fd);
+
+ bool AddOpenFileAction(int fd, const char *path, bool read, bool write);
+
+ bool AddSuppressFileAction(int fd, bool read, bool write);
+
+ void SetLaunchEventData(const char *data);
+
+ const char *GetLaunchEventData() const;
+
+ bool GetDetachOnError() const;
+
+ void SetDetachOnError(bool enable);
protected:
- friend class SBPlatform;
- friend class SBTarget;
+ friend class SBPlatform;
+ friend class SBTarget;
- lldb_private::ProcessLaunchInfo &
- ref ();
+ lldb_private::ProcessLaunchInfo &ref();
- const lldb_private::ProcessLaunchInfo &
- ref () const;
+ const lldb_private::ProcessLaunchInfo &ref() const;
- ProcessLaunchInfoSP m_opaque_sp;
+ ProcessLaunchInfoSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBLaunchInfo_h_
+#endif // LLDB_SBLaunchInfo_h_
diff --git a/include/lldb/API/SBLineEntry.h b/include/lldb/API/SBLineEntry.h
index 8311bbbafc90..3d58ea8278ea 100644
--- a/include/lldb/API/SBLineEntry.h
+++ b/include/lldb/API/SBLineEntry.h
@@ -10,90 +10,68 @@
#ifndef LLDB_SBLineEntry_h_
#define LLDB_SBLineEntry_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBAddress.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBFileSpec.h"
namespace lldb {
-class LLDB_API SBLineEntry
-{
+class LLDB_API SBLineEntry {
public:
+ SBLineEntry();
- SBLineEntry ();
+ SBLineEntry(const lldb::SBLineEntry &rhs);
- SBLineEntry (const lldb::SBLineEntry &rhs);
+ ~SBLineEntry();
- ~SBLineEntry ();
+ const lldb::SBLineEntry &operator=(const lldb::SBLineEntry &rhs);
- const lldb::SBLineEntry &
- operator = (const lldb::SBLineEntry &rhs);
+ lldb::SBAddress GetStartAddress() const;
- lldb::SBAddress
- GetStartAddress () const;
+ lldb::SBAddress GetEndAddress() const;
- lldb::SBAddress
- GetEndAddress () const;
+ bool IsValid() const;
- bool
- IsValid () const;
+ lldb::SBFileSpec GetFileSpec() const;
- lldb::SBFileSpec
- GetFileSpec () const;
+ uint32_t GetLine() const;
- uint32_t
- GetLine () const;
+ uint32_t GetColumn() const;
- uint32_t
- GetColumn () const;
+ void SetFileSpec(lldb::SBFileSpec filespec);
- void
- SetFileSpec (lldb::SBFileSpec filespec);
-
- void
- SetLine (uint32_t line);
-
- void
- SetColumn (uint32_t column);
+ void SetLine(uint32_t line);
- bool
- operator == (const lldb::SBLineEntry &rhs) const;
+ void SetColumn(uint32_t column);
- bool
- operator != (const lldb::SBLineEntry &rhs) const;
+ bool operator==(const lldb::SBLineEntry &rhs) const;
- bool
- GetDescription (lldb::SBStream &description);
+ bool operator!=(const lldb::SBLineEntry &rhs) const;
+
+ bool GetDescription(lldb::SBStream &description);
protected:
+ lldb_private::LineEntry *get();
- lldb_private::LineEntry *
- get ();
-
private:
- friend class SBAddress;
- friend class SBCompileUnit;
- friend class SBFrame;
- friend class SBSymbolContext;
+ friend class SBAddress;
+ friend class SBCompileUnit;
+ friend class SBFrame;
+ friend class SBSymbolContext;
- const lldb_private::LineEntry *
- operator->() const;
+ const lldb_private::LineEntry *operator->() const;
- lldb_private::LineEntry &
- ref();
+ lldb_private::LineEntry &ref();
- const lldb_private::LineEntry &
- ref() const;
+ const lldb_private::LineEntry &ref() const;
- SBLineEntry (const lldb_private::LineEntry *lldb_object_ptr);
+ SBLineEntry(const lldb_private::LineEntry *lldb_object_ptr);
- void
- SetLineEntry (const lldb_private::LineEntry &lldb_object_ref);
+ void SetLineEntry(const lldb_private::LineEntry &lldb_object_ref);
- std::unique_ptr<lldb_private::LineEntry> m_opaque_ap;
+ std::unique_ptr<lldb_private::LineEntry> m_opaque_ap;
};
-
} // namespace lldb
#endif // LLDB_SBLineEntry_h_
diff --git a/include/lldb/API/SBListener.h b/include/lldb/API/SBListener.h
index e74d318ea118..05282c215406 100644
--- a/include/lldb/API/SBListener.h
+++ b/include/lldb/API/SBListener.h
@@ -14,121 +14,94 @@
namespace lldb {
-class LLDB_API SBListener
-{
+class LLDB_API SBListener {
public:
- SBListener ();
+ SBListener();
- SBListener (const char *name);
+ SBListener(const char *name);
- SBListener (const SBListener &rhs);
+ SBListener(const SBListener &rhs);
- ~SBListener ();
+ ~SBListener();
- const lldb::SBListener &
- operator = (const lldb::SBListener &rhs);
+ const lldb::SBListener &operator=(const lldb::SBListener &rhs);
- void
- AddEvent (const lldb::SBEvent &event);
+ void AddEvent(const lldb::SBEvent &event);
- void
- Clear ();
+ void Clear();
- bool
- IsValid () const;
+ bool IsValid() const;
- uint32_t
- StartListeningForEventClass (SBDebugger &debugger,
- const char *broadcaster_class,
- uint32_t event_mask);
-
- bool
- StopListeningForEventClass (SBDebugger &debugger,
- const char *broadcaster_class,
- uint32_t event_mask);
-
- uint32_t
- StartListeningForEvents (const lldb::SBBroadcaster& broadcaster,
- uint32_t event_mask);
+ uint32_t StartListeningForEventClass(SBDebugger &debugger,
+ const char *broadcaster_class,
+ uint32_t event_mask);
- bool
- StopListeningForEvents (const lldb::SBBroadcaster& broadcaster,
- uint32_t event_mask);
+ bool StopListeningForEventClass(SBDebugger &debugger,
+ const char *broadcaster_class,
+ uint32_t event_mask);
- // Returns true if an event was received, false if we timed out.
- bool
- WaitForEvent (uint32_t num_seconds,
- lldb::SBEvent &event);
+ uint32_t StartListeningForEvents(const lldb::SBBroadcaster &broadcaster,
+ uint32_t event_mask);
- bool
- WaitForEventForBroadcaster (uint32_t num_seconds,
- const lldb::SBBroadcaster &broadcaster,
- lldb::SBEvent &sb_event);
+ bool StopListeningForEvents(const lldb::SBBroadcaster &broadcaster,
+ uint32_t event_mask);
- bool
- WaitForEventForBroadcasterWithType (uint32_t num_seconds,
- const lldb::SBBroadcaster &broadcaster,
- uint32_t event_type_mask,
- lldb::SBEvent &sb_event);
+ // Returns true if an event was received, false if we timed out.
+ bool WaitForEvent(uint32_t num_seconds, lldb::SBEvent &event);
- bool
- PeekAtNextEvent (lldb::SBEvent &sb_event);
+ bool WaitForEventForBroadcaster(uint32_t num_seconds,
+ const lldb::SBBroadcaster &broadcaster,
+ lldb::SBEvent &sb_event);
- bool
- PeekAtNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster,
- lldb::SBEvent &sb_event);
+ bool WaitForEventForBroadcasterWithType(
+ uint32_t num_seconds, const lldb::SBBroadcaster &broadcaster,
+ uint32_t event_type_mask, lldb::SBEvent &sb_event);
- bool
- PeekAtNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster,
- uint32_t event_type_mask,
- lldb::SBEvent &sb_event);
+ bool PeekAtNextEvent(lldb::SBEvent &sb_event);
- bool
- GetNextEvent (lldb::SBEvent &sb_event);
+ bool PeekAtNextEventForBroadcaster(const lldb::SBBroadcaster &broadcaster,
+ lldb::SBEvent &sb_event);
- bool
- GetNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster,
- lldb::SBEvent &sb_event);
-
- bool
- GetNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster,
+ bool
+ PeekAtNextEventForBroadcasterWithType(const lldb::SBBroadcaster &broadcaster,
uint32_t event_type_mask,
lldb::SBEvent &sb_event);
- bool
- HandleBroadcastEvent (const lldb::SBEvent &event);
+ bool GetNextEvent(lldb::SBEvent &sb_event);
+
+ bool GetNextEventForBroadcaster(const lldb::SBBroadcaster &broadcaster,
+ lldb::SBEvent &sb_event);
+
+ bool
+ GetNextEventForBroadcasterWithType(const lldb::SBBroadcaster &broadcaster,
+ uint32_t event_type_mask,
+ lldb::SBEvent &sb_event);
+
+ bool HandleBroadcastEvent(const lldb::SBEvent &event);
protected:
- friend class SBAttachInfo;
- friend class SBBroadcaster;
- friend class SBCommandInterpreter;
- friend class SBDebugger;
- friend class SBLaunchInfo;
- friend class SBTarget;
+ friend class SBAttachInfo;
+ friend class SBBroadcaster;
+ friend class SBCommandInterpreter;
+ friend class SBDebugger;
+ friend class SBLaunchInfo;
+ friend class SBTarget;
- SBListener (const lldb::ListenerSP &listener_sp);
+ SBListener(const lldb::ListenerSP &listener_sp);
- lldb::ListenerSP
- GetSP ()
- {
- return m_opaque_sp;
- }
+ lldb::ListenerSP GetSP() { return m_opaque_sp; }
private:
+ lldb_private::Listener *operator->() const;
- lldb_private::Listener *
- operator->() const;
-
- lldb_private::Listener *
- get() const;
+ lldb_private::Listener *get() const;
- void
- reset(lldb::ListenerSP listener_sp);
+ void reset(lldb::ListenerSP listener_sp);
- lldb::ListenerSP m_opaque_sp;
- lldb_private::Listener *m_unused_ptr;
+ lldb::ListenerSP m_opaque_sp;
+ lldb_private::Listener *m_unused_ptr;
};
} // namespace lldb
-#endif // LLDB_SBListener_h_
+#endif // LLDB_SBListener_h_
diff --git a/include/lldb/API/SBMemoryRegionInfo.h b/include/lldb/API/SBMemoryRegionInfo.h
index fadd0760891b..297f877a6341 100644
--- a/include/lldb/API/SBMemoryRegionInfo.h
+++ b/include/lldb/API/SBMemoryRegionInfo.h
@@ -10,108 +10,103 @@
#ifndef LLDB_SBMemoryRegionInfo_h_
#define LLDB_SBMemoryRegionInfo_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBData.h"
+#include "lldb/API/SBDefines.h"
namespace lldb {
-class LLDB_API SBMemoryRegionInfo
-{
+class LLDB_API SBMemoryRegionInfo {
public:
-
- SBMemoryRegionInfo ();
-
- SBMemoryRegionInfo (const lldb::SBMemoryRegionInfo &rhs);
-
- ~SBMemoryRegionInfo ();
-
- const lldb::SBMemoryRegionInfo &
- operator = (const lldb::SBMemoryRegionInfo &rhs);
-
- void
- Clear();
-
- //------------------------------------------------------------------
- /// Get the base address of this memory range.
- ///
- /// @return
- /// The base address of this memory range.
- //------------------------------------------------------------------
- lldb::addr_t
- GetRegionBase ();
-
- //------------------------------------------------------------------
- /// Get the end address of this memory range.
- ///
- /// @return
- /// The base address of this memory range.
- //------------------------------------------------------------------
- lldb::addr_t
- GetRegionEnd ();
-
- //------------------------------------------------------------------
- /// Check if this memory address is marked readable to the process.
- ///
- /// @return
- /// true if this memory address is marked readable
- //------------------------------------------------------------------
- bool
- IsReadable ();
-
- //------------------------------------------------------------------
- /// Check if this memory address is marked writable to the process.
- ///
- /// @return
- /// true if this memory address is marked writable
- //------------------------------------------------------------------
- bool
- IsWritable ();
-
- //------------------------------------------------------------------
- /// Check if this memory address is marked executable to the process.
- ///
- /// @return
- /// true if this memory address is marked executable
- //------------------------------------------------------------------
- bool
- IsExecutable ();
-
- //------------------------------------------------------------------
- /// Check if this memory address is mapped into the process address
- /// space.
- ///
- /// @return
- /// true if this memory address is in the process address space.
- //------------------------------------------------------------------
- bool
- IsMapped ();
-
- bool
- operator == (const lldb::SBMemoryRegionInfo &rhs) const;
-
- bool
- operator != (const lldb::SBMemoryRegionInfo &rhs) const;
-
- bool
- GetDescription (lldb::SBStream &description);
+ SBMemoryRegionInfo();
+
+ SBMemoryRegionInfo(const lldb::SBMemoryRegionInfo &rhs);
+
+ ~SBMemoryRegionInfo();
+
+ const lldb::SBMemoryRegionInfo &
+ operator=(const lldb::SBMemoryRegionInfo &rhs);
+
+ void Clear();
+
+ //------------------------------------------------------------------
+ /// Get the base address of this memory range.
+ ///
+ /// @return
+ /// The base address of this memory range.
+ //------------------------------------------------------------------
+ lldb::addr_t GetRegionBase();
+
+ //------------------------------------------------------------------
+ /// Get the end address of this memory range.
+ ///
+ /// @return
+ /// The base address of this memory range.
+ //------------------------------------------------------------------
+ lldb::addr_t GetRegionEnd();
+
+ //------------------------------------------------------------------
+ /// Check if this memory address is marked readable to the process.
+ ///
+ /// @return
+ /// true if this memory address is marked readable
+ //------------------------------------------------------------------
+ bool IsReadable();
+
+ //------------------------------------------------------------------
+ /// Check if this memory address is marked writable to the process.
+ ///
+ /// @return
+ /// true if this memory address is marked writable
+ //------------------------------------------------------------------
+ bool IsWritable();
+
+ //------------------------------------------------------------------
+ /// Check if this memory address is marked executable to the process.
+ ///
+ /// @return
+ /// true if this memory address is marked executable
+ //------------------------------------------------------------------
+ bool IsExecutable();
+
+ //------------------------------------------------------------------
+ /// Check if this memory address is mapped into the process address
+ /// space.
+ ///
+ /// @return
+ /// true if this memory address is in the process address space.
+ //------------------------------------------------------------------
+ bool IsMapped();
+
+ //------------------------------------------------------------------
+ /// Returns the name of the memory region mapped at the given
+ /// address.
+ ///
+ /// @return
+ /// In case of memory mapped files it is the absolute path of
+ /// the file otherwise it is a name associated with the memory
+ /// region. If no name can be determined the returns nullptr.
+ //------------------------------------------------------------------
+ const char *GetName();
+
+ bool operator==(const lldb::SBMemoryRegionInfo &rhs) const;
+
+ bool operator!=(const lldb::SBMemoryRegionInfo &rhs) const;
+
+ bool GetDescription(lldb::SBStream &description);
private:
+ friend class SBProcess;
+ friend class SBMemoryRegionInfoList;
- friend class SBProcess;
- friend class SBMemoryRegionInfoList;
+ lldb_private::MemoryRegionInfo &ref();
- lldb_private::MemoryRegionInfo &
- ref();
+ const lldb_private::MemoryRegionInfo &ref() const;
- const lldb_private::MemoryRegionInfo &
- ref() const;
+ SBMemoryRegionInfo(const lldb_private::MemoryRegionInfo *lldb_object_ptr);
- SBMemoryRegionInfo (const lldb_private::MemoryRegionInfo *lldb_object_ptr);
-
- lldb::MemoryRegionInfoUP m_opaque_ap;
+ lldb::MemoryRegionInfoUP m_opaque_ap;
};
-
} // namespace lldb
#endif // LLDB_SBMemoryRegionInfo_h_
diff --git a/include/lldb/API/SBMemoryRegionInfoList.h b/include/lldb/API/SBMemoryRegionInfoList.h
index 7723820897d8..883a2224c92d 100644
--- a/include/lldb/API/SBMemoryRegionInfoList.h
+++ b/include/lldb/API/SBMemoryRegionInfoList.h
@@ -16,46 +16,33 @@ class MemoryRegionInfoListImpl;
namespace lldb {
-class LLDB_API SBMemoryRegionInfoList
-{
+class LLDB_API SBMemoryRegionInfoList {
public:
+ SBMemoryRegionInfoList();
- SBMemoryRegionInfoList ();
+ SBMemoryRegionInfoList(const lldb::SBMemoryRegionInfoList &rhs);
- SBMemoryRegionInfoList (const lldb::SBMemoryRegionInfoList &rhs);
+ const SBMemoryRegionInfoList &operator=(const SBMemoryRegionInfoList &rhs);
- const SBMemoryRegionInfoList &
- operator = (const SBMemoryRegionInfoList &rhs);
+ ~SBMemoryRegionInfoList();
- ~SBMemoryRegionInfoList ();
+ uint32_t GetSize() const;
- uint32_t
- GetSize () const;
+ bool GetMemoryRegionAtIndex(uint32_t idx, SBMemoryRegionInfo &region_info);
- bool
- GetMemoryRegionAtIndex (uint32_t idx, SBMemoryRegionInfo &region_info);
+ void Append(lldb::SBMemoryRegionInfo &region);
- void
- Append (lldb::SBMemoryRegionInfo &region);
+ void Append(lldb::SBMemoryRegionInfoList &region_list);
- void
- Append (lldb::SBMemoryRegionInfoList &region_list);
-
- void
- Clear ();
+ void Clear();
protected:
+ const MemoryRegionInfoListImpl *operator->() const;
- const MemoryRegionInfoListImpl *
- operator->() const;
-
- const MemoryRegionInfoListImpl &
- operator*() const;
+ const MemoryRegionInfoListImpl &operator*() const;
private:
-
- std::unique_ptr<MemoryRegionInfoListImpl> m_opaque_ap;
-
+ std::unique_ptr<MemoryRegionInfoListImpl> m_opaque_ap;
};
} // namespace lldb
diff --git a/include/lldb/API/SBModule.h b/include/lldb/API/SBModule.h
index 4030d2b21797..bcc3997a275b 100644
--- a/include/lldb/API/SBModule.h
+++ b/include/lldb/API/SBModule.h
@@ -18,341 +18,298 @@
namespace lldb {
-class LLDB_API SBModule
-{
+class LLDB_API SBModule {
public:
+ SBModule();
+
+ SBModule(const SBModule &rhs);
+
+ SBModule(const SBModuleSpec &module_spec);
+
+ const SBModule &operator=(const SBModule &rhs);
+
+ SBModule(lldb::SBProcess &process, lldb::addr_t header_addr);
+
+ ~SBModule();
+
+ bool IsValid() const;
- SBModule ();
-
- SBModule (const SBModule &rhs);
-
- SBModule (const SBModuleSpec &module_spec);
-
- const SBModule &
- operator = (const SBModule &rhs);
-
- SBModule (lldb::SBProcess &process,
- lldb::addr_t header_addr);
-
- ~SBModule ();
-
- bool
- IsValid () const;
-
- void
- Clear();
-
- //------------------------------------------------------------------
- /// Get const accessor for the module file specification.
- ///
- /// This function returns the file for the module on the host system
- /// that is running LLDB. This can differ from the path on the
- /// platform since we might be doing remote debugging.
- ///
- /// @return
- /// A const reference to the file specification object.
- //------------------------------------------------------------------
- lldb::SBFileSpec
- GetFileSpec () const;
-
- //------------------------------------------------------------------
- /// Get accessor for the module platform file specification.
- ///
- /// Platform file refers to the path of the module as it is known on
- /// the remote system on which it is being debugged. For local
- /// debugging this is always the same as Module::GetFileSpec(). But
- /// remote debugging might mention a file '/usr/lib/liba.dylib'
- /// which might be locally downloaded and cached. In this case the
- /// platform file could be something like:
- /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
- /// The file could also be cached in a local developer kit directory.
- ///
- /// @return
- /// A const reference to the file specification object.
- //------------------------------------------------------------------
- lldb::SBFileSpec
- GetPlatformFileSpec () const;
-
- bool
- SetPlatformFileSpec (const lldb::SBFileSpec &platform_file);
-
- //------------------------------------------------------------------
- /// Get accessor for the remote install path for a module.
- ///
- /// When debugging to a remote platform by connecting to a remote
- /// platform, the install path of the module can be set. If the
- /// install path is set, every time the process is about to launch
- /// the target will install this module on the remote platform prior
- /// to launching.
- ///
- /// @return
- /// A file specification object.
- //------------------------------------------------------------------
- lldb::SBFileSpec
- GetRemoteInstallFileSpec ();
-
- //------------------------------------------------------------------
- /// Set accessor for the remote install path for a module.
- ///
- /// When debugging to a remote platform by connecting to a remote
- /// platform, the install path of the module can be set. If the
- /// install path is set, every time the process is about to launch
- /// the target will install this module on the remote platform prior
- /// to launching.
- ///
- /// If \a file specifies a full path to an install location, the
- /// module will be installed to this path. If the path is relative
- /// (no directory specified, or the path is partial like "usr/lib"
- /// or "./usr/lib", then the install path will be resolved using
- /// the platform's current working directory as the base path.
- ///
- /// @param[in] file
- /// A file specification object.
- //------------------------------------------------------------------
- bool
- SetRemoteInstallFileSpec (lldb::SBFileSpec &file);
-
- lldb::ByteOrder
- GetByteOrder ();
-
- uint32_t
- GetAddressByteSize();
-
- const char *
- GetTriple ();
-
- const uint8_t *
- GetUUIDBytes () const;
-
- const char *
- GetUUIDString () const;
-
- bool
- operator == (const lldb::SBModule &rhs) const;
-
- bool
- operator != (const lldb::SBModule &rhs) const;
-
- lldb::SBSection
- FindSection (const char *sect_name);
-
- lldb::SBAddress
- ResolveFileAddress (lldb::addr_t vm_addr);
-
- lldb::SBSymbolContext
- ResolveSymbolContextForAddress (const lldb::SBAddress& addr,
- uint32_t resolve_scope);
-
- bool
- GetDescription (lldb::SBStream &description);
-
- uint32_t
- GetNumCompileUnits();
-
- lldb::SBCompileUnit
- GetCompileUnitAtIndex (uint32_t);
-
- size_t
- GetNumSymbols ();
-
- lldb::SBSymbol
- GetSymbolAtIndex (size_t idx);
-
- lldb::SBSymbol
- FindSymbol (const char *name,
- lldb::SymbolType type = eSymbolTypeAny);
-
- lldb::SBSymbolContextList
- FindSymbols (const char *name,
- lldb::SymbolType type = eSymbolTypeAny);
-
- size_t
- GetNumSections ();
-
- lldb::SBSection
- GetSectionAtIndex (size_t idx);
- //------------------------------------------------------------------
- /// Find functions by name.
- ///
- /// @param[in] name
- /// The name of the function we are looking for.
- ///
- /// @param[in] name_type_mask
- /// A logical OR of one or more FunctionNameType enum bits that
- /// indicate what kind of names should be used when doing the
- /// lookup. Bits include fully qualified names, base names,
- /// C++ methods, or ObjC selectors.
- /// See FunctionNameType for more details.
- ///
- /// @return
- /// A lldb::SBSymbolContextList that gets filled in with all of
- /// the symbol contexts for all the matches.
- //------------------------------------------------------------------
- lldb::SBSymbolContextList
- FindFunctions (const char *name,
- uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
-
- //------------------------------------------------------------------
- /// Find global and static variables by name.
- ///
- /// @param[in] target
- /// A valid SBTarget instance representing the debuggee.
- ///
- /// @param[in] name
- /// The name of the global or static variable we are looking
- /// for.
- ///
- /// @param[in] max_matches
- /// Allow the number of matches to be limited to \a max_matches.
- ///
- /// @return
- /// A list of matched variables in an SBValueList.
- //------------------------------------------------------------------
- lldb::SBValueList
- FindGlobalVariables (lldb::SBTarget &target,
- const char *name,
- uint32_t max_matches);
-
- //------------------------------------------------------------------
- /// Find the first global (or static) variable by name.
- ///
- /// @param[in] target
- /// A valid SBTarget instance representing the debuggee.
- ///
- /// @param[in] name
- /// The name of the global or static variable we are looking
- /// for.
- ///
- /// @return
- /// An SBValue that gets filled in with the found variable (if any).
- //------------------------------------------------------------------
- lldb::SBValue
- FindFirstGlobalVariable (lldb::SBTarget &target, const char *name);
-
- lldb::SBType
- FindFirstType (const char* name);
-
- lldb::SBTypeList
- FindTypes (const char* type);
-
- //------------------------------------------------------------------
- /// Get a type using its type ID.
- ///
- /// Each symbol file reader will assign different user IDs to their
- /// types, but it is sometimes useful when debugging type issues to
- /// be able to grab a type using its type ID.
- ///
- /// For DWARF debug info, the type ID is the DIE offset.
- ///
- /// @param[in] uid
- /// The type user ID.
- ///
- /// @return
- /// An SBType for the given type ID, or an empty SBType if the
- /// type was not found.
- //------------------------------------------------------------------
- lldb::SBType
- GetTypeByID (lldb::user_id_t uid);
-
- lldb::SBType
- GetBasicType(lldb::BasicType type);
-
- //------------------------------------------------------------------
- /// Get all types matching \a type_mask from debug info in this
- /// module.
- ///
- /// @param[in] type_mask
- /// A bitfield that consists of one or more bits logically OR'ed
- /// together from the lldb::TypeClass enumeration. This allows
- /// you to request only structure types, or only class, struct
- /// and union types. Passing in lldb::eTypeClassAny will return
- /// all types found in the debug information for this module.
- ///
- /// @return
- /// A list of types in this module that match \a type_mask
- //------------------------------------------------------------------
- lldb::SBTypeList
- GetTypes (uint32_t type_mask = lldb::eTypeClassAny);
-
- //------------------------------------------------------------------
- /// Get the module version numbers.
- ///
- /// Many object files have a set of version numbers that describe
- /// the version of the executable or shared library. Typically there
- /// are major, minor and build, but there may be more. This function
- /// will extract the versions from object files if they are available.
- ///
- /// If \a versions is NULL, or if \a num_versions is 0, the return
- /// value will indicate how many version numbers are available in
- /// this object file. Then a subsequent call can be made to this
- /// function with a value of \a versions and \a num_versions that
- /// has enough storage to store some or all version numbers.
- ///
- /// @param[out] versions
- /// A pointer to an array of uint32_t types that is \a num_versions
- /// long. If this value is NULL, the return value will indicate
- /// how many version numbers are required for a subsequent call
- /// to this function so that all versions can be retrieved. If
- /// the value is non-NULL, then at most \a num_versions of the
- /// existing versions numbers will be filled into \a versions.
- /// If there is no version information available, \a versions
- /// will be filled with \a num_versions UINT32_MAX values
- /// and zero will be returned.
- ///
- /// @param[in] num_versions
- /// The maximum number of entries to fill into \a versions. If
- /// this value is zero, then the return value will indicate
- /// how many version numbers there are in total so another call
- /// to this function can be make with adequate storage in
- /// \a versions to get all of the version numbers. If \a
- /// num_versions is less than the actual number of version
- /// numbers in this object file, only \a num_versions will be
- /// filled into \a versions (if \a versions is non-NULL).
- ///
- /// @return
- /// This function always returns the number of version numbers
- /// that this object file has regardless of the number of
- /// version numbers that were copied into \a versions.
- //------------------------------------------------------------------
- uint32_t
- GetVersion (uint32_t *versions,
- uint32_t num_versions);
-
- //------------------------------------------------------------------
- /// Get accessor for the symbol file specification.
- ///
- /// When debugging an object file an additional debug information can
- /// be provided in separate file. Therefore if you debugging something
- /// like '/usr/lib/liba.dylib' then debug information can be located
- /// in folder like '/usr/lib/liba.dylib.dSYM/'.
- ///
- /// @return
- /// A const reference to the file specification object.
- //------------------------------------------------------------------
- lldb::SBFileSpec
- GetSymbolFileSpec() const;
-
- lldb::SBAddress
- GetObjectFileHeaderAddress() const;
+ void Clear();
+
+ //------------------------------------------------------------------
+ /// Get const accessor for the module file specification.
+ ///
+ /// This function returns the file for the module on the host system
+ /// that is running LLDB. This can differ from the path on the
+ /// platform since we might be doing remote debugging.
+ ///
+ /// @return
+ /// A const reference to the file specification object.
+ //------------------------------------------------------------------
+ lldb::SBFileSpec GetFileSpec() const;
+
+ //------------------------------------------------------------------
+ /// Get accessor for the module platform file specification.
+ ///
+ /// Platform file refers to the path of the module as it is known on
+ /// the remote system on which it is being debugged. For local
+ /// debugging this is always the same as Module::GetFileSpec(). But
+ /// remote debugging might mention a file '/usr/lib/liba.dylib'
+ /// which might be locally downloaded and cached. In this case the
+ /// platform file could be something like:
+ /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
+ /// The file could also be cached in a local developer kit directory.
+ ///
+ /// @return
+ /// A const reference to the file specification object.
+ //------------------------------------------------------------------
+ lldb::SBFileSpec GetPlatformFileSpec() const;
+
+ bool SetPlatformFileSpec(const lldb::SBFileSpec &platform_file);
+
+ //------------------------------------------------------------------
+ /// Get accessor for the remote install path for a module.
+ ///
+ /// When debugging to a remote platform by connecting to a remote
+ /// platform, the install path of the module can be set. If the
+ /// install path is set, every time the process is about to launch
+ /// the target will install this module on the remote platform prior
+ /// to launching.
+ ///
+ /// @return
+ /// A file specification object.
+ //------------------------------------------------------------------
+ lldb::SBFileSpec GetRemoteInstallFileSpec();
+
+ //------------------------------------------------------------------
+ /// Set accessor for the remote install path for a module.
+ ///
+ /// When debugging to a remote platform by connecting to a remote
+ /// platform, the install path of the module can be set. If the
+ /// install path is set, every time the process is about to launch
+ /// the target will install this module on the remote platform prior
+ /// to launching.
+ ///
+ /// If \a file specifies a full path to an install location, the
+ /// module will be installed to this path. If the path is relative
+ /// (no directory specified, or the path is partial like "usr/lib"
+ /// or "./usr/lib", then the install path will be resolved using
+ /// the platform's current working directory as the base path.
+ ///
+ /// @param[in] file
+ /// A file specification object.
+ //------------------------------------------------------------------
+ bool SetRemoteInstallFileSpec(lldb::SBFileSpec &file);
+
+ lldb::ByteOrder GetByteOrder();
+
+ uint32_t GetAddressByteSize();
+
+ const char *GetTriple();
+
+ const uint8_t *GetUUIDBytes() const;
+
+ const char *GetUUIDString() const;
+
+ bool operator==(const lldb::SBModule &rhs) const;
+
+ bool operator!=(const lldb::SBModule &rhs) const;
+
+ lldb::SBSection FindSection(const char *sect_name);
+
+ lldb::SBAddress ResolveFileAddress(lldb::addr_t vm_addr);
+
+ lldb::SBSymbolContext
+ ResolveSymbolContextForAddress(const lldb::SBAddress &addr,
+ uint32_t resolve_scope);
+
+ bool GetDescription(lldb::SBStream &description);
+
+ uint32_t GetNumCompileUnits();
+
+ lldb::SBCompileUnit GetCompileUnitAtIndex(uint32_t);
+
+ size_t GetNumSymbols();
+
+ lldb::SBSymbol GetSymbolAtIndex(size_t idx);
+
+ lldb::SBSymbol FindSymbol(const char *name,
+ lldb::SymbolType type = eSymbolTypeAny);
+
+ lldb::SBSymbolContextList FindSymbols(const char *name,
+ lldb::SymbolType type = eSymbolTypeAny);
+
+ size_t GetNumSections();
+
+ lldb::SBSection GetSectionAtIndex(size_t idx);
+ //------------------------------------------------------------------
+ /// Find functions by name.
+ ///
+ /// @param[in] name
+ /// The name of the function we are looking for.
+ ///
+ /// @param[in] name_type_mask
+ /// A logical OR of one or more FunctionNameType enum bits that
+ /// indicate what kind of names should be used when doing the
+ /// lookup. Bits include fully qualified names, base names,
+ /// C++ methods, or ObjC selectors.
+ /// See FunctionNameType for more details.
+ ///
+ /// @return
+ /// A lldb::SBSymbolContextList that gets filled in with all of
+ /// the symbol contexts for all the matches.
+ //------------------------------------------------------------------
+ lldb::SBSymbolContextList
+ FindFunctions(const char *name,
+ uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
+
+ //------------------------------------------------------------------
+ /// Find global and static variables by name.
+ ///
+ /// @param[in] target
+ /// A valid SBTarget instance representing the debuggee.
+ ///
+ /// @param[in] name
+ /// The name of the global or static variable we are looking
+ /// for.
+ ///
+ /// @param[in] max_matches
+ /// Allow the number of matches to be limited to \a max_matches.
+ ///
+ /// @return
+ /// A list of matched variables in an SBValueList.
+ //------------------------------------------------------------------
+ lldb::SBValueList FindGlobalVariables(lldb::SBTarget &target,
+ const char *name, uint32_t max_matches);
+
+ //------------------------------------------------------------------
+ /// Find the first global (or static) variable by name.
+ ///
+ /// @param[in] target
+ /// A valid SBTarget instance representing the debuggee.
+ ///
+ /// @param[in] name
+ /// The name of the global or static variable we are looking
+ /// for.
+ ///
+ /// @return
+ /// An SBValue that gets filled in with the found variable (if any).
+ //------------------------------------------------------------------
+ lldb::SBValue FindFirstGlobalVariable(lldb::SBTarget &target,
+ const char *name);
+
+ lldb::SBType FindFirstType(const char *name);
+
+ lldb::SBTypeList FindTypes(const char *type);
+
+ //------------------------------------------------------------------
+ /// Get a type using its type ID.
+ ///
+ /// Each symbol file reader will assign different user IDs to their
+ /// types, but it is sometimes useful when debugging type issues to
+ /// be able to grab a type using its type ID.
+ ///
+ /// For DWARF debug info, the type ID is the DIE offset.
+ ///
+ /// @param[in] uid
+ /// The type user ID.
+ ///
+ /// @return
+ /// An SBType for the given type ID, or an empty SBType if the
+ /// type was not found.
+ //------------------------------------------------------------------
+ lldb::SBType GetTypeByID(lldb::user_id_t uid);
+
+ lldb::SBType GetBasicType(lldb::BasicType type);
+
+ //------------------------------------------------------------------
+ /// Get all types matching \a type_mask from debug info in this
+ /// module.
+ ///
+ /// @param[in] type_mask
+ /// A bitfield that consists of one or more bits logically OR'ed
+ /// together from the lldb::TypeClass enumeration. This allows
+ /// you to request only structure types, or only class, struct
+ /// and union types. Passing in lldb::eTypeClassAny will return
+ /// all types found in the debug information for this module.
+ ///
+ /// @return
+ /// A list of types in this module that match \a type_mask
+ //------------------------------------------------------------------
+ lldb::SBTypeList GetTypes(uint32_t type_mask = lldb::eTypeClassAny);
+
+ //------------------------------------------------------------------
+ /// Get the module version numbers.
+ ///
+ /// Many object files have a set of version numbers that describe
+ /// the version of the executable or shared library. Typically there
+ /// are major, minor and build, but there may be more. This function
+ /// will extract the versions from object files if they are available.
+ ///
+ /// If \a versions is NULL, or if \a num_versions is 0, the return
+ /// value will indicate how many version numbers are available in
+ /// this object file. Then a subsequent call can be made to this
+ /// function with a value of \a versions and \a num_versions that
+ /// has enough storage to store some or all version numbers.
+ ///
+ /// @param[out] versions
+ /// A pointer to an array of uint32_t types that is \a num_versions
+ /// long. If this value is NULL, the return value will indicate
+ /// how many version numbers are required for a subsequent call
+ /// to this function so that all versions can be retrieved. If
+ /// the value is non-NULL, then at most \a num_versions of the
+ /// existing versions numbers will be filled into \a versions.
+ /// If there is no version information available, \a versions
+ /// will be filled with \a num_versions UINT32_MAX values
+ /// and zero will be returned.
+ ///
+ /// @param[in] num_versions
+ /// The maximum number of entries to fill into \a versions. If
+ /// this value is zero, then the return value will indicate
+ /// how many version numbers there are in total so another call
+ /// to this function can be make with adequate storage in
+ /// \a versions to get all of the version numbers. If \a
+ /// num_versions is less than the actual number of version
+ /// numbers in this object file, only \a num_versions will be
+ /// filled into \a versions (if \a versions is non-NULL).
+ ///
+ /// @return
+ /// This function always returns the number of version numbers
+ /// that this object file has regardless of the number of
+ /// version numbers that were copied into \a versions.
+ //------------------------------------------------------------------
+ uint32_t GetVersion(uint32_t *versions, uint32_t num_versions);
+
+ //------------------------------------------------------------------
+ /// Get accessor for the symbol file specification.
+ ///
+ /// When debugging an object file an additional debug information can
+ /// be provided in separate file. Therefore if you debugging something
+ /// like '/usr/lib/liba.dylib' then debug information can be located
+ /// in folder like '/usr/lib/liba.dylib.dSYM/'.
+ ///
+ /// @return
+ /// A const reference to the file specification object.
+ //------------------------------------------------------------------
+ lldb::SBFileSpec GetSymbolFileSpec() const;
+
+ lldb::SBAddress GetObjectFileHeaderAddress() const;
private:
- friend class SBAddress;
- friend class SBFrame;
- friend class SBSection;
- friend class SBSymbolContext;
- friend class SBTarget;
+ friend class SBAddress;
+ friend class SBFrame;
+ friend class SBSection;
+ friend class SBSymbolContext;
+ friend class SBTarget;
- explicit SBModule (const lldb::ModuleSP& module_sp);
+ explicit SBModule(const lldb::ModuleSP &module_sp);
- ModuleSP
- GetSP () const;
-
- void
- SetSP (const ModuleSP &module_sp);
+ ModuleSP GetSP() const;
- lldb::ModuleSP m_opaque_sp;
-};
+ void SetSP(const ModuleSP &module_sp);
+ lldb::ModuleSP m_opaque_sp;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBModuleSpec.h b/include/lldb/API/SBModuleSpec.h
index d533de3c7bce..1a862703a702 100644
--- a/include/lldb/API/SBModuleSpec.h
+++ b/include/lldb/API/SBModuleSpec.h
@@ -15,138 +15,109 @@
namespace lldb {
-class LLDB_API SBModuleSpec
-{
+class LLDB_API SBModuleSpec {
public:
+ SBModuleSpec();
+
+ SBModuleSpec(const SBModuleSpec &rhs);
+
+ ~SBModuleSpec();
+
+ const SBModuleSpec &operator=(const SBModuleSpec &rhs);
+
+ bool IsValid() const;
+
+ void Clear();
+
+ //------------------------------------------------------------------
+ /// Get const accessor for the module file.
+ ///
+ /// This function returns the file for the module on the host system
+ /// that is running LLDB. This can differ from the path on the
+ /// platform since we might be doing remote debugging.
+ ///
+ /// @return
+ /// A const reference to the file specification object.
+ //------------------------------------------------------------------
+ lldb::SBFileSpec GetFileSpec();
+
+ void SetFileSpec(const lldb::SBFileSpec &fspec);
+
+ //------------------------------------------------------------------
+ /// Get accessor for the module platform file.
+ ///
+ /// Platform file refers to the path of the module as it is known on
+ /// the remote system on which it is being debugged. For local
+ /// debugging this is always the same as Module::GetFileSpec(). But
+ /// remote debugging might mention a file '/usr/lib/liba.dylib'
+ /// which might be locally downloaded and cached. In this case the
+ /// platform file could be something like:
+ /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
+ /// The file could also be cached in a local developer kit directory.
+ ///
+ /// @return
+ /// A const reference to the file specification object.
+ //------------------------------------------------------------------
+ lldb::SBFileSpec GetPlatformFileSpec();
+
+ void SetPlatformFileSpec(const lldb::SBFileSpec &fspec);
+
+ lldb::SBFileSpec GetSymbolFileSpec();
+
+ void SetSymbolFileSpec(const lldb::SBFileSpec &fspec);
+
+ const char *GetObjectName();
+
+ void SetObjectName(const char *name);
+
+ const char *GetTriple();
+
+ void SetTriple(const char *triple);
+
+ const uint8_t *GetUUIDBytes();
+
+ size_t GetUUIDLength();
+
+ bool SetUUIDBytes(const uint8_t *uuid, size_t uuid_len);
+
+ bool GetDescription(lldb::SBStream &description);
- SBModuleSpec ();
-
- SBModuleSpec (const SBModuleSpec &rhs);
-
- ~SBModuleSpec ();
-
- const SBModuleSpec &
- operator = (const SBModuleSpec &rhs);
-
- bool
- IsValid () const;
-
- void
- Clear();
-
- //------------------------------------------------------------------
- /// Get const accessor for the module file.
- ///
- /// This function returns the file for the module on the host system
- /// that is running LLDB. This can differ from the path on the
- /// platform since we might be doing remote debugging.
- ///
- /// @return
- /// A const reference to the file specification object.
- //------------------------------------------------------------------
- lldb::SBFileSpec
- GetFileSpec ();
-
- void
- SetFileSpec (const lldb::SBFileSpec &fspec);
-
- //------------------------------------------------------------------
- /// Get accessor for the module platform file.
- ///
- /// Platform file refers to the path of the module as it is known on
- /// the remote system on which it is being debugged. For local
- /// debugging this is always the same as Module::GetFileSpec(). But
- /// remote debugging might mention a file '/usr/lib/liba.dylib'
- /// which might be locally downloaded and cached. In this case the
- /// platform file could be something like:
- /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
- /// The file could also be cached in a local developer kit directory.
- ///
- /// @return
- /// A const reference to the file specification object.
- //------------------------------------------------------------------
- lldb::SBFileSpec
- GetPlatformFileSpec ();
-
- void
- SetPlatformFileSpec (const lldb::SBFileSpec &fspec);
-
- lldb::SBFileSpec
- GetSymbolFileSpec ();
-
- void
- SetSymbolFileSpec (const lldb::SBFileSpec &fspec);
-
- const char *
- GetObjectName ();
-
- void
- SetObjectName (const char *name);
-
- const char *
- GetTriple ();
-
- void
- SetTriple (const char *triple);
-
- const uint8_t *
- GetUUIDBytes ();
-
- size_t
- GetUUIDLength ();
-
- bool
- SetUUIDBytes (const uint8_t *uuid, size_t uuid_len);
-
- bool
- GetDescription (lldb::SBStream &description);
-
private:
- friend class SBModuleSpecList;
- friend class SBModule;
- friend class SBTarget;
+ friend class SBModuleSpecList;
+ friend class SBModule;
+ friend class SBTarget;
- std::unique_ptr<lldb_private::ModuleSpec> m_opaque_ap;
+ std::unique_ptr<lldb_private::ModuleSpec> m_opaque_ap;
};
-class SBModuleSpecList
-{
+class SBModuleSpecList {
public:
- SBModuleSpecList();
-
- SBModuleSpecList (const SBModuleSpecList &rhs);
-
- ~SBModuleSpecList();
-
- SBModuleSpecList &
- operator = (const SBModuleSpecList &rhs);
-
- static SBModuleSpecList
- GetModuleSpecifications (const char *path);
-
- void
- Append (const SBModuleSpec &spec);
-
- void
- Append (const SBModuleSpecList &spec_list);
-
- SBModuleSpec
- FindFirstMatchingSpec (const SBModuleSpec &match_spec);
-
- SBModuleSpecList
- FindMatchingSpecs (const SBModuleSpec &match_spec);
-
- size_t
- GetSize();
-
- SBModuleSpec
- GetSpecAtIndex (size_t i);
-
- bool
- GetDescription (lldb::SBStream &description);
-
+ SBModuleSpecList();
+
+ SBModuleSpecList(const SBModuleSpecList &rhs);
+
+ ~SBModuleSpecList();
+
+ SBModuleSpecList &operator=(const SBModuleSpecList &rhs);
+
+ static SBModuleSpecList GetModuleSpecifications(const char *path);
+
+ void Append(const SBModuleSpec &spec);
+
+ void Append(const SBModuleSpecList &spec_list);
+
+ SBModuleSpec FindFirstMatchingSpec(const SBModuleSpec &match_spec);
+
+ SBModuleSpecList FindMatchingSpecs(const SBModuleSpec &match_spec);
+
+ size_t GetSize();
+
+ SBModuleSpec GetSpecAtIndex(size_t i);
+
+ bool GetDescription(lldb::SBStream &description);
+
private:
- std::unique_ptr<lldb_private::ModuleSpecList> m_opaque_ap;
+ std::unique_ptr<lldb_private::ModuleSpecList> m_opaque_ap;
};
} // namespace lldb
diff --git a/include/lldb/API/SBPlatform.h b/include/lldb/API/SBPlatform.h
index 80ad1c06e868..3f7e1acb74b5 100644
--- a/include/lldb/API/SBPlatform.h
+++ b/include/lldb/API/SBPlatform.h
@@ -19,195 +19,147 @@ struct PlatformShellCommand;
namespace lldb {
- class SBLaunchInfo;
-
- class LLDB_API SBPlatformConnectOptions
- {
- public:
- SBPlatformConnectOptions (const char *url);
-
- SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs);
-
- ~SBPlatformConnectOptions ();
-
- void
- operator=(const SBPlatformConnectOptions &rhs);
-
- const char *
- GetURL();
-
- void
- SetURL(const char *url);
-
- bool
- GetRsyncEnabled();
-
- void
- EnableRsync (const char *options,
- const char *remote_path_prefix,
- bool omit_remote_hostname);
-
- void
- DisableRsync ();
-
- const char *
- GetLocalCacheDirectory();
-
- void
- SetLocalCacheDirectory(const char *path);
- protected:
- PlatformConnectOptions *m_opaque_ptr;
- };
-
- class LLDB_API SBPlatformShellCommand
- {
- public:
- SBPlatformShellCommand (const char *shell_command);
-
- SBPlatformShellCommand (const SBPlatformShellCommand &rhs);
-
- ~SBPlatformShellCommand();
-
- void
- Clear();
-
- const char *
- GetCommand();
-
- void
- SetCommand(const char *shell_command);
-
- const char *
- GetWorkingDirectory ();
-
- void
- SetWorkingDirectory (const char *path);
-
- uint32_t
- GetTimeoutSeconds ();
-
- void
- SetTimeoutSeconds (uint32_t sec);
-
- int
- GetSignal ();
-
- int
- GetStatus ();
-
- const char *
- GetOutput ();
-
- protected:
- friend class SBPlatform;
-
- PlatformShellCommand *m_opaque_ptr;
- };
-
- class LLDB_API SBPlatform
- {
- public:
-
- SBPlatform ();
-
- SBPlatform (const char *platform_name);
-
- ~SBPlatform();
-
- bool
- IsValid () const;
-
- void
- Clear ();
-
- const char *
- GetWorkingDirectory();
-
- bool
- SetWorkingDirectory(const char *path);
-
- const char *
- GetName ();
-
- SBError
- ConnectRemote (SBPlatformConnectOptions &connect_options);
-
- void
- DisconnectRemote ();
-
- bool
- IsConnected();
-
- //----------------------------------------------------------------------
- // The following functions will work if the platform is connected
- //----------------------------------------------------------------------
- const char *
- GetTriple();
-
- const char *
- GetHostname ();
-
- const char *
- GetOSBuild ();
-
- const char *
- GetOSDescription ();
-
- uint32_t
- GetOSMajorVersion ();
-
- uint32_t
- GetOSMinorVersion ();
-
- uint32_t
- GetOSUpdateVersion ();
-
- SBError
- Put (SBFileSpec &src, SBFileSpec &dst);
-
- SBError
- Get (SBFileSpec &src, SBFileSpec &dst);
-
- SBError
- Install (SBFileSpec& src, SBFileSpec& dst);
-
- SBError
- Run (SBPlatformShellCommand &shell_command);
-
- SBError
- Launch (SBLaunchInfo &launch_info);
-
- SBError
- Kill (const lldb::pid_t pid);
-
- SBError
- MakeDirectory (const char *path, uint32_t file_permissions = eFilePermissionsDirectoryDefault);
-
- uint32_t
- GetFilePermissions (const char *path);
-
- SBError
- SetFilePermissions (const char *path, uint32_t file_permissions);
-
- SBUnixSignals
- GetUnixSignals() const;
-
- protected:
-
- friend class SBDebugger;
- friend class SBTarget;
-
- lldb::PlatformSP
- GetSP () const;
-
- void
- SetSP (const lldb::PlatformSP& platform_sp);
-
- SBError
- ExecuteConnected (const std::function<lldb_private::Error(const lldb::PlatformSP&)>& func);
-
- lldb::PlatformSP m_opaque_sp;
- };
+class SBLaunchInfo;
+
+class LLDB_API SBPlatformConnectOptions {
+public:
+ SBPlatformConnectOptions(const char *url);
+
+ SBPlatformConnectOptions(const SBPlatformConnectOptions &rhs);
+
+ ~SBPlatformConnectOptions();
+
+ void operator=(const SBPlatformConnectOptions &rhs);
+
+ const char *GetURL();
+
+ void SetURL(const char *url);
+
+ bool GetRsyncEnabled();
+
+ void EnableRsync(const char *options, const char *remote_path_prefix,
+ bool omit_remote_hostname);
+
+ void DisableRsync();
+
+ const char *GetLocalCacheDirectory();
+
+ void SetLocalCacheDirectory(const char *path);
+
+protected:
+ PlatformConnectOptions *m_opaque_ptr;
+};
+
+class LLDB_API SBPlatformShellCommand {
+public:
+ SBPlatformShellCommand(const char *shell_command);
+
+ SBPlatformShellCommand(const SBPlatformShellCommand &rhs);
+
+ ~SBPlatformShellCommand();
+
+ void Clear();
+
+ const char *GetCommand();
+
+ void SetCommand(const char *shell_command);
+
+ const char *GetWorkingDirectory();
+
+ void SetWorkingDirectory(const char *path);
+
+ uint32_t GetTimeoutSeconds();
+
+ void SetTimeoutSeconds(uint32_t sec);
+
+ int GetSignal();
+
+ int GetStatus();
+
+ const char *GetOutput();
+
+protected:
+ friend class SBPlatform;
+
+ PlatformShellCommand *m_opaque_ptr;
+};
+
+class LLDB_API SBPlatform {
+public:
+ SBPlatform();
+
+ SBPlatform(const char *platform_name);
+
+ ~SBPlatform();
+
+ bool IsValid() const;
+
+ void Clear();
+
+ const char *GetWorkingDirectory();
+
+ bool SetWorkingDirectory(const char *path);
+
+ const char *GetName();
+
+ SBError ConnectRemote(SBPlatformConnectOptions &connect_options);
+
+ void DisconnectRemote();
+
+ bool IsConnected();
+
+ //----------------------------------------------------------------------
+ // The following functions will work if the platform is connected
+ //----------------------------------------------------------------------
+ const char *GetTriple();
+
+ const char *GetHostname();
+
+ const char *GetOSBuild();
+
+ const char *GetOSDescription();
+
+ uint32_t GetOSMajorVersion();
+
+ uint32_t GetOSMinorVersion();
+
+ uint32_t GetOSUpdateVersion();
+
+ SBError Put(SBFileSpec &src, SBFileSpec &dst);
+
+ SBError Get(SBFileSpec &src, SBFileSpec &dst);
+
+ SBError Install(SBFileSpec &src, SBFileSpec &dst);
+
+ SBError Run(SBPlatformShellCommand &shell_command);
+
+ SBError Launch(SBLaunchInfo &launch_info);
+
+ SBError Kill(const lldb::pid_t pid);
+
+ SBError
+ MakeDirectory(const char *path,
+ uint32_t file_permissions = eFilePermissionsDirectoryDefault);
+
+ uint32_t GetFilePermissions(const char *path);
+
+ SBError SetFilePermissions(const char *path, uint32_t file_permissions);
+
+ SBUnixSignals GetUnixSignals() const;
+
+protected:
+ friend class SBDebugger;
+ friend class SBTarget;
+
+ lldb::PlatformSP GetSP() const;
+
+ void SetSP(const lldb::PlatformSP &platform_sp);
+
+ SBError ExecuteConnected(
+ const std::function<lldb_private::Error(const lldb::PlatformSP &)> &func);
+
+ lldb::PlatformSP m_opaque_sp;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBProcess.h b/include/lldb/API/SBProcess.h
index a8881ad898c0..fd95790c6686 100644
--- a/include/lldb/API/SBProcess.h
+++ b/include/lldb/API/SBProcess.h
@@ -12,438 +12,368 @@
#include "lldb/API/SBDefines.h"
#include "lldb/API/SBError.h"
-#include "lldb/API/SBTarget.h"
#include "lldb/API/SBQueue.h"
+#include "lldb/API/SBTarget.h"
#include <stdio.h>
namespace lldb {
class SBEvent;
-class LLDB_API SBProcess
-{
+class LLDB_API SBProcess {
public:
- //------------------------------------------------------------------
- /// Broadcaster event bits definitions.
- //------------------------------------------------------------------
- FLAGS_ANONYMOUS_ENUM()
- {
- eBroadcastBitStateChanged = (1 << 0),
- eBroadcastBitInterrupt = (1 << 1),
- eBroadcastBitSTDOUT = (1 << 2),
- eBroadcastBitSTDERR = (1 << 3),
- eBroadcastBitProfileData = (1 << 4)
- };
-
- SBProcess ();
-
- SBProcess (const lldb::SBProcess& rhs);
-
- const lldb::SBProcess&
- operator = (const lldb::SBProcess& rhs);
-
- SBProcess (const lldb::ProcessSP &process_sp);
-
- ~SBProcess();
-
- static const char *
- GetBroadcasterClassName ();
-
- const char *
- GetPluginName ();
-
- // DEPRECATED: use GetPluginName()
- const char *
- GetShortPluginName ();
-
- void
- Clear ();
-
- bool
- IsValid() const;
-
- lldb::SBTarget
- GetTarget() const;
-
- lldb::ByteOrder
- GetByteOrder() const;
-
- size_t
- PutSTDIN (const char *src, size_t src_len);
-
- size_t
- GetSTDOUT (char *dst, size_t dst_len) const;
-
- size_t
- GetSTDERR (char *dst, size_t dst_len) const;
-
- size_t
- GetAsyncProfileData(char *dst, size_t dst_len) const;
-
- void
- ReportEventState (const lldb::SBEvent &event, FILE *out) const;
-
- void
- AppendEventStateReport (const lldb::SBEvent &event, lldb::SBCommandReturnObject &result);
-
- //------------------------------------------------------------------
- /// Remote connection related functions. These will fail if the
- /// process is not in eStateConnected. They are intended for use
- /// when connecting to an externally managed debugserver instance.
- //------------------------------------------------------------------
- bool
- RemoteAttachToProcessWithID (lldb::pid_t pid,
- lldb::SBError& error);
-
- bool
- RemoteLaunch (char const **argv,
- char const **envp,
- const char *stdin_path,
- const char *stdout_path,
- const char *stderr_path,
- const char *working_directory,
- uint32_t launch_flags,
- bool stop_at_entry,
- lldb::SBError& error);
-
- //------------------------------------------------------------------
- // Thread related functions
- //------------------------------------------------------------------
- uint32_t
- GetNumThreads ();
-
- lldb::SBThread
- GetThreadAtIndex (size_t index);
-
- lldb::SBThread
- GetThreadByID (lldb::tid_t sb_thread_id);
-
- lldb::SBThread
- GetThreadByIndexID (uint32_t index_id);
-
- lldb::SBThread
- GetSelectedThread () const;
-
- //------------------------------------------------------------------
- // Function for lazily creating a thread using the current OS
- // plug-in. This function will be removed in the future when there
- // are APIs to create SBThread objects through the interface and add
- // them to the process through the SBProcess API.
- //------------------------------------------------------------------
- lldb::SBThread
- CreateOSPluginThread (lldb::tid_t tid, lldb::addr_t context);
-
- bool
- SetSelectedThread (const lldb::SBThread &thread);
-
- bool
- SetSelectedThreadByID (lldb::tid_t tid);
-
- bool
- SetSelectedThreadByIndexID (uint32_t index_id);
-
- //------------------------------------------------------------------
- // Queue related functions
- //------------------------------------------------------------------
- uint32_t
- GetNumQueues ();
-
- lldb::SBQueue
- GetQueueAtIndex (size_t index);
-
- //------------------------------------------------------------------
- // Stepping related functions
- //------------------------------------------------------------------
-
- lldb::StateType
- GetState ();
-
- int
- GetExitStatus ();
-
- const char *
- GetExitDescription ();
-
- //------------------------------------------------------------------
- /// Gets the process ID
- ///
- /// Returns the process identifier for the process as it is known
- /// on the system on which the process is running. For unix systems
- /// this is typically the same as if you called "getpid()" in the
- /// process.
- ///
- /// @return
- /// Returns LLDB_INVALID_PROCESS_ID if this object does not
- /// contain a valid process object, or if the process has not
- /// been launched. Returns a valid process ID if the process is
- /// valid.
- //------------------------------------------------------------------
- lldb::pid_t
- GetProcessID ();
-
- //------------------------------------------------------------------
- /// Gets the unique ID associated with this process object
- ///
- /// Unique IDs start at 1 and increment up with each new process
- /// instance. Since starting a process on a system might always
- /// create a process with the same process ID, there needs to be a
- /// way to tell two process instances apart.
- ///
- /// @return
- /// Returns a non-zero integer ID if this object contains a
- /// valid process object, zero if this object does not contain
- /// a valid process object.
- //------------------------------------------------------------------
- uint32_t
- GetUniqueID();
-
- uint32_t
- GetAddressByteSize() const;
-
- lldb::SBError
- Destroy ();
-
- lldb::SBError
- Continue ();
-
- lldb::SBError
- Stop ();
-
- lldb::SBError
- Kill ();
-
- lldb::SBError
- Detach ();
-
- lldb::SBError
- Detach (bool keep_stopped);
-
- lldb::SBError
- Signal (int signal);
-
- lldb::SBUnixSignals
- GetUnixSignals();
-
- void
- SendAsyncInterrupt();
-
- uint32_t
- GetStopID(bool include_expression_stops = false);
-
- //------------------------------------------------------------------
- /// Gets the stop event corresponding to stop ID.
- //
- /// Note that it wasn't fully implemented and tracks only the stop
- /// event for the last natural stop ID.
- ///
- /// @param [in] stop_id
- /// The ID of the stop event to return.
- ///
- /// @return
- /// The stop event corresponding to stop ID.
- //------------------------------------------------------------------
- lldb::SBEvent
- GetStopEventForStopID(uint32_t stop_id);
-
- size_t
- ReadMemory (addr_t addr, void *buf, size_t size, lldb::SBError &error);
-
- size_t
- WriteMemory (addr_t addr, const void *buf, size_t size, lldb::SBError &error);
-
- size_t
- ReadCStringFromMemory (addr_t addr, void *buf, size_t size, lldb::SBError &error);
-
- uint64_t
- ReadUnsignedFromMemory (addr_t addr, uint32_t byte_size, lldb::SBError &error);
-
- lldb::addr_t
- ReadPointerFromMemory (addr_t addr, lldb::SBError &error);
-
- // Events
- static lldb::StateType
- GetStateFromEvent (const lldb::SBEvent &event);
-
- static bool
- GetRestartedFromEvent (const lldb::SBEvent &event);
-
- static size_t
- GetNumRestartedReasonsFromEvent (const lldb::SBEvent &event);
-
- static const char *
- GetRestartedReasonAtIndexFromEvent (const lldb::SBEvent &event, size_t idx);
-
- static lldb::SBProcess
- GetProcessFromEvent (const lldb::SBEvent &event);
-
- static bool
- GetInterruptedFromEvent (const lldb::SBEvent &event);
-
- static bool
- EventIsProcessEvent (const lldb::SBEvent &event);
-
- lldb::SBBroadcaster
- GetBroadcaster () const;
-
- static const char *
- GetBroadcasterClass ();
-
- bool
- GetDescription (lldb::SBStream &description);
-
- uint32_t
- GetNumSupportedHardwareWatchpoints (lldb::SBError &error) const;
-
- //------------------------------------------------------------------
- /// Load a shared library into this process.
- ///
- /// @param[in] remote_image_spec
- /// The path for the shared library on the target what you want
- /// to load.
- ///
- /// @param[out] error
- /// An error object that gets filled in with any errors that
- /// might occur when trying to load the shared library.
- ///
- /// @return
- /// A token that represents the shared library that can be
- /// later used to unload the shared library. A value of
- /// LLDB_INVALID_IMAGE_TOKEN will be returned if the shared
- /// library can't be opened.
- //------------------------------------------------------------------
- uint32_t
- LoadImage (lldb::SBFileSpec &remote_image_spec, lldb::SBError &error);
-
- //------------------------------------------------------------------
- /// Load a shared library into this process.
- ///
- /// @param[in] local_image_spec
- /// The file spec that points to the shared library that you
- /// want to load if the library is located on the host. The
- /// library will be copied over to the location specified by
- /// remote_image_spec or into the current working directory with
- /// the same filename if the remote_image_spec isn't specified.
- ///
- /// @param[in] remote_image_spec
- /// If local_image_spec is specified then the location where the
- /// library should be copied over from the host. If
- /// local_image_spec isn't specified, then the path for the
- /// shared library on the target what you want to load.
- ///
- /// @param[out] error
- /// An error object that gets filled in with any errors that
- /// might occur when trying to load the shared library.
- ///
- /// @return
- /// A token that represents the shared library that can be
- /// later used to unload the shared library. A value of
- /// LLDB_INVALID_IMAGE_TOKEN will be returned if the shared
- /// library can't be opened.
- //------------------------------------------------------------------
- uint32_t
- LoadImage (const lldb::SBFileSpec &local_image_spec,
- const lldb::SBFileSpec &remote_image_spec,
- lldb::SBError &error);
-
- lldb::SBError
- UnloadImage (uint32_t image_token);
-
- lldb::SBError
- SendEventData (const char *data);
-
- //------------------------------------------------------------------
- /// Return the number of different thread-origin extended backtraces
- /// this process can support.
- ///
- /// When the process is stopped and you have an SBThread, lldb may be
- /// able to show a backtrace of when that thread was originally created,
- /// or the work item was enqueued to it (in the case of a libdispatch
- /// queue).
- ///
- /// @return
- /// The number of thread-origin extended backtrace types that may be
- /// available.
- //------------------------------------------------------------------
- uint32_t
- GetNumExtendedBacktraceTypes ();
-
- //------------------------------------------------------------------
- /// Return the name of one of the thread-origin extended backtrace
- /// methods.
- ///
- /// @param [in] idx
- /// The index of the name to return. They will be returned in
- /// the order that the user will most likely want to see them.
- /// e.g. if the type at index 0 is not available for a thread,
- /// see if the type at index 1 provides an extended backtrace.
- ///
- /// @return
- /// The name at that index.
- //------------------------------------------------------------------
- const char *
- GetExtendedBacktraceTypeAtIndex (uint32_t idx);
-
- lldb::SBThreadCollection
- GetHistoryThreads (addr_t addr);
-
- bool
- IsInstrumentationRuntimePresent(InstrumentationRuntimeType type);
-
- // Save the state of the process in a core file (or mini dump on Windows).
- lldb::SBError
- SaveCore(const char *file_name);
-
- //------------------------------------------------------------------
- /// Query the address load_addr and store the details of the memory
- /// region that contains it in the supplied SBMemoryRegionInfo object.
- /// To iterate over all memory regions use GetMemoryRegionList.
- ///
- /// @param[in] load_addr
- /// The address to be queried.
- ///
- /// @param[out] region_info
- /// A reference to an SBMemoryRegionInfo object that will contain
- /// the details of the memory region containing load_addr.
- ///
- /// @return
- /// An error object describes any errors that occurred while
- /// querying load_addr.
- //------------------------------------------------------------------
- lldb::SBError
- GetMemoryRegionInfo (lldb::addr_t load_addr, lldb::SBMemoryRegionInfo &region_info);
-
- //------------------------------------------------------------------
- /// Return the list of memory regions within the process.
- ///
- /// @return
- /// A list of all witin the process memory regions.
- //------------------------------------------------------------------
- lldb::SBMemoryRegionInfoList
- GetMemoryRegions();
+ //------------------------------------------------------------------
+ /// Broadcaster event bits definitions.
+ //------------------------------------------------------------------
+ FLAGS_ANONYMOUS_ENUM(){eBroadcastBitStateChanged = (1 << 0),
+ eBroadcastBitInterrupt = (1 << 1),
+ eBroadcastBitSTDOUT = (1 << 2),
+ eBroadcastBitSTDERR = (1 << 3),
+ eBroadcastBitProfileData = (1 << 4),
+ eBroadcastBitStructuredData = (1 << 5)};
+
+ SBProcess();
+
+ SBProcess(const lldb::SBProcess &rhs);
+
+ const lldb::SBProcess &operator=(const lldb::SBProcess &rhs);
+
+ SBProcess(const lldb::ProcessSP &process_sp);
+
+ ~SBProcess();
+
+ static const char *GetBroadcasterClassName();
+
+ const char *GetPluginName();
+
+ // DEPRECATED: use GetPluginName()
+ const char *GetShortPluginName();
+
+ void Clear();
+
+ bool IsValid() const;
+
+ lldb::SBTarget GetTarget() const;
+
+ lldb::ByteOrder GetByteOrder() const;
+
+ size_t PutSTDIN(const char *src, size_t src_len);
+
+ size_t GetSTDOUT(char *dst, size_t dst_len) const;
+
+ size_t GetSTDERR(char *dst, size_t dst_len) const;
+
+ size_t GetAsyncProfileData(char *dst, size_t dst_len) const;
+
+ void ReportEventState(const lldb::SBEvent &event, FILE *out) const;
+
+ void AppendEventStateReport(const lldb::SBEvent &event,
+ lldb::SBCommandReturnObject &result);
+
+ //------------------------------------------------------------------
+ /// Remote connection related functions. These will fail if the
+ /// process is not in eStateConnected. They are intended for use
+ /// when connecting to an externally managed debugserver instance.
+ //------------------------------------------------------------------
+ bool RemoteAttachToProcessWithID(lldb::pid_t pid, lldb::SBError &error);
+
+ bool RemoteLaunch(char const **argv, char const **envp,
+ const char *stdin_path, const char *stdout_path,
+ const char *stderr_path, const char *working_directory,
+ uint32_t launch_flags, bool stop_at_entry,
+ lldb::SBError &error);
+
+ //------------------------------------------------------------------
+ // Thread related functions
+ //------------------------------------------------------------------
+ uint32_t GetNumThreads();
+
+ lldb::SBThread GetThreadAtIndex(size_t index);
+
+ lldb::SBThread GetThreadByID(lldb::tid_t sb_thread_id);
+
+ lldb::SBThread GetThreadByIndexID(uint32_t index_id);
+
+ lldb::SBThread GetSelectedThread() const;
+
+ //------------------------------------------------------------------
+ // Function for lazily creating a thread using the current OS
+ // plug-in. This function will be removed in the future when there
+ // are APIs to create SBThread objects through the interface and add
+ // them to the process through the SBProcess API.
+ //------------------------------------------------------------------
+ lldb::SBThread CreateOSPluginThread(lldb::tid_t tid, lldb::addr_t context);
+
+ bool SetSelectedThread(const lldb::SBThread &thread);
+
+ bool SetSelectedThreadByID(lldb::tid_t tid);
+
+ bool SetSelectedThreadByIndexID(uint32_t index_id);
+
+ //------------------------------------------------------------------
+ // Queue related functions
+ //------------------------------------------------------------------
+ uint32_t GetNumQueues();
+
+ lldb::SBQueue GetQueueAtIndex(size_t index);
+
+ //------------------------------------------------------------------
+ // Stepping related functions
+ //------------------------------------------------------------------
+
+ lldb::StateType GetState();
+
+ int GetExitStatus();
+
+ const char *GetExitDescription();
+
+ //------------------------------------------------------------------
+ /// Gets the process ID
+ ///
+ /// Returns the process identifier for the process as it is known
+ /// on the system on which the process is running. For unix systems
+ /// this is typically the same as if you called "getpid()" in the
+ /// process.
+ ///
+ /// @return
+ /// Returns LLDB_INVALID_PROCESS_ID if this object does not
+ /// contain a valid process object, or if the process has not
+ /// been launched. Returns a valid process ID if the process is
+ /// valid.
+ //------------------------------------------------------------------
+ lldb::pid_t GetProcessID();
+
+ //------------------------------------------------------------------
+ /// Gets the unique ID associated with this process object
+ ///
+ /// Unique IDs start at 1 and increment up with each new process
+ /// instance. Since starting a process on a system might always
+ /// create a process with the same process ID, there needs to be a
+ /// way to tell two process instances apart.
+ ///
+ /// @return
+ /// Returns a non-zero integer ID if this object contains a
+ /// valid process object, zero if this object does not contain
+ /// a valid process object.
+ //------------------------------------------------------------------
+ uint32_t GetUniqueID();
+
+ uint32_t GetAddressByteSize() const;
+
+ lldb::SBError Destroy();
+
+ lldb::SBError Continue();
+
+ lldb::SBError Stop();
+
+ lldb::SBError Kill();
+
+ lldb::SBError Detach();
+
+ lldb::SBError Detach(bool keep_stopped);
+
+ lldb::SBError Signal(int signal);
+
+ lldb::SBUnixSignals GetUnixSignals();
+
+ void SendAsyncInterrupt();
+
+ uint32_t GetStopID(bool include_expression_stops = false);
+
+ //------------------------------------------------------------------
+ /// Gets the stop event corresponding to stop ID.
+ //
+ /// Note that it wasn't fully implemented and tracks only the stop
+ /// event for the last natural stop ID.
+ ///
+ /// @param [in] stop_id
+ /// The ID of the stop event to return.
+ ///
+ /// @return
+ /// The stop event corresponding to stop ID.
+ //------------------------------------------------------------------
+ lldb::SBEvent GetStopEventForStopID(uint32_t stop_id);
+
+ size_t ReadMemory(addr_t addr, void *buf, size_t size, lldb::SBError &error);
+
+ size_t WriteMemory(addr_t addr, const void *buf, size_t size,
+ lldb::SBError &error);
+
+ size_t ReadCStringFromMemory(addr_t addr, void *buf, size_t size,
+ lldb::SBError &error);
+
+ uint64_t ReadUnsignedFromMemory(addr_t addr, uint32_t byte_size,
+ lldb::SBError &error);
+
+ lldb::addr_t ReadPointerFromMemory(addr_t addr, lldb::SBError &error);
+
+ // Events
+ static lldb::StateType GetStateFromEvent(const lldb::SBEvent &event);
+
+ static bool GetRestartedFromEvent(const lldb::SBEvent &event);
+
+ static size_t GetNumRestartedReasonsFromEvent(const lldb::SBEvent &event);
+
+ static const char *
+ GetRestartedReasonAtIndexFromEvent(const lldb::SBEvent &event, size_t idx);
+
+ static lldb::SBProcess GetProcessFromEvent(const lldb::SBEvent &event);
+
+ static bool GetInterruptedFromEvent(const lldb::SBEvent &event);
+
+ static lldb::SBStructuredData
+ GetStructuredDataFromEvent(const lldb::SBEvent &event);
+
+ static bool EventIsProcessEvent(const lldb::SBEvent &event);
+
+ static bool EventIsStructuredDataEvent(const lldb::SBEvent &event);
+
+ lldb::SBBroadcaster GetBroadcaster() const;
+
+ static const char *GetBroadcasterClass();
+
+ bool GetDescription(lldb::SBStream &description);
+
+ uint32_t GetNumSupportedHardwareWatchpoints(lldb::SBError &error) const;
+
+ //------------------------------------------------------------------
+ /// Load a shared library into this process.
+ ///
+ /// @param[in] remote_image_spec
+ /// The path for the shared library on the target what you want
+ /// to load.
+ ///
+ /// @param[out] error
+ /// An error object that gets filled in with any errors that
+ /// might occur when trying to load the shared library.
+ ///
+ /// @return
+ /// A token that represents the shared library that can be
+ /// later used to unload the shared library. A value of
+ /// LLDB_INVALID_IMAGE_TOKEN will be returned if the shared
+ /// library can't be opened.
+ //------------------------------------------------------------------
+ uint32_t LoadImage(lldb::SBFileSpec &remote_image_spec, lldb::SBError &error);
+
+ //------------------------------------------------------------------
+ /// Load a shared library into this process.
+ ///
+ /// @param[in] local_image_spec
+ /// The file spec that points to the shared library that you
+ /// want to load if the library is located on the host. The
+ /// library will be copied over to the location specified by
+ /// remote_image_spec or into the current working directory with
+ /// the same filename if the remote_image_spec isn't specified.
+ ///
+ /// @param[in] remote_image_spec
+ /// If local_image_spec is specified then the location where the
+ /// library should be copied over from the host. If
+ /// local_image_spec isn't specified, then the path for the
+ /// shared library on the target what you want to load.
+ ///
+ /// @param[out] error
+ /// An error object that gets filled in with any errors that
+ /// might occur when trying to load the shared library.
+ ///
+ /// @return
+ /// A token that represents the shared library that can be
+ /// later used to unload the shared library. A value of
+ /// LLDB_INVALID_IMAGE_TOKEN will be returned if the shared
+ /// library can't be opened.
+ //------------------------------------------------------------------
+ uint32_t LoadImage(const lldb::SBFileSpec &local_image_spec,
+ const lldb::SBFileSpec &remote_image_spec,
+ lldb::SBError &error);
+
+ lldb::SBError UnloadImage(uint32_t image_token);
+
+ lldb::SBError SendEventData(const char *data);
+
+ //------------------------------------------------------------------
+ /// Return the number of different thread-origin extended backtraces
+ /// this process can support.
+ ///
+ /// When the process is stopped and you have an SBThread, lldb may be
+ /// able to show a backtrace of when that thread was originally created,
+ /// or the work item was enqueued to it (in the case of a libdispatch
+ /// queue).
+ ///
+ /// @return
+ /// The number of thread-origin extended backtrace types that may be
+ /// available.
+ //------------------------------------------------------------------
+ uint32_t GetNumExtendedBacktraceTypes();
+
+ //------------------------------------------------------------------
+ /// Return the name of one of the thread-origin extended backtrace
+ /// methods.
+ ///
+ /// @param [in] idx
+ /// The index of the name to return. They will be returned in
+ /// the order that the user will most likely want to see them.
+ /// e.g. if the type at index 0 is not available for a thread,
+ /// see if the type at index 1 provides an extended backtrace.
+ ///
+ /// @return
+ /// The name at that index.
+ //------------------------------------------------------------------
+ const char *GetExtendedBacktraceTypeAtIndex(uint32_t idx);
+
+ lldb::SBThreadCollection GetHistoryThreads(addr_t addr);
+
+ bool IsInstrumentationRuntimePresent(InstrumentationRuntimeType type);
+
+ // Save the state of the process in a core file (or mini dump on Windows).
+ lldb::SBError SaveCore(const char *file_name);
+
+ //------------------------------------------------------------------
+ /// Query the address load_addr and store the details of the memory
+ /// region that contains it in the supplied SBMemoryRegionInfo object.
+ /// To iterate over all memory regions use GetMemoryRegionList.
+ ///
+ /// @param[in] load_addr
+ /// The address to be queried.
+ ///
+ /// @param[out] region_info
+ /// A reference to an SBMemoryRegionInfo object that will contain
+ /// the details of the memory region containing load_addr.
+ ///
+ /// @return
+ /// An error object describes any errors that occurred while
+ /// querying load_addr.
+ //------------------------------------------------------------------
+ lldb::SBError GetMemoryRegionInfo(lldb::addr_t load_addr,
+ lldb::SBMemoryRegionInfo &region_info);
+
+ //------------------------------------------------------------------
+ /// Return the list of memory regions within the process.
+ ///
+ /// @return
+ /// A list of all witin the process memory regions.
+ //------------------------------------------------------------------
+ lldb::SBMemoryRegionInfoList GetMemoryRegions();
protected:
- friend class SBAddress;
- friend class SBBreakpoint;
- friend class SBBreakpointLocation;
- friend class SBCommandInterpreter;
- friend class SBDebugger;
- friend class SBExecutionContext;
- friend class SBFunction;
- friend class SBModule;
- friend class SBTarget;
- friend class SBThread;
- friend class SBValue;
- friend class lldb_private::QueueImpl;
-
- lldb::ProcessSP
- GetSP() const;
-
- void
- SetSP (const lldb::ProcessSP &process_sp);
-
- lldb::ProcessWP m_opaque_wp;
+ friend class SBAddress;
+ friend class SBBreakpoint;
+ friend class SBBreakpointLocation;
+ friend class SBCommandInterpreter;
+ friend class SBDebugger;
+ friend class SBExecutionContext;
+ friend class SBFunction;
+ friend class SBModule;
+ friend class SBTarget;
+ friend class SBThread;
+ friend class SBValue;
+ friend class lldb_private::QueueImpl;
+
+ lldb::ProcessSP GetSP() const;
+
+ void SetSP(const lldb::ProcessSP &process_sp);
+
+ lldb::ProcessWP m_opaque_wp;
};
-} // namespace lldb
+} // namespace lldb
-#endif // LLDB_SBProcess_h_
+#endif // LLDB_SBProcess_h_
diff --git a/include/lldb/API/SBQueue.h b/include/lldb/API/SBQueue.h
index 2f453cddd5d1..53612c0a125f 100644
--- a/include/lldb/API/SBQueue.h
+++ b/include/lldb/API/SBQueue.h
@@ -12,78 +12,61 @@
#include <vector>
-#include "lldb/lldb-forward.h"
#include "lldb/API/SBDefines.h"
+#include "lldb/lldb-forward.h"
namespace lldb {
-class LLDB_API SBQueue
-{
+class LLDB_API SBQueue {
public:
- SBQueue ();
+ SBQueue();
+
+ SBQueue(const QueueSP &queue_sp);
- SBQueue (const QueueSP& queue_sp);
-
- SBQueue (const SBQueue& rhs);
+ SBQueue(const SBQueue &rhs);
- const SBQueue &
- operator= (const lldb::SBQueue& rhs);
+ const SBQueue &operator=(const lldb::SBQueue &rhs);
- ~SBQueue();
+ ~SBQueue();
- bool
- IsValid() const;
+ bool IsValid() const;
- void
- Clear ();
+ void Clear();
- lldb::SBProcess
- GetProcess ();
+ lldb::SBProcess GetProcess();
- lldb::queue_id_t
- GetQueueID () const;
+ lldb::queue_id_t GetQueueID() const;
- const char *
- GetName () const;
+ const char *GetName() const;
- uint32_t
- GetIndexID () const;
+ uint32_t GetIndexID() const;
- uint32_t
- GetNumThreads ();
+ uint32_t GetNumThreads();
- lldb::SBThread
- GetThreadAtIndex (uint32_t);
+ lldb::SBThread GetThreadAtIndex(uint32_t);
- uint32_t
- GetNumPendingItems ();
+ uint32_t GetNumPendingItems();
- lldb::SBQueueItem
- GetPendingItemAtIndex (uint32_t);
+ lldb::SBQueueItem GetPendingItemAtIndex(uint32_t);
- uint32_t
- GetNumRunningItems ();
+ uint32_t GetNumRunningItems();
- lldb::QueueKind
- GetKind ();
+ lldb::QueueKind GetKind();
protected:
- friend class SBProcess;
- friend class SBThread;
+ friend class SBProcess;
+ friend class SBThread;
- void
- SetQueue (const lldb::QueueSP& queue_sp);
+ void SetQueue(const lldb::QueueSP &queue_sp);
- void
- FetchThreads ();
+ void FetchThreads();
- void
- FetchItems ();
+ void FetchItems();
private:
- std::shared_ptr<lldb_private::QueueImpl> m_opaque_sp;
+ std::shared_ptr<lldb_private::QueueImpl> m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBQueue_h_
+#endif // LLDB_SBQueue_h_
diff --git a/include/lldb/API/SBQueueItem.h b/include/lldb/API/SBQueueItem.h
index 9426a53b2376..78ca3ba02db1 100644
--- a/include/lldb/API/SBQueueItem.h
+++ b/include/lldb/API/SBQueueItem.h
@@ -10,48 +10,39 @@
#ifndef LLDB_SBQueueItem_h_
#define LLDB_SBQueueItem_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBAddress.h"
+#include "lldb/API/SBDefines.h"
namespace lldb {
-class LLDB_API SBQueueItem
-{
+class LLDB_API SBQueueItem {
public:
- SBQueueItem ();
+ SBQueueItem();
+
+ SBQueueItem(const lldb::QueueItemSP &queue_item_sp);
- SBQueueItem (const lldb::QueueItemSP& queue_item_sp);
-
- ~SBQueueItem();
+ ~SBQueueItem();
- bool
- IsValid() const;
+ bool IsValid() const;
- void
- Clear ();
+ void Clear();
- lldb::QueueItemKind
- GetKind () const;
+ lldb::QueueItemKind GetKind() const;
- void
- SetKind (lldb::QueueItemKind kind);
+ void SetKind(lldb::QueueItemKind kind);
- lldb::SBAddress
- GetAddress () const;
+ lldb::SBAddress GetAddress() const;
- void
- SetAddress (lldb::SBAddress addr);
+ void SetAddress(lldb::SBAddress addr);
- void
- SetQueueItem (const lldb::QueueItemSP& queue_item_sp);
+ void SetQueueItem(const lldb::QueueItemSP &queue_item_sp);
- SBThread
- GetExtendedBacktraceThread (const char *type);
+ SBThread GetExtendedBacktraceThread(const char *type);
private:
- lldb::QueueItemSP m_queue_item_sp;
+ lldb::QueueItemSP m_queue_item_sp;
};
} // namespace lldb
-#endif // LLDB_SBQueueItem_h_
+#endif // LLDB_SBQueueItem_h_
diff --git a/include/lldb/API/SBSection.h b/include/lldb/API/SBSection.h
index 0a22413b5b9c..ffd8bf7c979b 100644
--- a/include/lldb/API/SBSection.h
+++ b/include/lldb/API/SBSection.h
@@ -10,106 +10,94 @@
#ifndef LLDB_SBSection_h_
#define LLDB_SBSection_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBData.h"
+#include "lldb/API/SBDefines.h"
namespace lldb {
-class LLDB_API SBSection
-{
+class LLDB_API SBSection {
public:
+ SBSection();
+
+ SBSection(const lldb::SBSection &rhs);
+
+ ~SBSection();
+
+ const lldb::SBSection &operator=(const lldb::SBSection &rhs);
- SBSection ();
+ bool IsValid() const;
- SBSection (const lldb::SBSection &rhs);
+ const char *GetName();
- ~SBSection ();
+ lldb::SBSection GetParent();
- const lldb::SBSection &
- operator = (const lldb::SBSection &rhs);
+ lldb::SBSection FindSubSection(const char *sect_name);
- bool
- IsValid () const;
+ size_t GetNumSubSections();
- const char *
- GetName ();
+ lldb::SBSection GetSubSectionAtIndex(size_t idx);
- lldb::SBSection
- GetParent();
+ lldb::addr_t GetFileAddress();
- lldb::SBSection
- FindSubSection (const char *sect_name);
+ lldb::addr_t GetLoadAddress(lldb::SBTarget &target);
- size_t
- GetNumSubSections ();
+ lldb::addr_t GetByteSize();
- lldb::SBSection
- GetSubSectionAtIndex (size_t idx);
+ uint64_t GetFileOffset();
- lldb::addr_t
- GetFileAddress ();
+ uint64_t GetFileByteSize();
- lldb::addr_t
- GetLoadAddress (lldb::SBTarget &target);
-
- lldb::addr_t
- GetByteSize ();
+ lldb::SBData GetSectionData();
- uint64_t
- GetFileOffset ();
+ lldb::SBData GetSectionData(uint64_t offset, uint64_t size);
- uint64_t
- GetFileByteSize ();
-
- lldb::SBData
- GetSectionData ();
+ SectionType GetSectionType();
- lldb::SBData
- GetSectionData (uint64_t offset,
- uint64_t size);
-
- SectionType
- GetSectionType ();
+ //------------------------------------------------------------------
+ /// Gets the permissions (RWX) of the section of the object file
+ ///
+ /// Returns a mask of bits of enum lldb::Permissions for this section.
+ /// Sections for which permissions are not defined, 0 is returned for
+ /// them. The binary representation of this value corresponds to [XRW]
+ /// i.e. for a section having read and execute permissions, the value
+ /// returned is 6
+ ///
+ /// @return
+ /// Returns an unsigned value for Permissions for the section.
+ //------------------------------------------------------------------
+ uint32_t
+ GetPermissions() const;
- //------------------------------------------------------------------
- /// Return the size of a target's byte represented by this section
- /// in numbers of host bytes. Note that certain architectures have
- /// varying minimum addressable unit (i.e. byte) size for their
- /// CODE or DATA buses.
- ///
- /// @return
- /// The number of host (8-bit) bytes needed to hold a target byte
- //------------------------------------------------------------------
- uint32_t
- GetTargetByteSize ();
+ //------------------------------------------------------------------
+ /// Return the size of a target's byte represented by this section
+ /// in numbers of host bytes. Note that certain architectures have
+ /// varying minimum addressable unit (i.e. byte) size for their
+ /// CODE or DATA buses.
+ ///
+ /// @return
+ /// The number of host (8-bit) bytes needed to hold a target byte
+ //------------------------------------------------------------------
+ uint32_t GetTargetByteSize();
- bool
- operator == (const lldb::SBSection &rhs);
+ bool operator==(const lldb::SBSection &rhs);
- bool
- operator != (const lldb::SBSection &rhs);
+ bool operator!=(const lldb::SBSection &rhs);
- bool
- GetDescription (lldb::SBStream &description);
-
+ bool GetDescription(lldb::SBStream &description);
private:
+ friend class SBAddress;
+ friend class SBModule;
+ friend class SBTarget;
- friend class SBAddress;
- friend class SBModule;
- friend class SBTarget;
-
- SBSection (const lldb::SectionSP &section_sp);
-
- lldb::SectionSP
- GetSP() const;
-
- void
- SetSP(const lldb::SectionSP &section_sp);
-
- lldb::SectionWP m_opaque_wp;
-};
+ SBSection(const lldb::SectionSP &section_sp);
+
+ lldb::SectionSP GetSP() const;
+ void SetSP(const lldb::SectionSP &section_sp);
+
+ lldb::SectionWP m_opaque_wp;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBSourceManager.h b/include/lldb/API/SBSourceManager.h
index 6e7358f16e77..6f1c49504d52 100644
--- a/include/lldb/API/SBSourceManager.h
+++ b/include/lldb/API/SBSourceManager.h
@@ -16,38 +16,35 @@
namespace lldb {
-class LLDB_API SBSourceManager
-{
+class LLDB_API SBSourceManager {
public:
- SBSourceManager (const SBDebugger &debugger);
- SBSourceManager (const SBTarget &target);
- SBSourceManager (const SBSourceManager &rhs);
-
- ~SBSourceManager();
+ SBSourceManager(const SBDebugger &debugger);
+ SBSourceManager(const SBTarget &target);
+ SBSourceManager(const SBSourceManager &rhs);
- const lldb::SBSourceManager &
- operator = (const lldb::SBSourceManager &rhs);
+ ~SBSourceManager();
- size_t
- DisplaySourceLinesWithLineNumbers (const lldb::SBFileSpec &file,
- uint32_t line,
- uint32_t context_before,
- uint32_t context_after,
- const char* current_line_cstr,
- lldb::SBStream &s);
+ const lldb::SBSourceManager &operator=(const lldb::SBSourceManager &rhs);
+ size_t DisplaySourceLinesWithLineNumbers(
+ const lldb::SBFileSpec &file, uint32_t line, uint32_t context_before,
+ uint32_t context_after, const char *current_line_cstr, lldb::SBStream &s);
+
+ size_t DisplaySourceLinesWithLineNumbersAndColumn(
+ const lldb::SBFileSpec &file, uint32_t line, uint32_t column,
+ uint32_t context_before, uint32_t context_after,
+ const char *current_line_cstr, lldb::SBStream &s);
protected:
- friend class SBCommandInterpreter;
- friend class SBDebugger;
+ friend class SBCommandInterpreter;
+ friend class SBDebugger;
- SBSourceManager(lldb_private::SourceManager *source_manager);
+ SBSourceManager(lldb_private::SourceManager *source_manager);
private:
-
- std::unique_ptr<lldb_private::SourceManagerImpl> m_opaque_ap;
+ std::unique_ptr<lldb_private::SourceManagerImpl> m_opaque_ap;
};
} // namespace lldb
-#endif // LLDB_SBSourceManager_h_
+#endif // LLDB_SBSourceManager_h_
diff --git a/include/lldb/API/SBStream.h b/include/lldb/API/SBStream.h
index 717979977d16..68fcae21c08e 100644
--- a/include/lldb/API/SBStream.h
+++ b/include/lldb/API/SBStream.h
@@ -16,100 +16,87 @@
namespace lldb {
-class LLDB_API SBStream
-{
+class LLDB_API SBStream {
public:
+ SBStream();
- SBStream ();
+ SBStream(SBStream &&rhs);
- SBStream (SBStream &&rhs);
+ ~SBStream();
- ~SBStream ();
+ bool IsValid() const;
- bool
- IsValid() const;
+ // If this stream is not redirected to a file, it will maintain a local
+ // cache for the stream data which can be accessed using this accessor.
+ const char *GetData();
- // If this stream is not redirected to a file, it will maintain a local
- // cache for the stream data which can be accessed using this accessor.
- const char *
- GetData ();
+ // If this stream is not redirected to a file, it will maintain a local
+ // cache for the stream output whose length can be accessed using this
+ // accessor.
+ size_t GetSize();
- // If this stream is not redirected to a file, it will maintain a local
- // cache for the stream output whose length can be accessed using this
- // accessor.
- size_t
- GetSize();
+ void Printf(const char *format, ...) __attribute__((format(printf, 2, 3)));
- void
- Printf (const char *format, ...) __attribute__ ((format (printf, 2, 3)));
+ void RedirectToFile(const char *path, bool append);
- void
- RedirectToFile (const char *path, bool append);
+ void RedirectToFileHandle(FILE *fh, bool transfer_fh_ownership);
- void
- RedirectToFileHandle (FILE *fh, bool transfer_fh_ownership);
+ void RedirectToFileDescriptor(int fd, bool transfer_fh_ownership);
- void
- RedirectToFileDescriptor (int fd, bool transfer_fh_ownership);
-
- // If the stream is redirected to a file, forget about the file and if
- // ownership of the file was transferred to this object, close the file.
- // If the stream is backed by a local cache, clear this cache.
- void
- Clear ();
+ // If the stream is redirected to a file, forget about the file and if
+ // ownership of the file was transferred to this object, close the file.
+ // If the stream is backed by a local cache, clear this cache.
+ void Clear();
protected:
- friend class SBAddress;
- friend class SBBlock;
- friend class SBBreakpoint;
- friend class SBBreakpointLocation;
- friend class SBCommandReturnObject;
- friend class SBCompileUnit;
- friend class SBData;
- friend class SBDebugger;
- friend class SBDeclaration;
- friend class SBEvent;
- friend class SBFileSpec;
- friend class SBFileSpecList;
- friend class SBFrame;
- friend class SBFunction;
- friend class SBInstruction;
- friend class SBInstructionList;
- friend class SBLineEntry;
- friend class SBMemoryRegionInfo;
- friend class SBModule;
- friend class SBModuleSpec;
- friend class SBModuleSpecList;
- friend class SBProcess;
- friend class SBSection;
- friend class SBSourceManager;
- friend class SBSymbol;
- friend class SBSymbolContext;
- friend class SBSymbolContextList;
- friend class SBTarget;
- friend class SBThread;
- friend class SBThreadPlan;
- friend class SBType;
- friend class SBTypeEnumMember;
- friend class SBTypeMemberFunction;
- friend class SBTypeMember;
- friend class SBValue;
- friend class SBWatchpoint;
-
- lldb_private::Stream *
- operator->();
-
- lldb_private::Stream *
- get();
-
- lldb_private::Stream &
- ref();
+ friend class SBAddress;
+ friend class SBBlock;
+ friend class SBBreakpoint;
+ friend class SBBreakpointLocation;
+ friend class SBCommandReturnObject;
+ friend class SBCompileUnit;
+ friend class SBData;
+ friend class SBDebugger;
+ friend class SBDeclaration;
+ friend class SBEvent;
+ friend class SBFileSpec;
+ friend class SBFileSpecList;
+ friend class SBFrame;
+ friend class SBFunction;
+ friend class SBInstruction;
+ friend class SBInstructionList;
+ friend class SBLineEntry;
+ friend class SBMemoryRegionInfo;
+ friend class SBModule;
+ friend class SBModuleSpec;
+ friend class SBModuleSpecList;
+ friend class SBProcess;
+ friend class SBSection;
+ friend class SBSourceManager;
+ friend class SBStructuredData;
+ friend class SBSymbol;
+ friend class SBSymbolContext;
+ friend class SBSymbolContextList;
+ friend class SBTarget;
+ friend class SBThread;
+ friend class SBThreadPlan;
+ friend class SBType;
+ friend class SBTypeEnumMember;
+ friend class SBTypeMemberFunction;
+ friend class SBTypeMember;
+ friend class SBValue;
+ friend class SBWatchpoint;
+
+ lldb_private::Stream *operator->();
+
+ lldb_private::Stream *get();
+
+ lldb_private::Stream &ref();
private:
-
- DISALLOW_COPY_AND_ASSIGN (SBStream);
- std::unique_ptr<lldb_private::Stream> m_opaque_ap;
- bool m_is_file;
+ DISALLOW_COPY_AND_ASSIGN(SBStream);
+ std::unique_ptr<lldb_private::Stream> m_opaque_ap;
+ bool m_is_file;
};
} // namespace lldb
diff --git a/include/lldb/API/SBStringList.h b/include/lldb/API/SBStringList.h
index bc8ff935eda3..66b5172a0b3e 100644
--- a/include/lldb/API/SBStringList.h
+++ b/include/lldb/API/SBStringList.h
@@ -14,59 +14,47 @@
namespace lldb {
-class LLDB_API SBStringList
-{
+class LLDB_API SBStringList {
public:
+ SBStringList();
- SBStringList ();
+ SBStringList(const lldb::SBStringList &rhs);
- SBStringList (const lldb::SBStringList &rhs);
-
- const SBStringList &
- operator = (const SBStringList &rhs);
+ const SBStringList &operator=(const SBStringList &rhs);
- ~SBStringList ();
+ ~SBStringList();
- bool
- IsValid() const;
+ bool IsValid() const;
- void
- AppendString (const char *str);
+ void AppendString(const char *str);
- void
- AppendList (const char **strv, int strc);
+ void AppendList(const char **strv, int strc);
- void
- AppendList (const lldb::SBStringList &strings);
+ void AppendList(const lldb::SBStringList &strings);
- uint32_t
- GetSize () const;
+ uint32_t GetSize() const;
- const char *
- GetStringAtIndex (size_t idx);
+ const char *GetStringAtIndex(size_t idx);
- const char *
- GetStringAtIndex (size_t idx) const;
+ const char *GetStringAtIndex(size_t idx) const;
- void
- Clear ();
+ void Clear();
protected:
- friend class SBCommandInterpreter;
- friend class SBDebugger;
+ friend class SBCommandInterpreter;
+ friend class SBDebugger;
+ friend class SBBreakpoint;
- SBStringList (const lldb_private::StringList *lldb_strings);
+ SBStringList(const lldb_private::StringList *lldb_strings);
- const lldb_private::StringList *
- operator->() const;
+ void AppendList(const lldb_private::StringList &strings);
- const lldb_private::StringList &
- operator*() const;
+ const lldb_private::StringList *operator->() const;
-private:
-
- std::unique_ptr<lldb_private::StringList> m_opaque_ap;
+ const lldb_private::StringList &operator*() const;
+private:
+ std::unique_ptr<lldb_private::StringList> m_opaque_ap;
};
} // namespace lldb
diff --git a/include/lldb/API/SBStructuredData.h b/include/lldb/API/SBStructuredData.h
new file mode 100644
index 000000000000..9f0203bb245a
--- /dev/null
+++ b/include/lldb/API/SBStructuredData.h
@@ -0,0 +1,45 @@
+//===-- SBStructuredData.h --------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SBStructuredData_h
+#define SBStructuredData_h
+
+#include "lldb/API/SBDefines.h"
+#include "lldb/API/SBModule.h"
+
+class StructuredDataImpl;
+
+namespace lldb {
+
+class SBStructuredData {
+public:
+ SBStructuredData();
+
+ SBStructuredData(const lldb::SBStructuredData &rhs);
+
+ SBStructuredData(const lldb::EventSP &event_sp);
+
+ ~SBStructuredData();
+
+ lldb::SBStructuredData &operator=(const lldb::SBStructuredData &rhs);
+
+ bool IsValid() const;
+
+ void Clear();
+
+ lldb::SBError GetAsJSON(lldb::SBStream &stream) const;
+
+ lldb::SBError GetDescription(lldb::SBStream &stream) const;
+
+private:
+ std::unique_ptr<StructuredDataImpl> m_impl_up;
+};
+}
+
+#endif /* SBStructuredData_h */
diff --git a/include/lldb/API/SBSymbol.h b/include/lldb/API/SBSymbol.h
index 5acebe975261..d17a4ccffe02 100644
--- a/include/lldb/API/SBSymbol.h
+++ b/include/lldb/API/SBSymbol.h
@@ -10,102 +10,79 @@
#ifndef LLDB_SBSymbol_h_
#define LLDB_SBSymbol_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBAddress.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBInstructionList.h"
#include "lldb/API/SBTarget.h"
namespace lldb {
-class LLDB_API SBSymbol
-{
+class LLDB_API SBSymbol {
public:
+ SBSymbol();
+
+ ~SBSymbol();
- SBSymbol ();
+ SBSymbol(const lldb::SBSymbol &rhs);
- ~SBSymbol ();
+ const lldb::SBSymbol &operator=(const lldb::SBSymbol &rhs);
- SBSymbol (const lldb::SBSymbol &rhs);
+ bool IsValid() const;
- const lldb::SBSymbol &
- operator = (const lldb::SBSymbol &rhs);
+ const char *GetName() const;
- bool
- IsValid () const;
+ const char *GetDisplayName() const;
+ const char *GetMangledName() const;
- const char *
- GetName() const;
+ lldb::SBInstructionList GetInstructions(lldb::SBTarget target);
- const char *
- GetDisplayName() const;
-
- const char *
- GetMangledName () const;
+ lldb::SBInstructionList GetInstructions(lldb::SBTarget target,
+ const char *flavor_string);
- lldb::SBInstructionList
- GetInstructions (lldb::SBTarget target);
+ SBAddress GetStartAddress();
- lldb::SBInstructionList
- GetInstructions (lldb::SBTarget target, const char *flavor_string);
+ SBAddress GetEndAddress();
- SBAddress
- GetStartAddress ();
-
- SBAddress
- GetEndAddress ();
-
- uint32_t
- GetPrologueByteSize ();
+ uint32_t GetPrologueByteSize();
- SymbolType
- GetType ();
+ SymbolType GetType();
- bool
- operator == (const lldb::SBSymbol &rhs) const;
+ bool operator==(const lldb::SBSymbol &rhs) const;
- bool
- operator != (const lldb::SBSymbol &rhs) const;
+ bool operator!=(const lldb::SBSymbol &rhs) const;
- bool
- GetDescription (lldb::SBStream &description);
+ bool GetDescription(lldb::SBStream &description);
- //----------------------------------------------------------------------
- // Returns true if the symbol is externally visible in the module that
- // it is defined in
- //----------------------------------------------------------------------
- bool
- IsExternal();
+ //----------------------------------------------------------------------
+ // Returns true if the symbol is externally visible in the module that
+ // it is defined in
+ //----------------------------------------------------------------------
+ bool IsExternal();
- //----------------------------------------------------------------------
- // Returns true if the symbol was synthetically generated from something
- // other than the actual symbol table itself in the object file.
- //----------------------------------------------------------------------
- bool
- IsSynthetic();
+ //----------------------------------------------------------------------
+ // Returns true if the symbol was synthetically generated from something
+ // other than the actual symbol table itself in the object file.
+ //----------------------------------------------------------------------
+ bool IsSynthetic();
protected:
+ lldb_private::Symbol *get();
- lldb_private::Symbol *
- get ();
+ void reset(lldb_private::Symbol *);
- void
- reset (lldb_private::Symbol *);
-
private:
- friend class SBAddress;
- friend class SBFrame;
- friend class SBModule;
- friend class SBSymbolContext;
+ friend class SBAddress;
+ friend class SBFrame;
+ friend class SBModule;
+ friend class SBSymbolContext;
- SBSymbol (lldb_private::Symbol *lldb_object_ptr);
-
- void
- SetSymbol (lldb_private::Symbol *lldb_object_ptr);
+ SBSymbol(lldb_private::Symbol *lldb_object_ptr);
- lldb_private::Symbol *m_opaque_ptr;
-};
+ void SetSymbol(lldb_private::Symbol *lldb_object_ptr);
+ lldb_private::Symbol *m_opaque_ptr;
+};
} // namespace lldb
diff --git a/include/lldb/API/SBSymbolContext.h b/include/lldb/API/SBSymbolContext.h
index 24c2ce9a1d6e..04ee15e8ecb1 100644
--- a/include/lldb/API/SBSymbolContext.h
+++ b/include/lldb/API/SBSymbolContext.h
@@ -10,9 +10,9 @@
#ifndef LLDB_SBSymbolContext_h_
#define LLDB_SBSymbolContext_h_
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBBlock.h"
#include "lldb/API/SBCompileUnit.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBFunction.h"
#include "lldb/API/SBLineEntry.h"
#include "lldb/API/SBModule.h"
@@ -20,75 +20,63 @@
namespace lldb {
-class LLDB_API SBSymbolContext
-{
+class LLDB_API SBSymbolContext {
public:
- SBSymbolContext ();
+ SBSymbolContext();
- SBSymbolContext (const lldb::SBSymbolContext& rhs);
+ SBSymbolContext(const lldb::SBSymbolContext &rhs);
- ~SBSymbolContext ();
+ ~SBSymbolContext();
- bool
- IsValid () const;
+ bool IsValid() const;
- const lldb::SBSymbolContext &
- operator = (const lldb::SBSymbolContext &rhs);
+ const lldb::SBSymbolContext &operator=(const lldb::SBSymbolContext &rhs);
- lldb::SBModule GetModule ();
- lldb::SBCompileUnit GetCompileUnit ();
- lldb::SBFunction GetFunction ();
- lldb::SBBlock GetBlock ();
- lldb::SBLineEntry GetLineEntry ();
- lldb::SBSymbol GetSymbol ();
+ lldb::SBModule GetModule();
+ lldb::SBCompileUnit GetCompileUnit();
+ lldb::SBFunction GetFunction();
+ lldb::SBBlock GetBlock();
+ lldb::SBLineEntry GetLineEntry();
+ lldb::SBSymbol GetSymbol();
- void SetModule (lldb::SBModule module);
- void SetCompileUnit (lldb::SBCompileUnit compile_unit);
- void SetFunction (lldb::SBFunction function);
- void SetBlock (lldb::SBBlock block);
- void SetLineEntry (lldb::SBLineEntry line_entry);
- void SetSymbol (lldb::SBSymbol symbol);
+ void SetModule(lldb::SBModule module);
+ void SetCompileUnit(lldb::SBCompileUnit compile_unit);
+ void SetFunction(lldb::SBFunction function);
+ void SetBlock(lldb::SBBlock block);
+ void SetLineEntry(lldb::SBLineEntry line_entry);
+ void SetSymbol(lldb::SBSymbol symbol);
- SBSymbolContext
- GetParentOfInlinedScope (const SBAddress &curr_frame_pc,
- SBAddress &parent_frame_addr) const;
+ SBSymbolContext GetParentOfInlinedScope(const SBAddress &curr_frame_pc,
+ SBAddress &parent_frame_addr) const;
- bool
- GetDescription (lldb::SBStream &description);
+ bool GetDescription(lldb::SBStream &description);
protected:
- friend class SBAddress;
- friend class SBFrame;
- friend class SBModule;
- friend class SBThread;
- friend class SBTarget;
- friend class SBSymbolContextList;
+ friend class SBAddress;
+ friend class SBFrame;
+ friend class SBModule;
+ friend class SBThread;
+ friend class SBTarget;
+ friend class SBSymbolContextList;
- lldb_private::SymbolContext*
- operator->() const;
+ lldb_private::SymbolContext *operator->() const;
- lldb_private::SymbolContext&
- operator*();
+ lldb_private::SymbolContext &operator*();
- lldb_private::SymbolContext&
- ref();
+ lldb_private::SymbolContext &ref();
- const lldb_private::SymbolContext&
- operator*() const;
+ const lldb_private::SymbolContext &operator*() const;
- lldb_private::SymbolContext *
- get() const;
+ lldb_private::SymbolContext *get() const;
- SBSymbolContext (const lldb_private::SymbolContext *sc_ptr);
+ SBSymbolContext(const lldb_private::SymbolContext *sc_ptr);
- void
- SetSymbolContext (const lldb_private::SymbolContext *sc_ptr);
+ void SetSymbolContext(const lldb_private::SymbolContext *sc_ptr);
private:
- std::unique_ptr<lldb_private::SymbolContext> m_opaque_ap;
+ std::unique_ptr<lldb_private::SymbolContext> m_opaque_ap;
};
-
} // namespace lldb
#endif // LLDB_SBSymbolContext_h_
diff --git a/include/lldb/API/SBSymbolContextList.h b/include/lldb/API/SBSymbolContextList.h
index 79dcccdcbf84..e7299dd5330c 100644
--- a/include/lldb/API/SBSymbolContextList.h
+++ b/include/lldb/API/SBSymbolContextList.h
@@ -15,55 +15,43 @@
namespace lldb {
-class LLDB_API SBSymbolContextList
-{
+class LLDB_API SBSymbolContextList {
public:
- SBSymbolContextList ();
+ SBSymbolContextList();
- SBSymbolContextList (const lldb::SBSymbolContextList& rhs);
+ SBSymbolContextList(const lldb::SBSymbolContextList &rhs);
- ~SBSymbolContextList ();
+ ~SBSymbolContextList();
- const lldb::SBSymbolContextList &
- operator = (const lldb::SBSymbolContextList &rhs);
+ const lldb::SBSymbolContextList &
+ operator=(const lldb::SBSymbolContextList &rhs);
- bool
- IsValid () const;
+ bool IsValid() const;
- uint32_t
- GetSize() const;
+ uint32_t GetSize() const;
- lldb::SBSymbolContext
- GetContextAtIndex (uint32_t idx);
-
- bool
- GetDescription (lldb::SBStream &description);
+ lldb::SBSymbolContext GetContextAtIndex(uint32_t idx);
- void
- Append (lldb::SBSymbolContext &sc);
-
- void
- Append (lldb::SBSymbolContextList &sc_list);
-
- void
- Clear();
+ bool GetDescription(lldb::SBStream &description);
-protected:
+ void Append(lldb::SBSymbolContext &sc);
+
+ void Append(lldb::SBSymbolContextList &sc_list);
- friend class SBModule;
- friend class SBTarget;
+ void Clear();
- lldb_private::SymbolContextList*
- operator->() const;
+protected:
+ friend class SBModule;
+ friend class SBTarget;
- lldb_private::SymbolContextList&
- operator*() const;
+ lldb_private::SymbolContextList *operator->() const;
+
+ lldb_private::SymbolContextList &operator*() const;
private:
- std::unique_ptr<lldb_private::SymbolContextList> m_opaque_ap;
+ std::unique_ptr<lldb_private::SymbolContextList> m_opaque_ap;
};
-
} // namespace lldb
#endif // LLDB_SBSymbolContextList_h_
diff --git a/include/lldb/API/SBTarget.h b/include/lldb/API/SBTarget.h
index 0bcabd043c9c..4e8db835ddc0 100644
--- a/include/lldb/API/SBTarget.h
+++ b/include/lldb/API/SBTarget.h
@@ -14,10 +14,11 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBAddress.h"
#include "lldb/API/SBAttachInfo.h"
+#include "lldb/API/SBBreakpoint.h"
#include "lldb/API/SBBroadcaster.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBFileSpec.h"
#include "lldb/API/SBFileSpecList.h"
#include "lldb/API/SBLaunchInfo.h"
@@ -30,831 +31,817 @@ namespace lldb {
class SBPlatform;
-class LLDB_API SBTarget
-{
+class LLDB_API SBTarget {
public:
- //------------------------------------------------------------------
- // Broadcaster bits.
- //------------------------------------------------------------------
- enum
- {
- eBroadcastBitBreakpointChanged = (1 << 0),
- eBroadcastBitModulesLoaded = (1 << 1),
- eBroadcastBitModulesUnloaded = (1 << 2),
- eBroadcastBitWatchpointChanged = (1 << 3),
- eBroadcastBitSymbolsLoaded = (1 << 4)
- };
-
- //------------------------------------------------------------------
- // Constructors
- //------------------------------------------------------------------
- SBTarget ();
-
- SBTarget (const lldb::SBTarget& rhs);
-
- SBTarget (const lldb::TargetSP& target_sp);
-
- //------------------------------------------------------------------
- // Destructor
- //------------------------------------------------------------------
- ~SBTarget();
-
- const lldb::SBTarget&
- operator = (const lldb::SBTarget& rhs);
-
- bool
- IsValid() const;
-
- static bool
- EventIsTargetEvent (const lldb::SBEvent &event);
-
- static lldb::SBTarget
- GetTargetFromEvent (const lldb::SBEvent &event);
-
- static uint32_t
- GetNumModulesFromEvent (const lldb::SBEvent &event);
-
- static lldb::SBModule
- GetModuleAtIndexFromEvent (const uint32_t idx, const lldb::SBEvent &event);
-
- static const char *
- GetBroadcasterClassName ();
-
- lldb::SBProcess
- GetProcess ();
-
- //------------------------------------------------------------------
- /// Return the platform object associated with the target.
- ///
- /// After return, the platform object should be checked for
- /// validity.
- ///
- /// @return
- /// A platform object.
- //------------------------------------------------------------------
- lldb::SBPlatform
- GetPlatform ();
-
- //------------------------------------------------------------------
- /// Install any binaries that need to be installed.
- ///
- /// This function does nothing when debugging on the host system.
- /// When connected to remote platforms, the target's main executable
- /// and any modules that have their remote install path set will be
- /// installed on the remote platform. If the main executable doesn't
- /// have an install location set, it will be installed in the remote
- /// platform's working directory.
- ///
- /// @return
- /// An error describing anything that went wrong during
- /// installation.
- //------------------------------------------------------------------
- SBError
- Install();
-
- //------------------------------------------------------------------
- /// Launch a new process.
- ///
- /// Launch a new process by spawning a new process using the
- /// target object's executable module's file as the file to launch.
- /// Arguments are given in \a argv, and the environment variables
- /// are in \a envp. Standard input and output files can be
- /// optionally re-directed to \a stdin_path, \a stdout_path, and
- /// \a stderr_path.
- ///
- /// @param[in] listener
- /// An optional listener that will receive all process events.
- /// If \a listener is valid then \a listener will listen to all
- /// process events. If not valid, then this target's debugger
- /// (SBTarget::GetDebugger()) will listen to all process events.
- ///
- /// @param[in] argv
- /// The argument array.
- ///
- /// @param[in] envp
- /// The environment array.
- ///
- /// @param[in] launch_flags
- /// Flags to modify the launch (@see lldb::LaunchFlags)
- ///
- /// @param[in] stdin_path
- /// The path to use when re-directing the STDIN of the new
- /// process. If all stdXX_path arguments are nullptr, a pseudo
- /// terminal will be used.
- ///
- /// @param[in] stdout_path
- /// The path to use when re-directing the STDOUT of the new
- /// process. If all stdXX_path arguments are nullptr, a pseudo
- /// terminal will be used.
- ///
- /// @param[in] stderr_path
- /// The path to use when re-directing the STDERR of the new
- /// process. If all stdXX_path arguments are nullptr, a pseudo
- /// terminal will be used.
- ///
- /// @param[in] working_directory
- /// The working directory to have the child process run in
- ///
- /// @param[in] launch_flags
- /// Some launch options specified by logical OR'ing
- /// lldb::LaunchFlags enumeration values together.
- ///
- /// @param[in] stop_at_entry
- /// If false do not stop the inferior at the entry point.
- ///
- /// @param[out] error
- /// An error object. Contains the reason if there is some failure.
- ///
- /// @return
- /// A process object for the newly created process.
- //------------------------------------------------------------------
- lldb::SBProcess
- Launch (SBListener &listener,
- char const **argv,
- char const **envp,
- const char *stdin_path,
- const char *stdout_path,
- const char *stderr_path,
- const char *working_directory,
- uint32_t launch_flags, // See LaunchFlags
- bool stop_at_entry,
- lldb::SBError& error);
-
- SBProcess
- LoadCore (const char *core_file);
-
- //------------------------------------------------------------------
- /// Launch a new process with sensible defaults.
- ///
- /// @param[in] argv
- /// The argument array.
- ///
- /// @param[in] envp
- /// The environment array.
- ///
- /// @param[in] working_directory
- /// The working directory to have the child process run in
- ///
- /// Default: listener
- /// Set to the target's debugger (SBTarget::GetDebugger())
- ///
- /// Default: launch_flags
- /// Empty launch flags
- ///
- /// Default: stdin_path
- /// Default: stdout_path
- /// Default: stderr_path
- /// A pseudo terminal will be used.
- ///
- /// @return
- /// A process object for the newly created process.
- //------------------------------------------------------------------
- SBProcess
- LaunchSimple (const char **argv,
- const char **envp,
- const char *working_directory);
-
- SBProcess
- Launch (SBLaunchInfo &launch_info, SBError& error);
-
- SBProcess
- Attach (SBAttachInfo &attach_info, SBError& error);
-
- //------------------------------------------------------------------
- /// Attach to process with pid.
- ///
- /// @param[in] listener
- /// An optional listener that will receive all process events.
- /// If \a listener is valid then \a listener will listen to all
- /// process events. If not valid, then this target's debugger
- /// (SBTarget::GetDebugger()) will listen to all process events.
- ///
- /// @param[in] pid
- /// The process ID to attach to.
- ///
- /// @param[out] error
- /// An error explaining what went wrong if attach fails.
- ///
- /// @return
- /// A process object for the attached process.
- //------------------------------------------------------------------
- lldb::SBProcess
- AttachToProcessWithID (SBListener &listener,
- lldb::pid_t pid,
- lldb::SBError& error);
+ //------------------------------------------------------------------
+ // Broadcaster bits.
+ //------------------------------------------------------------------
+ enum {
+ eBroadcastBitBreakpointChanged = (1 << 0),
+ eBroadcastBitModulesLoaded = (1 << 1),
+ eBroadcastBitModulesUnloaded = (1 << 2),
+ eBroadcastBitWatchpointChanged = (1 << 3),
+ eBroadcastBitSymbolsLoaded = (1 << 4)
+ };
+
+ //------------------------------------------------------------------
+ // Constructors
+ //------------------------------------------------------------------
+ SBTarget();
+
+ SBTarget(const lldb::SBTarget &rhs);
+
+ SBTarget(const lldb::TargetSP &target_sp);
+
+ //------------------------------------------------------------------
+ // Destructor
+ //------------------------------------------------------------------
+ ~SBTarget();
+
+ const lldb::SBTarget &operator=(const lldb::SBTarget &rhs);
+
+ bool IsValid() const;
+
+ static bool EventIsTargetEvent(const lldb::SBEvent &event);
+
+ static lldb::SBTarget GetTargetFromEvent(const lldb::SBEvent &event);
+
+ static uint32_t GetNumModulesFromEvent(const lldb::SBEvent &event);
+
+ static lldb::SBModule GetModuleAtIndexFromEvent(const uint32_t idx,
+ const lldb::SBEvent &event);
+
+ static const char *GetBroadcasterClassName();
+
+ lldb::SBProcess GetProcess();
+
+ //------------------------------------------------------------------
+ /// Return the platform object associated with the target.
+ ///
+ /// After return, the platform object should be checked for
+ /// validity.
+ ///
+ /// @return
+ /// A platform object.
+ //------------------------------------------------------------------
+ lldb::SBPlatform GetPlatform();
+
+ //------------------------------------------------------------------
+ /// Install any binaries that need to be installed.
+ ///
+ /// This function does nothing when debugging on the host system.
+ /// When connected to remote platforms, the target's main executable
+ /// and any modules that have their remote install path set will be
+ /// installed on the remote platform. If the main executable doesn't
+ /// have an install location set, it will be installed in the remote
+ /// platform's working directory.
+ ///
+ /// @return
+ /// An error describing anything that went wrong during
+ /// installation.
+ //------------------------------------------------------------------
+ SBError Install();
+
+ //------------------------------------------------------------------
+ /// Launch a new process.
+ ///
+ /// Launch a new process by spawning a new process using the
+ /// target object's executable module's file as the file to launch.
+ /// Arguments are given in \a argv, and the environment variables
+ /// are in \a envp. Standard input and output files can be
+ /// optionally re-directed to \a stdin_path, \a stdout_path, and
+ /// \a stderr_path.
+ ///
+ /// @param[in] listener
+ /// An optional listener that will receive all process events.
+ /// If \a listener is valid then \a listener will listen to all
+ /// process events. If not valid, then this target's debugger
+ /// (SBTarget::GetDebugger()) will listen to all process events.
+ ///
+ /// @param[in] argv
+ /// The argument array.
+ ///
+ /// @param[in] envp
+ /// The environment array.
+ ///
+ /// @param[in] launch_flags
+ /// Flags to modify the launch (@see lldb::LaunchFlags)
+ ///
+ /// @param[in] stdin_path
+ /// The path to use when re-directing the STDIN of the new
+ /// process. If all stdXX_path arguments are nullptr, a pseudo
+ /// terminal will be used.
+ ///
+ /// @param[in] stdout_path
+ /// The path to use when re-directing the STDOUT of the new
+ /// process. If all stdXX_path arguments are nullptr, a pseudo
+ /// terminal will be used.
+ ///
+ /// @param[in] stderr_path
+ /// The path to use when re-directing the STDERR of the new
+ /// process. If all stdXX_path arguments are nullptr, a pseudo
+ /// terminal will be used.
+ ///
+ /// @param[in] working_directory
+ /// The working directory to have the child process run in
+ ///
+ /// @param[in] launch_flags
+ /// Some launch options specified by logical OR'ing
+ /// lldb::LaunchFlags enumeration values together.
+ ///
+ /// @param[in] stop_at_entry
+ /// If false do not stop the inferior at the entry point.
+ ///
+ /// @param[out] error
+ /// An error object. Contains the reason if there is some failure.
+ ///
+ /// @return
+ /// A process object for the newly created process.
+ //------------------------------------------------------------------
+ lldb::SBProcess Launch(SBListener &listener, char const **argv,
+ char const **envp, const char *stdin_path,
+ const char *stdout_path, const char *stderr_path,
+ const char *working_directory,
+ uint32_t launch_flags, // See LaunchFlags
+ bool stop_at_entry, lldb::SBError &error);
+
+ SBProcess LoadCore(const char *core_file);
+
+ //------------------------------------------------------------------
+ /// Launch a new process with sensible defaults.
+ ///
+ /// @param[in] argv
+ /// The argument array.
+ ///
+ /// @param[in] envp
+ /// The environment array.
+ ///
+ /// @param[in] working_directory
+ /// The working directory to have the child process run in
+ ///
+ /// Default: listener
+ /// Set to the target's debugger (SBTarget::GetDebugger())
+ ///
+ /// Default: launch_flags
+ /// Empty launch flags
+ ///
+ /// Default: stdin_path
+ /// Default: stdout_path
+ /// Default: stderr_path
+ /// A pseudo terminal will be used.
+ ///
+ /// @return
+ /// A process object for the newly created process.
+ //------------------------------------------------------------------
+ SBProcess LaunchSimple(const char **argv, const char **envp,
+ const char *working_directory);
+
+ SBProcess Launch(SBLaunchInfo &launch_info, SBError &error);
+
+ SBProcess Attach(SBAttachInfo &attach_info, SBError &error);
+
+ //------------------------------------------------------------------
+ /// Attach to process with pid.
+ ///
+ /// @param[in] listener
+ /// An optional listener that will receive all process events.
+ /// If \a listener is valid then \a listener will listen to all
+ /// process events. If not valid, then this target's debugger
+ /// (SBTarget::GetDebugger()) will listen to all process events.
+ ///
+ /// @param[in] pid
+ /// The process ID to attach to.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong if attach fails.
+ ///
+ /// @return
+ /// A process object for the attached process.
+ //------------------------------------------------------------------
+ lldb::SBProcess AttachToProcessWithID(SBListener &listener, lldb::pid_t pid,
+ lldb::SBError &error);
#if defined(__APPLE__)
- // We need to keep this around for a build or two since Xcode links
- // to the 32 bit version of this function. We will take it out soon.
- lldb::SBProcess
- AttachToProcessWithID (SBListener &listener,
- ::pid_t pid, // 32 bit int process ID
- lldb::SBError& error); // DEPRECATED
+ // We need to keep this around for a build or two since Xcode links
+ // to the 32 bit version of this function. We will take it out soon.
+ lldb::SBProcess AttachToProcessWithID(SBListener &listener,
+ ::pid_t pid, // 32 bit int process ID
+ lldb::SBError &error); // DEPRECATED
#endif
- //------------------------------------------------------------------
- /// Attach to process with name.
- ///
- /// @param[in] listener
- /// An optional listener that will receive all process events.
- /// If \a listener is valid then \a listener will listen to all
- /// process events. If not valid, then this target's debugger
- /// (SBTarget::GetDebugger()) will listen to all process events.
- ///
- /// @param[in] name
- /// Basename of process to attach to.
- ///
- /// @param[in] wait_for
- /// If true wait for a new instance of 'name' to be launched.
- ///
- /// @param[out] error
- /// An error explaining what went wrong if attach fails.
- ///
- /// @return
- /// A process object for the attached process.
- //------------------------------------------------------------------
- lldb::SBProcess
- AttachToProcessWithName (SBListener &listener,
- const char *name,
- bool wait_for,
- lldb::SBError& error);
-
- //------------------------------------------------------------------
- /// Connect to a remote debug server with url.
- ///
- /// @param[in] listener
- /// An optional listener that will receive all process events.
- /// If \a listener is valid then \a listener will listen to all
- /// process events. If not valid, then this target's debugger
- /// (SBTarget::GetDebugger()) will listen to all process events.
- ///
- /// @param[in] url
- /// The url to connect to, e.g., 'connect://localhost:12345'.
- ///
- /// @param[in] plugin_name
- /// The plugin name to be used; can be nullptr.
- ///
- /// @param[out] error
- /// An error explaining what went wrong if the connect fails.
- ///
- /// @return
- /// A process object for the connected process.
- //------------------------------------------------------------------
- lldb::SBProcess
- ConnectRemote (SBListener &listener,
- const char *url,
- const char *plugin_name,
- SBError& error);
-
- lldb::SBFileSpec
- GetExecutable ();
-
- bool
- AddModule (lldb::SBModule &module);
-
- lldb::SBModule
- AddModule (const char *path,
- const char *triple,
- const char *uuid);
-
- lldb::SBModule
- AddModule (const char *path,
- const char *triple,
- const char *uuid_cstr,
- const char *symfile);
-
- lldb::SBModule
- AddModule (const SBModuleSpec &module_spec);
-
- uint32_t
- GetNumModules () const;
-
- lldb::SBModule
- GetModuleAtIndex (uint32_t idx);
-
- bool
- RemoveModule (lldb::SBModule module);
-
- lldb::SBDebugger
- GetDebugger() const;
-
- lldb::SBModule
- FindModule (const lldb::SBFileSpec &file_spec);
-
- lldb::ByteOrder
- GetByteOrder ();
-
- uint32_t
- GetAddressByteSize();
-
- const char *
- GetTriple ();
-
- //------------------------------------------------------------------
- /// Architecture data byte width accessor
- ///
- /// @return
- /// The size in 8-bit (host) bytes of a minimum addressable
- /// unit from the Architecture's data bus
- //------------------------------------------------------------------
- uint32_t
- GetDataByteSize ();
-
- //------------------------------------------------------------------
- /// Architecture code byte width accessor
- ///
- /// @return
- /// The size in 8-bit (host) bytes of a minimum addressable
- /// unit from the Architecture's code bus
- //------------------------------------------------------------------
- uint32_t
- GetCodeByteSize ();
-
- //------------------------------------------------------------------
- /// Set the base load address for a module section.
- ///
- /// @param[in] section
- /// The section whose base load address will be set within this
- /// target.
- ///
- /// @param[in] section_base_addr
- /// The base address for the section.
- ///
- /// @return
- /// An error to indicate success, fail, and any reason for
- /// failure.
- //------------------------------------------------------------------
- lldb::SBError
- SetSectionLoadAddress (lldb::SBSection section,
- lldb::addr_t section_base_addr);
-
- //------------------------------------------------------------------
- /// Clear the base load address for a module section.
- ///
- /// @param[in] section
- /// The section whose base load address will be cleared within
- /// this target.
- ///
- /// @return
- /// An error to indicate success, fail, and any reason for
- /// failure.
- //------------------------------------------------------------------
- lldb::SBError
- ClearSectionLoadAddress (lldb::SBSection section);
-
- //------------------------------------------------------------------
- /// Slide all file addresses for all module sections so that \a module
- /// appears to loaded at these slide addresses.
- ///
- /// When you need all sections within a module to be loaded at a
- /// rigid slide from the addresses found in the module object file,
- /// this function will allow you to easily and quickly slide all
- /// module sections.
- ///
- /// @param[in] module
- /// The module to load.
- ///
- /// @param[in] sections_offset
- /// An offset that will be applied to all section file addresses
- /// (the virtual addresses found in the object file itself).
- ///
- /// @return
- /// An error to indicate success, fail, and any reason for
- /// failure.
- //------------------------------------------------------------------
- lldb::SBError
- SetModuleLoadAddress (lldb::SBModule module,
- int64_t sections_offset);
-
- //------------------------------------------------------------------
- /// Clear the section base load addresses for all sections in a module.
- ///
- /// @param[in] module
- /// The module to unload.
- ///
- /// @return
- /// An error to indicate success, fail, and any reason for
- /// failure.
- //------------------------------------------------------------------
- lldb::SBError
- ClearModuleLoadAddress (lldb::SBModule module);
-
- //------------------------------------------------------------------
- /// Find functions by name.
- ///
- /// @param[in] name
- /// The name of the function we are looking for.
- ///
- /// @param[in] name_type_mask
- /// A logical OR of one or more FunctionNameType enum bits that
- /// indicate what kind of names should be used when doing the
- /// lookup. Bits include fully qualified names, base names,
- /// C++ methods, or ObjC selectors.
- /// See FunctionNameType for more details.
- ///
- /// @return
- /// A lldb::SBSymbolContextList that gets filled in with all of
- /// the symbol contexts for all the matches.
- //------------------------------------------------------------------
- lldb::SBSymbolContextList
- FindFunctions (const char *name,
- uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
-
- //------------------------------------------------------------------
- /// Find global and static variables by name.
- ///
- /// @param[in] name
- /// The name of the global or static variable we are looking
- /// for.
- ///
- /// @param[in] max_matches
- /// Allow the number of matches to be limited to \a max_matches.
- ///
- /// @return
- /// A list of matched variables in an SBValueList.
- //------------------------------------------------------------------
- lldb::SBValueList
- FindGlobalVariables (const char *name,
- uint32_t max_matches);
-
- //------------------------------------------------------------------
- /// Find the first global (or static) variable by name.
- ///
- /// @param[in] name
- /// The name of the global or static variable we are looking
- /// for.
- ///
- /// @return
- /// An SBValue that gets filled in with the found variable (if any).
- //------------------------------------------------------------------
- lldb::SBValue
- FindFirstGlobalVariable (const char* name);
-
- //------------------------------------------------------------------
- /// Find global and static variables by pattern.
- ///
- /// @param[in] name
- /// The pattern to search for global or static variables
- ///
- /// @param[in] max_matches
- /// Allow the number of matches to be limited to \a max_matches.
- ///
- /// @param[in] matchtype
- /// The match type to use.
- ///
- /// @return
- /// A list of matched variables in an SBValueList.
- //------------------------------------------------------------------
- lldb::SBValueList
- FindGlobalVariables(const char *name,
- uint32_t max_matches,
- MatchType matchtype);
-
- //------------------------------------------------------------------
- /// Find global functions by their name with pattern matching.
- ///
- /// @param[in] name
- /// The pattern to search for global or static variables
- ///
- /// @param[in] max_matches
- /// Allow the number of matches to be limited to \a max_matches.
- ///
- /// @param[in] matchtype
- /// The match type to use.
- ///
- /// @return
- /// A list of matched variables in an SBValueList.
- //------------------------------------------------------------------
- lldb::SBSymbolContextList
- FindGlobalFunctions(const char *name,
- uint32_t max_matches,
- MatchType matchtype);
-
- void
- Clear ();
-
- //------------------------------------------------------------------
- /// Resolve a current file address into a section offset address.
- ///
- /// @param[in] file_addr
- ///
- /// @return
- /// An SBAddress which will be valid if...
- //------------------------------------------------------------------
- lldb::SBAddress
- ResolveFileAddress (lldb::addr_t file_addr);
-
- //------------------------------------------------------------------
- /// Resolve a current load address into a section offset address.
- ///
- /// @param[in] vm_addr
- /// A virtual address from the current process state that is to
- /// be translated into a section offset address.
- ///
- /// @return
- /// An SBAddress which will be valid if \a vm_addr was
- /// successfully resolved into a section offset address, or an
- /// invalid SBAddress if \a vm_addr doesn't resolve to a section
- /// in a module.
- //------------------------------------------------------------------
- lldb::SBAddress
- ResolveLoadAddress (lldb::addr_t vm_addr);
-
- //------------------------------------------------------------------
- /// Resolve a current load address into a section offset address
- /// using the process stop ID to identify a time in the past.
- ///
- /// @param[in] stop_id
- /// Each time a process stops, the process stop ID integer gets
- /// incremented. These stop IDs are used to identify past times
- /// and can be used in history objects as a cheap way to store
- /// the time at which the sample was taken. Specifying
- /// UINT32_MAX will always resolve the address using the
- /// currently loaded sections.
- ///
- /// @param[in] vm_addr
- /// A virtual address from the current process state that is to
- /// be translated into a section offset address.
- ///
- /// @return
- /// An SBAddress which will be valid if \a vm_addr was
- /// successfully resolved into a section offset address, or an
- /// invalid SBAddress if \a vm_addr doesn't resolve to a section
- /// in a module.
- //------------------------------------------------------------------
- lldb::SBAddress
- ResolvePastLoadAddress (uint32_t stop_id, lldb::addr_t vm_addr);
-
- SBSymbolContext
- ResolveSymbolContextForAddress (const SBAddress& addr,
- uint32_t resolve_scope);
-
- //------------------------------------------------------------------
- /// Read target memory. If a target process is running then memory
- /// is read from here. Otherwise the memory is read from the object
- /// files. For a target whose bytes are sized as a multiple of host
- /// bytes, the data read back will preserve the target's byte order.
- ///
- /// @param[in] addr
- /// A target address to read from.
- ///
- /// @param[out] buf
- /// The buffer to read memory into.
- ///
- /// @param[in] size
- /// The maximum number of host bytes to read in the buffer passed
- /// into this call
- ///
- /// @param[out] error
- /// Error information is written here if the memory read fails.
- ///
- /// @return
- /// The amount of data read in host bytes.
- //------------------------------------------------------------------
- size_t
- ReadMemory (const SBAddress addr, void *buf, size_t size, lldb::SBError &error);
-
- lldb::SBBreakpoint
- BreakpointCreateByLocation (const char *file, uint32_t line);
-
- lldb::SBBreakpoint
- BreakpointCreateByLocation (const lldb::SBFileSpec &file_spec, uint32_t line);
-
- lldb::SBBreakpoint
- BreakpointCreateByLocation (const lldb::SBFileSpec &file_spec, uint32_t line, lldb::addr_t offset);
-
- lldb::SBBreakpoint
- BreakpointCreateByName(const char *symbol_name, const char *module_name = nullptr);
-
- // This version uses name_type_mask = eFunctionNameTypeAuto
- lldb::SBBreakpoint
- BreakpointCreateByName (const char *symbol_name,
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByName (const char *symbol_name,
- uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByName (const char *symbol_name,
- uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits
- lldb::LanguageType symbol_language,
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByNames (const char *symbol_name[],
- uint32_t num_names,
- uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByNames (const char *symbol_name[],
- uint32_t num_names,
- uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits
- lldb::LanguageType symbol_language,
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByNames (const char *symbol_name[],
- uint32_t num_names,
- uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits
- lldb::LanguageType symbol_language,
- lldb::addr_t offset,
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByRegex (const char *symbol_name_regex, const char *module_name = nullptr);
-
- lldb::SBBreakpoint
- BreakpointCreateByRegex (const char *symbol_name_regex,
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateByRegex (const char *symbol_name_regex,
- lldb::LanguageType symbol_language,
- const SBFileSpecList &module_list,
- const SBFileSpecList &comp_unit_list);
-
- lldb::SBBreakpoint
- BreakpointCreateBySourceRegex(const char *source_regex,
- const SBFileSpec &source_file,
- const char *module_name = nullptr);
-
- lldb::SBBreakpoint
- BreakpointCreateBySourceRegex (const char *source_regex,
- const SBFileSpecList &module_list,
- const SBFileSpecList &source_file);
-
- lldb::SBBreakpoint
- BreakpointCreateBySourceRegex (const char *source_regex,
- const SBFileSpecList &module_list,
- const SBFileSpecList &source_file,
- const SBStringList &func_names);
-
- lldb::SBBreakpoint
- BreakpointCreateForException (lldb::LanguageType language,
- bool catch_bp,
- bool throw_bp);
-
- lldb::SBBreakpoint
- BreakpointCreateByAddress (addr_t address);
-
- lldb::SBBreakpoint
- BreakpointCreateBySBAddress (SBAddress &address);
-
- uint32_t
- GetNumBreakpoints () const;
-
- lldb::SBBreakpoint
- GetBreakpointAtIndex (uint32_t idx) const;
-
- bool
- BreakpointDelete (break_id_t break_id);
-
- lldb::SBBreakpoint
- FindBreakpointByID (break_id_t break_id);
-
- bool
- EnableAllBreakpoints ();
-
- bool
- DisableAllBreakpoints ();
-
- bool
- DeleteAllBreakpoints ();
-
- uint32_t
- GetNumWatchpoints () const;
-
- lldb::SBWatchpoint
- GetWatchpointAtIndex (uint32_t idx) const;
-
- bool
- DeleteWatchpoint (lldb::watch_id_t watch_id);
-
- lldb::SBWatchpoint
- FindWatchpointByID (lldb::watch_id_t watch_id);
-
- lldb::SBWatchpoint
- WatchAddress (lldb::addr_t addr, size_t size, bool read, bool write, SBError& error);
-
- bool
- EnableAllWatchpoints ();
-
- bool
- DisableAllWatchpoints ();
-
- bool
- DeleteAllWatchpoints ();
-
- lldb::SBBroadcaster
- GetBroadcaster () const;
-
- lldb::SBType
- FindFirstType (const char* type);
-
- lldb::SBTypeList
- FindTypes (const char* type);
-
- lldb::SBType
- GetBasicType(lldb::BasicType type);
-
- lldb::SBValue
- CreateValueFromAddress (const char *name, lldb::SBAddress addr, lldb::SBType type);
-
- lldb::SBValue
- CreateValueFromData (const char *name, lldb::SBData data, lldb::SBType type);
-
- lldb::SBValue
- CreateValueFromExpression (const char *name, const char* expr);
-
- SBSourceManager
- GetSourceManager();
-
- lldb::SBInstructionList
- ReadInstructions (lldb::SBAddress base_addr, uint32_t count);
-
- lldb::SBInstructionList
- ReadInstructions (lldb::SBAddress base_addr, uint32_t count, const char *flavor_string);
-
- lldb::SBInstructionList
- GetInstructions (lldb::SBAddress base_addr, const void *buf, size_t size);
-
- // The "WithFlavor" is necessary to keep SWIG from getting confused about overloaded arguments when
- // using the buf + size -> Python Object magic.
-
- lldb::SBInstructionList
- GetInstructionsWithFlavor (lldb::SBAddress base_addr, const char *flavor_string, const void *buf, size_t size);
-
- lldb::SBInstructionList
- GetInstructions (lldb::addr_t base_addr, const void *buf, size_t size);
-
- lldb::SBInstructionList
- GetInstructionsWithFlavor (lldb::addr_t base_addr, const char *flavor_string, const void *buf, size_t size);
+ //------------------------------------------------------------------
+ /// Attach to process with name.
+ ///
+ /// @param[in] listener
+ /// An optional listener that will receive all process events.
+ /// If \a listener is valid then \a listener will listen to all
+ /// process events. If not valid, then this target's debugger
+ /// (SBTarget::GetDebugger()) will listen to all process events.
+ ///
+ /// @param[in] name
+ /// Basename of process to attach to.
+ ///
+ /// @param[in] wait_for
+ /// If true wait for a new instance of 'name' to be launched.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong if attach fails.
+ ///
+ /// @return
+ /// A process object for the attached process.
+ //------------------------------------------------------------------
+ lldb::SBProcess AttachToProcessWithName(SBListener &listener,
+ const char *name, bool wait_for,
+ lldb::SBError &error);
+
+ //------------------------------------------------------------------
+ /// Connect to a remote debug server with url.
+ ///
+ /// @param[in] listener
+ /// An optional listener that will receive all process events.
+ /// If \a listener is valid then \a listener will listen to all
+ /// process events. If not valid, then this target's debugger
+ /// (SBTarget::GetDebugger()) will listen to all process events.
+ ///
+ /// @param[in] url
+ /// The url to connect to, e.g., 'connect://localhost:12345'.
+ ///
+ /// @param[in] plugin_name
+ /// The plugin name to be used; can be nullptr.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong if the connect fails.
+ ///
+ /// @return
+ /// A process object for the connected process.
+ //------------------------------------------------------------------
+ lldb::SBProcess ConnectRemote(SBListener &listener, const char *url,
+ const char *plugin_name, SBError &error);
+
+ lldb::SBFileSpec GetExecutable();
+
+ bool AddModule(lldb::SBModule &module);
+
+ lldb::SBModule AddModule(const char *path, const char *triple,
+ const char *uuid);
+
+ lldb::SBModule AddModule(const char *path, const char *triple,
+ const char *uuid_cstr, const char *symfile);
+
+ lldb::SBModule AddModule(const SBModuleSpec &module_spec);
+
+ uint32_t GetNumModules() const;
+
+ lldb::SBModule GetModuleAtIndex(uint32_t idx);
+
+ bool RemoveModule(lldb::SBModule module);
+
+ lldb::SBDebugger GetDebugger() const;
+
+ lldb::SBModule FindModule(const lldb::SBFileSpec &file_spec);
+
+ lldb::ByteOrder GetByteOrder();
+
+ uint32_t GetAddressByteSize();
+
+ const char *GetTriple();
+
+ //------------------------------------------------------------------
+ /// Architecture data byte width accessor
+ ///
+ /// @return
+ /// The size in 8-bit (host) bytes of a minimum addressable
+ /// unit from the Architecture's data bus
+ //------------------------------------------------------------------
+ uint32_t GetDataByteSize();
+
+ //------------------------------------------------------------------
+ /// Architecture code byte width accessor
+ ///
+ /// @return
+ /// The size in 8-bit (host) bytes of a minimum addressable
+ /// unit from the Architecture's code bus
+ //------------------------------------------------------------------
+ uint32_t GetCodeByteSize();
+
+ //------------------------------------------------------------------
+ /// Set the base load address for a module section.
+ ///
+ /// @param[in] section
+ /// The section whose base load address will be set within this
+ /// target.
+ ///
+ /// @param[in] section_base_addr
+ /// The base address for the section.
+ ///
+ /// @return
+ /// An error to indicate success, fail, and any reason for
+ /// failure.
+ //------------------------------------------------------------------
+ lldb::SBError SetSectionLoadAddress(lldb::SBSection section,
+ lldb::addr_t section_base_addr);
+
+ //------------------------------------------------------------------
+ /// Clear the base load address for a module section.
+ ///
+ /// @param[in] section
+ /// The section whose base load address will be cleared within
+ /// this target.
+ ///
+ /// @return
+ /// An error to indicate success, fail, and any reason for
+ /// failure.
+ //------------------------------------------------------------------
+ lldb::SBError ClearSectionLoadAddress(lldb::SBSection section);
+
+ //------------------------------------------------------------------
+ /// Slide all file addresses for all module sections so that \a module
+ /// appears to loaded at these slide addresses.
+ ///
+ /// When you need all sections within a module to be loaded at a
+ /// rigid slide from the addresses found in the module object file,
+ /// this function will allow you to easily and quickly slide all
+ /// module sections.
+ ///
+ /// @param[in] module
+ /// The module to load.
+ ///
+ /// @param[in] sections_offset
+ /// An offset that will be applied to all section file addresses
+ /// (the virtual addresses found in the object file itself).
+ ///
+ /// @return
+ /// An error to indicate success, fail, and any reason for
+ /// failure.
+ //------------------------------------------------------------------
+ lldb::SBError SetModuleLoadAddress(lldb::SBModule module,
+ int64_t sections_offset);
+
+ //------------------------------------------------------------------
+ /// Clear the section base load addresses for all sections in a module.
+ ///
+ /// @param[in] module
+ /// The module to unload.
+ ///
+ /// @return
+ /// An error to indicate success, fail, and any reason for
+ /// failure.
+ //------------------------------------------------------------------
+ lldb::SBError ClearModuleLoadAddress(lldb::SBModule module);
+
+ //------------------------------------------------------------------
+ /// Find functions by name.
+ ///
+ /// @param[in] name
+ /// The name of the function we are looking for.
+ ///
+ /// @param[in] name_type_mask
+ /// A logical OR of one or more FunctionNameType enum bits that
+ /// indicate what kind of names should be used when doing the
+ /// lookup. Bits include fully qualified names, base names,
+ /// C++ methods, or ObjC selectors.
+ /// See FunctionNameType for more details.
+ ///
+ /// @return
+ /// A lldb::SBSymbolContextList that gets filled in with all of
+ /// the symbol contexts for all the matches.
+ //------------------------------------------------------------------
+ lldb::SBSymbolContextList
+ FindFunctions(const char *name,
+ uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
+
+ //------------------------------------------------------------------
+ /// Find global and static variables by name.
+ ///
+ /// @param[in] name
+ /// The name of the global or static variable we are looking
+ /// for.
+ ///
+ /// @param[in] max_matches
+ /// Allow the number of matches to be limited to \a max_matches.
+ ///
+ /// @return
+ /// A list of matched variables in an SBValueList.
+ //------------------------------------------------------------------
+ lldb::SBValueList FindGlobalVariables(const char *name, uint32_t max_matches);
+
+ //------------------------------------------------------------------
+ /// Find the first global (or static) variable by name.
+ ///
+ /// @param[in] name
+ /// The name of the global or static variable we are looking
+ /// for.
+ ///
+ /// @return
+ /// An SBValue that gets filled in with the found variable (if any).
+ //------------------------------------------------------------------
+ lldb::SBValue FindFirstGlobalVariable(const char *name);
+
+ //------------------------------------------------------------------
+ /// Find global and static variables by pattern.
+ ///
+ /// @param[in] name
+ /// The pattern to search for global or static variables
+ ///
+ /// @param[in] max_matches
+ /// Allow the number of matches to be limited to \a max_matches.
+ ///
+ /// @param[in] matchtype
+ /// The match type to use.
+ ///
+ /// @return
+ /// A list of matched variables in an SBValueList.
+ //------------------------------------------------------------------
+ lldb::SBValueList FindGlobalVariables(const char *name, uint32_t max_matches,
+ MatchType matchtype);
+
+ //------------------------------------------------------------------
+ /// Find global functions by their name with pattern matching.
+ ///
+ /// @param[in] name
+ /// The pattern to search for global or static variables
+ ///
+ /// @param[in] max_matches
+ /// Allow the number of matches to be limited to \a max_matches.
+ ///
+ /// @param[in] matchtype
+ /// The match type to use.
+ ///
+ /// @return
+ /// A list of matched variables in an SBValueList.
+ //------------------------------------------------------------------
+ lldb::SBSymbolContextList FindGlobalFunctions(const char *name,
+ uint32_t max_matches,
+ MatchType matchtype);
+
+ void Clear();
+
+ //------------------------------------------------------------------
+ /// Resolve a current file address into a section offset address.
+ ///
+ /// @param[in] file_addr
+ ///
+ /// @return
+ /// An SBAddress which will be valid if...
+ //------------------------------------------------------------------
+ lldb::SBAddress ResolveFileAddress(lldb::addr_t file_addr);
+
+ //------------------------------------------------------------------
+ /// Resolve a current load address into a section offset address.
+ ///
+ /// @param[in] vm_addr
+ /// A virtual address from the current process state that is to
+ /// be translated into a section offset address.
+ ///
+ /// @return
+ /// An SBAddress which will be valid if \a vm_addr was
+ /// successfully resolved into a section offset address, or an
+ /// invalid SBAddress if \a vm_addr doesn't resolve to a section
+ /// in a module.
+ //------------------------------------------------------------------
+ lldb::SBAddress ResolveLoadAddress(lldb::addr_t vm_addr);
+
+ //------------------------------------------------------------------
+ /// Resolve a current load address into a section offset address
+ /// using the process stop ID to identify a time in the past.
+ ///
+ /// @param[in] stop_id
+ /// Each time a process stops, the process stop ID integer gets
+ /// incremented. These stop IDs are used to identify past times
+ /// and can be used in history objects as a cheap way to store
+ /// the time at which the sample was taken. Specifying
+ /// UINT32_MAX will always resolve the address using the
+ /// currently loaded sections.
+ ///
+ /// @param[in] vm_addr
+ /// A virtual address from the current process state that is to
+ /// be translated into a section offset address.
+ ///
+ /// @return
+ /// An SBAddress which will be valid if \a vm_addr was
+ /// successfully resolved into a section offset address, or an
+ /// invalid SBAddress if \a vm_addr doesn't resolve to a section
+ /// in a module.
+ //------------------------------------------------------------------
+ lldb::SBAddress ResolvePastLoadAddress(uint32_t stop_id,
+ lldb::addr_t vm_addr);
+
+ SBSymbolContext ResolveSymbolContextForAddress(const SBAddress &addr,
+ uint32_t resolve_scope);
+
+ //------------------------------------------------------------------
+ /// Read target memory. If a target process is running then memory
+ /// is read from here. Otherwise the memory is read from the object
+ /// files. For a target whose bytes are sized as a multiple of host
+ /// bytes, the data read back will preserve the target's byte order.
+ ///
+ /// @param[in] addr
+ /// A target address to read from.
+ ///
+ /// @param[out] buf
+ /// The buffer to read memory into.
+ ///
+ /// @param[in] size
+ /// The maximum number of host bytes to read in the buffer passed
+ /// into this call
+ ///
+ /// @param[out] error
+ /// Error information is written here if the memory read fails.
+ ///
+ /// @return
+ /// The amount of data read in host bytes.
+ //------------------------------------------------------------------
+ size_t ReadMemory(const SBAddress addr, void *buf, size_t size,
+ lldb::SBError &error);
+
+ lldb::SBBreakpoint BreakpointCreateByLocation(const char *file,
+ uint32_t line);
+
+ lldb::SBBreakpoint
+ BreakpointCreateByLocation(const lldb::SBFileSpec &file_spec, uint32_t line);
+
+ lldb::SBBreakpoint
+ BreakpointCreateByLocation(const lldb::SBFileSpec &file_spec, uint32_t line,
+ lldb::addr_t offset);
+
+ lldb::SBBreakpoint
+ BreakpointCreateByLocation(const lldb::SBFileSpec &file_spec, uint32_t line,
+ lldb::addr_t offset, SBFileSpecList &module_list);
+
+ lldb::SBBreakpoint BreakpointCreateByName(const char *symbol_name,
+ const char *module_name = nullptr);
+
+ // This version uses name_type_mask = eFunctionNameTypeAuto
+ lldb::SBBreakpoint
+ BreakpointCreateByName(const char *symbol_name,
+ const SBFileSpecList &module_list,
+ const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByName(
+ const char *symbol_name,
+ uint32_t
+ name_type_mask, // Logical OR one or more FunctionNameType enum bits
+ const SBFileSpecList &module_list,
+ const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByName(
+ const char *symbol_name,
+ uint32_t
+ name_type_mask, // Logical OR one or more FunctionNameType enum bits
+ lldb::LanguageType symbol_language,
+ const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByNames(
+ const char *symbol_name[], uint32_t num_names,
+ uint32_t
+ name_type_mask, // Logical OR one or more FunctionNameType enum bits
+ const SBFileSpecList &module_list,
+ const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByNames(
+ const char *symbol_name[], uint32_t num_names,
+ uint32_t
+ name_type_mask, // Logical OR one or more FunctionNameType enum bits
+ lldb::LanguageType symbol_language,
+ const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByNames(
+ const char *symbol_name[], uint32_t num_names,
+ uint32_t
+ name_type_mask, // Logical OR one or more FunctionNameType enum bits
+ lldb::LanguageType symbol_language,
+ lldb::addr_t offset, const SBFileSpecList &module_list,
+ const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByRegex(const char *symbol_name_regex,
+ const char *module_name = nullptr);
+
+ lldb::SBBreakpoint
+ BreakpointCreateByRegex(const char *symbol_name_regex,
+ const SBFileSpecList &module_list,
+ const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint BreakpointCreateByRegex(
+ const char *symbol_name_regex, lldb::LanguageType symbol_language,
+ const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list);
+
+ lldb::SBBreakpoint
+ BreakpointCreateBySourceRegex(const char *source_regex,
+ const SBFileSpec &source_file,
+ const char *module_name = nullptr);
+
+ lldb::SBBreakpoint
+ BreakpointCreateBySourceRegex(const char *source_regex,
+ const SBFileSpecList &module_list,
+ const SBFileSpecList &source_file);
+
+ lldb::SBBreakpoint BreakpointCreateBySourceRegex(
+ const char *source_regex, const SBFileSpecList &module_list,
+ const SBFileSpecList &source_file, const SBStringList &func_names);
+
+ lldb::SBBreakpoint BreakpointCreateForException(lldb::LanguageType language,
+ bool catch_bp, bool throw_bp);
+
+ lldb::SBBreakpoint BreakpointCreateByAddress(addr_t address);
+
+ lldb::SBBreakpoint BreakpointCreateBySBAddress(SBAddress &address);
+
+ //------------------------------------------------------------------
+ /// Read breakpoints from source_file and return the newly created
+ /// breakpoints in bkpt_list.
+ ///
+ /// @param[in] source_file
+ /// The file from which to read the breakpoints.
+ ///
+ /// @param[out] bkpt_list
+ /// A list of the newly created breakpoints.
+ ///
+ /// @return
+ /// An SBError detailing any errors in reading in the breakpoints.
+ //------------------------------------------------------------------
+ lldb::SBError BreakpointsCreateFromFile(SBFileSpec &source_file,
+ SBBreakpointList &new_bps);
+
+ //------------------------------------------------------------------
+ /// Read breakpoints from source_file and return the newly created
+ /// breakpoints in bkpt_list.
+ ///
+ /// @param[in] source_file
+ /// The file from which to read the breakpoints.
+ ///
+ /// @param[in] matching_names
+ /// Only read in breakpoints whose names match one of the names in this
+ /// list.
+ ///
+ /// @param[out] bkpt_list
+ /// A list of the newly created breakpoints.
+ ///
+ /// @return
+ /// An SBError detailing any errors in reading in the breakpoints.
+ //------------------------------------------------------------------
+ lldb::SBError BreakpointsCreateFromFile(SBFileSpec &source_file,
+ SBStringList &matching_names,
+ SBBreakpointList &new_bps);
+
+ //------------------------------------------------------------------
+ /// Write breakpoints to dest_file.
+ ///
+ /// @param[in] dest_file
+ /// The file to which to write the breakpoints.
+ ///
+ /// @return
+ /// An SBError detailing any errors in writing in the breakpoints.
+ //------------------------------------------------------------------
+ lldb::SBError BreakpointsWriteToFile(SBFileSpec &dest_file);
+
+ //------------------------------------------------------------------
+ /// Write breakpoints listed in bkpt_list to dest_file.
+ ///
+ /// @param[in] dest_file
+ /// The file to which to write the breakpoints.
+ ///
+ /// @param[in] bkpt_list
+ /// Only write breakpoints from this list.
+ ///
+ /// @param[in] append
+ /// If \btrue, append the breakpoints in bkpt_list to the others
+ /// serialized in dest_file. If dest_file doesn't exist, then a new
+ /// file will be created and the breakpoints in bkpt_list written to it.
+ ///
+ /// @return
+ /// An SBError detailing any errors in writing in the breakpoints.
+ //------------------------------------------------------------------
+ lldb::SBError BreakpointsWriteToFile(SBFileSpec &dest_file,
+ SBBreakpointList &bkpt_list,
+ bool append = false);
+
+ uint32_t GetNumBreakpoints() const;
+
+ lldb::SBBreakpoint GetBreakpointAtIndex(uint32_t idx) const;
+
+ bool BreakpointDelete(break_id_t break_id);
+
+ lldb::SBBreakpoint FindBreakpointByID(break_id_t break_id);
+
+ // Finds all breakpoints by name, returning the list in bkpt_list. Returns
+ // false if the name is not a valid breakpoint name, true otherwise.
+ bool FindBreakpointsByName(const char *name, SBBreakpointList &bkpt_list);
+
+ bool EnableAllBreakpoints();
+
+ bool DisableAllBreakpoints();
+
+ bool DeleteAllBreakpoints();
+
+ uint32_t GetNumWatchpoints() const;
+
+ lldb::SBWatchpoint GetWatchpointAtIndex(uint32_t idx) const;
+
+ bool DeleteWatchpoint(lldb::watch_id_t watch_id);
+
+ lldb::SBWatchpoint FindWatchpointByID(lldb::watch_id_t watch_id);
+
+ lldb::SBWatchpoint WatchAddress(lldb::addr_t addr, size_t size, bool read,
+ bool write, SBError &error);
+
+ bool EnableAllWatchpoints();
+
+ bool DisableAllWatchpoints();
+
+ bool DeleteAllWatchpoints();
+
+ lldb::SBBroadcaster GetBroadcaster() const;
+
+ lldb::SBType FindFirstType(const char *type);
+
+ lldb::SBTypeList FindTypes(const char *type);
+
+ lldb::SBType GetBasicType(lldb::BasicType type);
+
+ lldb::SBValue CreateValueFromAddress(const char *name, lldb::SBAddress addr,
+ lldb::SBType type);
+
+ lldb::SBValue CreateValueFromData(const char *name, lldb::SBData data,
+ lldb::SBType type);
+
+ lldb::SBValue CreateValueFromExpression(const char *name, const char *expr);
+
+ SBSourceManager GetSourceManager();
+
+ lldb::SBInstructionList ReadInstructions(lldb::SBAddress base_addr,
+ uint32_t count);
+
+ lldb::SBInstructionList ReadInstructions(lldb::SBAddress base_addr,
+ uint32_t count,
+ const char *flavor_string);
+
+ lldb::SBInstructionList GetInstructions(lldb::SBAddress base_addr,
+ const void *buf, size_t size);
+
+ // The "WithFlavor" is necessary to keep SWIG from getting confused about
+ // overloaded arguments when
+ // using the buf + size -> Python Object magic.
+
+ lldb::SBInstructionList GetInstructionsWithFlavor(lldb::SBAddress base_addr,
+ const char *flavor_string,
+ const void *buf,
+ size_t size);
+
+ lldb::SBInstructionList GetInstructions(lldb::addr_t base_addr,
+ const void *buf, size_t size);
+
+ lldb::SBInstructionList GetInstructionsWithFlavor(lldb::addr_t base_addr,
+ const char *flavor_string,
+ const void *buf,
+ size_t size);
+
+ lldb::SBSymbolContextList FindSymbols(const char *name,
+ lldb::SymbolType type = eSymbolTypeAny);
+
+ bool operator==(const lldb::SBTarget &rhs) const;
- lldb::SBSymbolContextList
- FindSymbols (const char *name,
- lldb::SymbolType type = eSymbolTypeAny);
+ bool operator!=(const lldb::SBTarget &rhs) const;
- bool
- operator == (const lldb::SBTarget &rhs) const;
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
- bool
- operator != (const lldb::SBTarget &rhs) const;
+ lldb::SBValue EvaluateExpression(const char *expr);
- bool
- GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level);
+ lldb::SBValue EvaluateExpression(const char *expr,
+ const SBExpressionOptions &options);
- lldb::SBValue
- EvaluateExpression (const char *expr);
+ lldb::addr_t GetStackRedZoneSize();
- lldb::SBValue
- EvaluateExpression (const char *expr, const SBExpressionOptions &options);
+ lldb::SBLaunchInfo GetLaunchInfo() const;
- lldb::addr_t
- GetStackRedZoneSize();
+ void SetLaunchInfo(const lldb::SBLaunchInfo &launch_info);
- lldb::SBLaunchInfo
- GetLaunchInfo () const;
-
- void
- SetLaunchInfo (const lldb::SBLaunchInfo &launch_info);
-
protected:
- friend class SBAddress;
- friend class SBBlock;
- friend class SBDebugger;
- friend class SBExecutionContext;
- friend class SBFunction;
- friend class SBInstruction;
- friend class SBModule;
- friend class SBProcess;
- friend class SBSection;
- friend class SBSourceManager;
- friend class SBSymbol;
- friend class SBValue;
-
- //------------------------------------------------------------------
- // Constructors are private, use static Target::Create function to
- // create an instance of this class.
- //------------------------------------------------------------------
-
- lldb::TargetSP
- GetSP () const;
-
- void
- SetSP (const lldb::TargetSP& target_sp);
+ friend class SBAddress;
+ friend class SBBlock;
+ friend class SBBreakpointList;
+ friend class SBDebugger;
+ friend class SBExecutionContext;
+ friend class SBFunction;
+ friend class SBInstruction;
+ friend class SBModule;
+ friend class SBProcess;
+ friend class SBSection;
+ friend class SBSourceManager;
+ friend class SBSymbol;
+ friend class SBValue;
+
+ //------------------------------------------------------------------
+ // Constructors are private, use static Target::Create function to
+ // create an instance of this class.
+ //------------------------------------------------------------------
+
+ lldb::TargetSP GetSP() const;
+
+ void SetSP(const lldb::TargetSP &target_sp);
private:
- lldb::TargetSP m_opaque_sp;
+ lldb::TargetSP m_opaque_sp;
};
} // namespace lldb
diff --git a/include/lldb/API/SBThread.h b/include/lldb/API/SBThread.h
index c1ce216f9be6..502e5c973ef5 100644
--- a/include/lldb/API/SBThread.h
+++ b/include/lldb/API/SBThread.h
@@ -18,254 +18,203 @@ namespace lldb {
class SBFrame;
-class LLDB_API SBThread
-{
+class LLDB_API SBThread {
public:
- enum
- {
- eBroadcastBitStackChanged = (1 << 0),
- eBroadcastBitThreadSuspended = (1 << 1),
- eBroadcastBitThreadResumed = (1 << 2),
- eBroadcastBitSelectedFrameChanged = (1 << 3),
- eBroadcastBitThreadSelected = (1 << 4)
- };
-
- static const char *
- GetBroadcasterClassName ();
-
- SBThread ();
-
- SBThread (const lldb::SBThread &thread);
-
- SBThread (const lldb::ThreadSP& lldb_object_sp);
-
- ~SBThread();
-
- lldb::SBQueue
- GetQueue () const;
-
- bool
- IsValid() const;
-
- void
- Clear ();
-
- lldb::StopReason
- GetStopReason();
-
- /// Get the number of words associated with the stop reason.
- /// See also GetStopReasonDataAtIndex().
- size_t
- GetStopReasonDataCount();
-
- //--------------------------------------------------------------------------
- /// Get information associated with a stop reason.
- ///
- /// Breakpoint stop reasons will have data that consists of pairs of
- /// breakpoint IDs followed by the breakpoint location IDs (they always come
- /// in pairs).
- ///
- /// Stop Reason Count Data Type
- /// ======================== ===== =========================================
- /// eStopReasonNone 0
- /// eStopReasonTrace 0
- /// eStopReasonBreakpoint N duple: {breakpoint id, location id}
- /// eStopReasonWatchpoint 1 watchpoint id
- /// eStopReasonSignal 1 unix signal number
- /// eStopReasonException N exception data
- /// eStopReasonExec 0
- /// eStopReasonPlanComplete 0
- //--------------------------------------------------------------------------
- uint64_t
- GetStopReasonDataAtIndex(uint32_t idx);
-
- bool
- GetStopReasonExtendedInfoAsJSON (lldb::SBStream &stream);
-
- SBThreadCollection
- GetStopReasonExtendedBacktraces (InstrumentationRuntimeType type);
-
- size_t
- GetStopDescription (char *dst, size_t dst_len);
-
- SBValue
- GetStopReturnValue ();
-
- lldb::tid_t
- GetThreadID () const;
-
- uint32_t
- GetIndexID () const;
-
- const char *
- GetName () const;
-
- const char *
- GetQueueName() const;
-
- lldb::queue_id_t
- GetQueueID() const;
-
- bool
- GetInfoItemByPathAsString ( const char *path, SBStream &strm);
-
- void
- StepOver (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
-
- void
- StepInto (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
-
- void
- StepInto (const char *target_name, lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
-
- void
- StepInto (const char *target_name,
- uint32_t end_line,
- SBError &error,
- lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
-
- void
- StepOut ();
-
- void
- StepOutOfFrame (lldb::SBFrame &frame);
-
- void
- StepInstruction(bool step_over);
-
- SBError
- StepOverUntil (lldb::SBFrame &frame,
- lldb::SBFileSpec &file_spec,
- uint32_t line);
-
- SBError
- StepUsingScriptedThreadPlan (const char *script_class_name);
-
- SBError
- JumpToLine (lldb::SBFileSpec &file_spec, uint32_t line);
-
- void
- RunToAddress (lldb::addr_t addr);
-
- SBError
- ReturnFromFrame (SBFrame &frame, SBValue &return_value);
-
- SBError
- UnwindInnermostExpression();
-
- //--------------------------------------------------------------------------
- /// LLDB currently supports process centric debugging which means when any
- /// thread in a process stops, all other threads are stopped. The Suspend()
- /// call here tells our process to suspend a thread and not let it run when
- /// the other threads in a process are allowed to run. So when
- /// SBProcess::Continue() is called, any threads that aren't suspended will
- /// be allowed to run. If any of the SBThread functions for stepping are
- /// called (StepOver, StepInto, StepOut, StepInstruction, RunToAddress), the
- /// thread will not be allowed to run and these functions will simply return.
- ///
- /// Eventually we plan to add support for thread centric debugging where
- /// each thread is controlled individually and each thread would broadcast
- /// its state, but we haven't implemented this yet.
- ///
- /// Likewise the SBThread::Resume() call will again allow the thread to run
- /// when the process is continued.
- ///
- /// Suspend() and Resume() functions are not currently reference counted, if
- /// anyone has the need for them to be reference counted, please let us
- /// know.
- //--------------------------------------------------------------------------
- bool
- Suspend();
-
- bool
- Resume ();
-
- bool
- IsSuspended();
-
- bool
- IsStopped();
-
- uint32_t
- GetNumFrames ();
-
- lldb::SBFrame
- GetFrameAtIndex (uint32_t idx);
-
- lldb::SBFrame
- GetSelectedFrame ();
-
- lldb::SBFrame
- SetSelectedFrame (uint32_t frame_idx);
-
- static bool
- EventIsThreadEvent (const SBEvent &event);
-
- static SBFrame
- GetStackFrameFromEvent (const SBEvent &event);
-
- static SBThread
- GetThreadFromEvent (const SBEvent &event);
-
- lldb::SBProcess
- GetProcess ();
-
- const lldb::SBThread &
- operator = (const lldb::SBThread &rhs);
-
- bool
- operator == (const lldb::SBThread &rhs) const;
-
- bool
- operator != (const lldb::SBThread &rhs) const;
-
- bool
- GetDescription (lldb::SBStream &description) const;
-
- bool
- GetStatus (lldb::SBStream &status) const;
-
- SBThread
- GetExtendedBacktraceThread (const char *type);
-
- uint32_t
- GetExtendedBacktraceOriginatingIndexID ();
-
- bool
- SafeToCallFunctions ();
+ enum {
+ eBroadcastBitStackChanged = (1 << 0),
+ eBroadcastBitThreadSuspended = (1 << 1),
+ eBroadcastBitThreadResumed = (1 << 2),
+ eBroadcastBitSelectedFrameChanged = (1 << 3),
+ eBroadcastBitThreadSelected = (1 << 4)
+ };
+
+ static const char *GetBroadcasterClassName();
+
+ SBThread();
+
+ SBThread(const lldb::SBThread &thread);
+
+ SBThread(const lldb::ThreadSP &lldb_object_sp);
+
+ ~SBThread();
+
+ lldb::SBQueue GetQueue() const;
+
+ bool IsValid() const;
+
+ void Clear();
+
+ lldb::StopReason GetStopReason();
+
+ /// Get the number of words associated with the stop reason.
+ /// See also GetStopReasonDataAtIndex().
+ size_t GetStopReasonDataCount();
+
+ //--------------------------------------------------------------------------
+ /// Get information associated with a stop reason.
+ ///
+ /// Breakpoint stop reasons will have data that consists of pairs of
+ /// breakpoint IDs followed by the breakpoint location IDs (they always come
+ /// in pairs).
+ ///
+ /// Stop Reason Count Data Type
+ /// ======================== ===== =========================================
+ /// eStopReasonNone 0
+ /// eStopReasonTrace 0
+ /// eStopReasonBreakpoint N duple: {breakpoint id, location id}
+ /// eStopReasonWatchpoint 1 watchpoint id
+ /// eStopReasonSignal 1 unix signal number
+ /// eStopReasonException N exception data
+ /// eStopReasonExec 0
+ /// eStopReasonPlanComplete 0
+ //--------------------------------------------------------------------------
+ uint64_t GetStopReasonDataAtIndex(uint32_t idx);
+
+ bool GetStopReasonExtendedInfoAsJSON(lldb::SBStream &stream);
+
+ SBThreadCollection
+ GetStopReasonExtendedBacktraces(InstrumentationRuntimeType type);
+
+ size_t GetStopDescription(char *dst, size_t dst_len);
+
+ SBValue GetStopReturnValue();
+
+ lldb::tid_t GetThreadID() const;
+
+ uint32_t GetIndexID() const;
+
+ const char *GetName() const;
+
+ const char *GetQueueName() const;
+
+ lldb::queue_id_t GetQueueID() const;
+
+ bool GetInfoItemByPathAsString(const char *path, SBStream &strm);
+
+ void StepOver(lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
+ void StepInto(lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
+ void StepInto(const char *target_name,
+ lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
+ void StepInto(const char *target_name, uint32_t end_line, SBError &error,
+ lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
+ void StepOut();
+
+ void StepOutOfFrame(lldb::SBFrame &frame);
+
+ void StepInstruction(bool step_over);
+
+ SBError StepOverUntil(lldb::SBFrame &frame, lldb::SBFileSpec &file_spec,
+ uint32_t line);
+
+ SBError StepUsingScriptedThreadPlan(const char *script_class_name);
+
+ SBError StepUsingScriptedThreadPlan(const char *script_class_name,
+ bool resume_immediately);
+
+ SBError JumpToLine(lldb::SBFileSpec &file_spec, uint32_t line);
+
+ void RunToAddress(lldb::addr_t addr);
+
+ SBError ReturnFromFrame(SBFrame &frame, SBValue &return_value);
+
+ SBError UnwindInnermostExpression();
+
+ //--------------------------------------------------------------------------
+ /// LLDB currently supports process centric debugging which means when any
+ /// thread in a process stops, all other threads are stopped. The Suspend()
+ /// call here tells our process to suspend a thread and not let it run when
+ /// the other threads in a process are allowed to run. So when
+ /// SBProcess::Continue() is called, any threads that aren't suspended will
+ /// be allowed to run. If any of the SBThread functions for stepping are
+ /// called (StepOver, StepInto, StepOut, StepInstruction, RunToAddress), the
+ /// thread will not be allowed to run and these functions will simply return.
+ ///
+ /// Eventually we plan to add support for thread centric debugging where
+ /// each thread is controlled individually and each thread would broadcast
+ /// its state, but we haven't implemented this yet.
+ ///
+ /// Likewise the SBThread::Resume() call will again allow the thread to run
+ /// when the process is continued.
+ ///
+ /// Suspend() and Resume() functions are not currently reference counted, if
+ /// anyone has the need for them to be reference counted, please let us
+ /// know.
+ //--------------------------------------------------------------------------
+ bool Suspend();
+
+ bool Resume();
+
+ bool IsSuspended();
+
+ bool IsStopped();
+
+ uint32_t GetNumFrames();
+
+ lldb::SBFrame GetFrameAtIndex(uint32_t idx);
+
+ lldb::SBFrame GetSelectedFrame();
+
+ lldb::SBFrame SetSelectedFrame(uint32_t frame_idx);
+
+ static bool EventIsThreadEvent(const SBEvent &event);
+
+ static SBFrame GetStackFrameFromEvent(const SBEvent &event);
+
+ static SBThread GetThreadFromEvent(const SBEvent &event);
+
+ lldb::SBProcess GetProcess();
+
+ const lldb::SBThread &operator=(const lldb::SBThread &rhs);
+
+ bool operator==(const lldb::SBThread &rhs) const;
+
+ bool operator!=(const lldb::SBThread &rhs) const;
+
+ bool GetDescription(lldb::SBStream &description) const;
+
+ bool GetDescription(lldb::SBStream &description, bool stop_format) const;
+
+ bool GetStatus(lldb::SBStream &status) const;
+
+ SBThread GetExtendedBacktraceThread(const char *type);
+
+ uint32_t GetExtendedBacktraceOriginatingIndexID();
+
+ bool SafeToCallFunctions();
#ifndef SWIG
- lldb_private::Thread *
- operator->();
+ lldb_private::Thread *operator->();
- lldb_private::Thread *
- get();
+ lldb_private::Thread *get();
#endif
protected:
- friend class SBBreakpoint;
- friend class SBBreakpointLocation;
- friend class SBExecutionContext;
- friend class SBFrame;
- friend class SBProcess;
- friend class SBDebugger;
- friend class SBValue;
- friend class lldb_private::QueueImpl;
- friend class SBQueueItem;
-
- void
- SetThread (const lldb::ThreadSP& lldb_object_sp);
+ friend class SBBreakpoint;
+ friend class SBBreakpointLocation;
+ friend class SBExecutionContext;
+ friend class SBFrame;
+ friend class SBProcess;
+ friend class SBDebugger;
+ friend class SBValue;
+ friend class lldb_private::QueueImpl;
+ friend class SBQueueItem;
+
+ void SetThread(const lldb::ThreadSP &lldb_object_sp);
#ifndef SWIG
- SBError
- ResumeNewPlan (lldb_private::ExecutionContext &exe_ctx, lldb_private::ThreadPlan *new_plan);
+ SBError ResumeNewPlan(lldb_private::ExecutionContext &exe_ctx,
+ lldb_private::ThreadPlan *new_plan);
#endif
private:
- lldb::ExecutionContextRefSP m_opaque_sp;
+ lldb::ExecutionContextRefSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBThread_h_
+#endif // LLDB_SBThread_h_
diff --git a/include/lldb/API/SBThreadCollection.h b/include/lldb/API/SBThreadCollection.h
index 79f977454497..715b0826b962 100644
--- a/include/lldb/API/SBThreadCollection.h
+++ b/include/lldb/API/SBThreadCollection.h
@@ -13,57 +13,44 @@
#include "lldb/API/SBDefines.h"
namespace lldb {
-
-class LLDB_API SBThreadCollection
-{
+
+class LLDB_API SBThreadCollection {
public:
-
- SBThreadCollection ();
-
- SBThreadCollection (const SBThreadCollection &rhs);
-
- const SBThreadCollection &
- operator = (const SBThreadCollection &rhs);
-
- ~SBThreadCollection ();
-
- bool
- IsValid () const;
-
- size_t
- GetSize ();
-
- lldb::SBThread
- GetThreadAtIndex (size_t idx);
-
+ SBThreadCollection();
+
+ SBThreadCollection(const SBThreadCollection &rhs);
+
+ const SBThreadCollection &operator=(const SBThreadCollection &rhs);
+
+ ~SBThreadCollection();
+
+ bool IsValid() const;
+
+ size_t GetSize();
+
+ lldb::SBThread GetThreadAtIndex(size_t idx);
+
protected:
-
- // Mimic shared pointer...
- lldb_private::ThreadCollection *
- get() const;
-
- lldb_private::ThreadCollection *
- operator->() const;
-
- lldb::ThreadCollectionSP &
- operator*();
-
- const lldb::ThreadCollectionSP &
- operator*() const;
-
- SBThreadCollection (const lldb::ThreadCollectionSP &threads);
-
- void
- SetOpaque (const lldb::ThreadCollectionSP &threads);
-
+ // Mimic shared pointer...
+ lldb_private::ThreadCollection *get() const;
+
+ lldb_private::ThreadCollection *operator->() const;
+
+ lldb::ThreadCollectionSP &operator*();
+
+ const lldb::ThreadCollectionSP &operator*() const;
+
+ SBThreadCollection(const lldb::ThreadCollectionSP &threads);
+
+ void SetOpaque(const lldb::ThreadCollectionSP &threads);
+
private:
- friend class SBProcess;
- friend class SBThread;
-
- lldb::ThreadCollectionSP m_opaque_sp;
+ friend class SBProcess;
+ friend class SBThread;
+
+ lldb::ThreadCollectionSP m_opaque_sp;
};
-
-
+
} // namespace lldb
#endif // LLDB_SBThreadCollection_h_
diff --git a/include/lldb/API/SBThreadPlan.h b/include/lldb/API/SBThreadPlan.h
index 9cc0d0b89bb5..abc14bf8fe4a 100644
--- a/include/lldb/API/SBThreadPlan.h
+++ b/include/lldb/API/SBThreadPlan.h
@@ -16,114 +16,100 @@
namespace lldb {
-class LLDB_API SBThreadPlan
-{
+class LLDB_API SBThreadPlan {
-friend class lldb_private::ThreadPlan;
+ friend class lldb_private::ThreadPlan;
public:
- SBThreadPlan ();
+ SBThreadPlan();
- SBThreadPlan (const lldb::SBThreadPlan &threadPlan);
-
- SBThreadPlan (const lldb::ThreadPlanSP& lldb_object_sp);
+ SBThreadPlan(const lldb::SBThreadPlan &threadPlan);
- SBThreadPlan (lldb::SBThread &thread, const char *class_name);
+ SBThreadPlan(const lldb::ThreadPlanSP &lldb_object_sp);
- ~SBThreadPlan ();
+ SBThreadPlan(lldb::SBThread &thread, const char *class_name);
- bool
- IsValid() const;
+ ~SBThreadPlan();
- void
- Clear ();
+ bool IsValid() const;
- lldb::StopReason
- GetStopReason();
+ void Clear();
- /// Get the number of words associated with the stop reason.
- /// See also GetStopReasonDataAtIndex().
- size_t
- GetStopReasonDataCount();
+ lldb::StopReason GetStopReason();
- //--------------------------------------------------------------------------
- /// Get information associated with a stop reason.
- ///
- /// Breakpoint stop reasons will have data that consists of pairs of
- /// breakpoint IDs followed by the breakpoint location IDs (they always come
- /// in pairs).
- ///
- /// Stop Reason Count Data Type
- /// ======================== ===== =========================================
- /// eStopReasonNone 0
- /// eStopReasonTrace 0
- /// eStopReasonBreakpoint N duple: {breakpoint id, location id}
- /// eStopReasonWatchpoint 1 watchpoint id
- /// eStopReasonSignal 1 unix signal number
- /// eStopReasonException N exception data
- /// eStopReasonExec 0
- /// eStopReasonPlanComplete 0
- //--------------------------------------------------------------------------
- uint64_t
- GetStopReasonDataAtIndex(uint32_t idx);
+ /// Get the number of words associated with the stop reason.
+ /// See also GetStopReasonDataAtIndex().
+ size_t GetStopReasonDataCount();
- SBThread
- GetThread () const;
+ //--------------------------------------------------------------------------
+ /// Get information associated with a stop reason.
+ ///
+ /// Breakpoint stop reasons will have data that consists of pairs of
+ /// breakpoint IDs followed by the breakpoint location IDs (they always come
+ /// in pairs).
+ ///
+ /// Stop Reason Count Data Type
+ /// ======================== ===== =========================================
+ /// eStopReasonNone 0
+ /// eStopReasonTrace 0
+ /// eStopReasonBreakpoint N duple: {breakpoint id, location id}
+ /// eStopReasonWatchpoint 1 watchpoint id
+ /// eStopReasonSignal 1 unix signal number
+ /// eStopReasonException N exception data
+ /// eStopReasonExec 0
+ /// eStopReasonPlanComplete 0
+ //--------------------------------------------------------------------------
+ uint64_t GetStopReasonDataAtIndex(uint32_t idx);
- const lldb::SBThreadPlan &
- operator = (const lldb::SBThreadPlan &rhs);
+ SBThread GetThread() const;
- bool
- GetDescription (lldb::SBStream &description) const;
+ const lldb::SBThreadPlan &operator=(const lldb::SBThreadPlan &rhs);
- void
- SetPlanComplete (bool success);
+ bool GetDescription(lldb::SBStream &description) const;
- bool
- IsPlanComplete();
+ void SetPlanComplete(bool success);
- bool
- IsValid();
+ bool IsPlanComplete();
- // This section allows an SBThreadPlan to push another of the common types of plans...
- SBThreadPlan
- QueueThreadPlanForStepOverRange (SBAddress &start_address,
- lldb::addr_t range_size);
+ bool IsPlanStale();
- SBThreadPlan
- QueueThreadPlanForStepInRange (SBAddress &start_address,
- lldb::addr_t range_size);
+ bool IsValid();
- SBThreadPlan
- QueueThreadPlanForStepOut (uint32_t frame_idx_to_step_to, bool first_insn = false);
+ // This section allows an SBThreadPlan to push another of the common types of
+ // plans...
+ SBThreadPlan QueueThreadPlanForStepOverRange(SBAddress &start_address,
+ lldb::addr_t range_size);
- SBThreadPlan
- QueueThreadPlanForRunToAddress (SBAddress address);
+ SBThreadPlan QueueThreadPlanForStepInRange(SBAddress &start_address,
+ lldb::addr_t range_size);
+
+ SBThreadPlan QueueThreadPlanForStepOut(uint32_t frame_idx_to_step_to,
+ bool first_insn = false);
+
+ SBThreadPlan QueueThreadPlanForRunToAddress(SBAddress address);
#ifndef SWIG
- lldb_private::ThreadPlan *
- get();
+ lldb_private::ThreadPlan *get();
#endif
protected:
- friend class SBBreakpoint;
- friend class SBBreakpointLocation;
- friend class SBFrame;
- friend class SBProcess;
- friend class SBDebugger;
- friend class SBValue;
- friend class lldb_private::QueueImpl;
- friend class SBQueueItem;
+ friend class SBBreakpoint;
+ friend class SBBreakpointLocation;
+ friend class SBFrame;
+ friend class SBProcess;
+ friend class SBDebugger;
+ friend class SBValue;
+ friend class lldb_private::QueueImpl;
+ friend class SBQueueItem;
#ifndef SWIG
- void
- SetThreadPlan (const lldb::ThreadPlanSP& lldb_object_sp);
+ void SetThreadPlan(const lldb::ThreadPlanSP &lldb_object_sp);
#endif
private:
- lldb::ThreadPlanSP m_opaque_sp;
+ lldb::ThreadPlanSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBThreadPlan_h_
+#endif // LLDB_SBThreadPlan_h_
diff --git a/include/lldb/API/SBType.h b/include/lldb/API/SBType.h
index ed3c2ff23863..0dde0257909f 100644
--- a/include/lldb/API/SBType.h
+++ b/include/lldb/API/SBType.h
@@ -14,328 +14,241 @@
namespace lldb {
-class SBTypeList;
+class SBTypeList;
-class LLDB_API SBTypeMember
-{
+class LLDB_API SBTypeMember {
public:
- SBTypeMember ();
-
- SBTypeMember (const lldb::SBTypeMember& rhs);
-
- ~SBTypeMember();
-
- lldb::SBTypeMember&
- operator = (const lldb::SBTypeMember& rhs);
-
- bool
- IsValid() const;
-
- const char *
- GetName ();
-
- lldb::SBType
- GetType ();
-
- uint64_t
- GetOffsetInBytes();
-
- uint64_t
- GetOffsetInBits();
-
- bool
- IsBitfield();
-
- uint32_t
- GetBitfieldSizeInBits();
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
+ SBTypeMember();
+
+ SBTypeMember(const lldb::SBTypeMember &rhs);
+
+ ~SBTypeMember();
+
+ lldb::SBTypeMember &operator=(const lldb::SBTypeMember &rhs);
+
+ bool IsValid() const;
+
+ const char *GetName();
+
+ lldb::SBType GetType();
+
+ uint64_t GetOffsetInBytes();
+
+ uint64_t GetOffsetInBits();
+
+ bool IsBitfield();
+
+ uint32_t GetBitfieldSizeInBits();
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
protected:
- friend class SBType;
+ friend class SBType;
- void
- reset (lldb_private::TypeMemberImpl *);
+ void reset(lldb_private::TypeMemberImpl *);
- lldb_private::TypeMemberImpl &
- ref ();
+ lldb_private::TypeMemberImpl &ref();
- const lldb_private::TypeMemberImpl &
- ref () const;
+ const lldb_private::TypeMemberImpl &ref() const;
- std::unique_ptr<lldb_private::TypeMemberImpl> m_opaque_ap;
+ std::unique_ptr<lldb_private::TypeMemberImpl> m_opaque_ap;
};
-
-class SBTypeMemberFunction
-{
+
+class SBTypeMemberFunction {
public:
- SBTypeMemberFunction ();
-
- SBTypeMemberFunction (const lldb::SBTypeMemberFunction& rhs);
-
- ~SBTypeMemberFunction();
-
- lldb::SBTypeMemberFunction&
- operator = (const lldb::SBTypeMemberFunction& rhs);
-
- bool
- IsValid() const;
-
- const char *
- GetName ();
-
- const char *
- GetDemangledName ();
-
- const char *
- GetMangledName ();
-
- lldb::SBType
- GetType ();
-
- lldb::SBType
- GetReturnType ();
-
- uint32_t
- GetNumberOfArguments ();
-
- lldb::SBType
- GetArgumentTypeAtIndex (uint32_t);
-
- lldb::MemberFunctionKind
- GetKind();
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
+ SBTypeMemberFunction();
+
+ SBTypeMemberFunction(const lldb::SBTypeMemberFunction &rhs);
+
+ ~SBTypeMemberFunction();
+
+ lldb::SBTypeMemberFunction &operator=(const lldb::SBTypeMemberFunction &rhs);
+
+ bool IsValid() const;
+
+ const char *GetName();
+
+ const char *GetDemangledName();
+
+ const char *GetMangledName();
+
+ lldb::SBType GetType();
+
+ lldb::SBType GetReturnType();
+
+ uint32_t GetNumberOfArguments();
+
+ lldb::SBType GetArgumentTypeAtIndex(uint32_t);
+
+ lldb::MemberFunctionKind GetKind();
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
protected:
- friend class SBType;
-
- void
- reset (lldb_private::TypeMemberFunctionImpl *);
-
- lldb_private::TypeMemberFunctionImpl &
- ref ();
-
- const lldb_private::TypeMemberFunctionImpl &
- ref () const;
-
- lldb::TypeMemberFunctionImplSP m_opaque_sp;
-};
+ friend class SBType;
+
+ void reset(lldb_private::TypeMemberFunctionImpl *);
+ lldb_private::TypeMemberFunctionImpl &ref();
-class SBType
-{
+ const lldb_private::TypeMemberFunctionImpl &ref() const;
+
+ lldb::TypeMemberFunctionImplSP m_opaque_sp;
+};
+
+class SBType {
public:
+ SBType();
+
+ SBType(const lldb::SBType &rhs);
+
+ ~SBType();
+
+ bool IsValid() const;
+
+ uint64_t GetByteSize();
+
+ bool IsPointerType();
+
+ bool IsReferenceType();
+
+ bool IsFunctionType();
+
+ bool IsPolymorphicClass();
+
+ bool IsArrayType();
+
+ bool IsVectorType();
+
+ bool IsTypedefType();
+
+ bool IsAnonymousType();
+
+ lldb::SBType GetPointerType();
+
+ lldb::SBType GetPointeeType();
+
+ lldb::SBType GetReferenceType();
+
+ lldb::SBType GetTypedefedType();
+
+ lldb::SBType GetDereferencedType();
+
+ lldb::SBType GetUnqualifiedType();
+
+ lldb::SBType GetArrayElementType();
+
+ lldb::SBType GetArrayType(uint64_t size);
+
+ lldb::SBType GetVectorElementType();
+
+ lldb::SBType GetCanonicalType();
+ // Get the "lldb::BasicType" enumeration for a type. If a type is not a basic
+ // type eBasicTypeInvalid will be returned
+ lldb::BasicType GetBasicType();
+
+ // The call below confusing and should really be renamed to "CreateBasicType"
+ lldb::SBType GetBasicType(lldb::BasicType type);
+
+ uint32_t GetNumberOfFields();
+
+ uint32_t GetNumberOfDirectBaseClasses();
+
+ uint32_t GetNumberOfVirtualBaseClasses();
+
+ lldb::SBTypeMember GetFieldAtIndex(uint32_t idx);
+
+ lldb::SBTypeMember GetDirectBaseClassAtIndex(uint32_t idx);
+
+ lldb::SBTypeMember GetVirtualBaseClassAtIndex(uint32_t idx);
+
+ lldb::SBTypeEnumMemberList GetEnumMembers();
+
+ uint32_t GetNumberOfTemplateArguments();
+
+ lldb::SBType GetTemplateArgumentType(uint32_t idx);
+
+ lldb::TemplateArgumentKind GetTemplateArgumentKind(uint32_t idx);
+
+ lldb::SBType GetFunctionReturnType();
+
+ lldb::SBTypeList GetFunctionArgumentTypes();
+
+ uint32_t GetNumberOfMemberFunctions();
+
+ lldb::SBTypeMemberFunction GetMemberFunctionAtIndex(uint32_t idx);
+
+ const char *GetName();
+
+ const char *GetDisplayTypeName();
+
+ lldb::TypeClass GetTypeClass();
+
+ bool IsTypeComplete();
+
+ uint32_t GetTypeFlags();
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ lldb::SBType &operator=(const lldb::SBType &rhs);
+
+ bool operator==(lldb::SBType &rhs);
+
+ bool operator!=(lldb::SBType &rhs);
- SBType();
-
- SBType (const lldb::SBType &rhs);
-
- ~SBType ();
-
- bool
- IsValid() const;
-
- uint64_t
- GetByteSize();
-
- bool
- IsPointerType();
-
- bool
- IsReferenceType();
-
- bool
- IsFunctionType ();
-
- bool
- IsPolymorphicClass ();
-
- bool
- IsArrayType ();
-
- bool
- IsVectorType ();
-
- bool
- IsTypedefType ();
-
- bool
- IsAnonymousType ();
-
- lldb::SBType
- GetPointerType();
-
- lldb::SBType
- GetPointeeType();
-
- lldb::SBType
- GetReferenceType();
-
- lldb::SBType
- GetTypedefedType();
-
- lldb::SBType
- GetDereferencedType();
-
- lldb::SBType
- GetUnqualifiedType();
-
- lldb::SBType
- GetArrayElementType ();
-
- lldb::SBType
- GetVectorElementType ();
-
- lldb::SBType
- GetCanonicalType();
- // Get the "lldb::BasicType" enumeration for a type. If a type is not a basic
- // type eBasicTypeInvalid will be returned
- lldb::BasicType
- GetBasicType();
-
- // The call below confusing and should really be renamed to "CreateBasicType"
- lldb::SBType
- GetBasicType(lldb::BasicType type);
-
- uint32_t
- GetNumberOfFields ();
-
- uint32_t
- GetNumberOfDirectBaseClasses ();
-
- uint32_t
- GetNumberOfVirtualBaseClasses ();
-
- lldb::SBTypeMember
- GetFieldAtIndex (uint32_t idx);
-
- lldb::SBTypeMember
- GetDirectBaseClassAtIndex (uint32_t idx);
-
- lldb::SBTypeMember
- GetVirtualBaseClassAtIndex (uint32_t idx);
-
- lldb::SBTypeEnumMemberList
- GetEnumMembers();
-
- uint32_t
- GetNumberOfTemplateArguments ();
-
- lldb::SBType
- GetTemplateArgumentType (uint32_t idx);
-
- lldb::TemplateArgumentKind
- GetTemplateArgumentKind (uint32_t idx);
-
- lldb::SBType
- GetFunctionReturnType ();
-
- lldb::SBTypeList
- GetFunctionArgumentTypes ();
-
- uint32_t
- GetNumberOfMemberFunctions ();
-
- lldb::SBTypeMemberFunction
- GetMemberFunctionAtIndex (uint32_t idx);
-
- const char*
- GetName();
-
- const char *
- GetDisplayTypeName ();
-
- lldb::TypeClass
- GetTypeClass ();
-
- bool
- IsTypeComplete ();
-
- uint32_t
- GetTypeFlags ();
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- lldb::SBType &
- operator = (const lldb::SBType &rhs);
-
- bool
- operator == (lldb::SBType &rhs);
-
- bool
- operator != (lldb::SBType &rhs);
-
protected:
+ lldb_private::TypeImpl &ref();
+
+ const lldb_private::TypeImpl &ref() const;
+
+ lldb::TypeImplSP GetSP();
+
+ void SetSP(const lldb::TypeImplSP &type_impl_sp);
- lldb_private::TypeImpl &
- ref ();
-
- const lldb_private::TypeImpl &
- ref () const;
-
- lldb::TypeImplSP
- GetSP ();
-
- void
- SetSP (const lldb::TypeImplSP &type_impl_sp);
-
- lldb::TypeImplSP m_opaque_sp;
-
- friend class SBFunction;
- friend class SBModule;
- friend class SBTarget;
- friend class SBTypeEnumMember;
- friend class SBTypeEnumMemberList;
- friend class SBTypeNameSpecifier;
- friend class SBTypeMember;
- friend class SBTypeMemberFunction;
- friend class SBTypeList;
- friend class SBValue;
-
- SBType (const lldb_private::CompilerType &);
- SBType (const lldb::TypeSP &);
- SBType (const lldb::TypeImplSP &);
-
+ lldb::TypeImplSP m_opaque_sp;
+
+ friend class SBFunction;
+ friend class SBModule;
+ friend class SBTarget;
+ friend class SBTypeEnumMember;
+ friend class SBTypeEnumMemberList;
+ friend class SBTypeNameSpecifier;
+ friend class SBTypeMember;
+ friend class SBTypeMemberFunction;
+ friend class SBTypeList;
+ friend class SBValue;
+
+ SBType(const lldb_private::CompilerType &);
+ SBType(const lldb::TypeSP &);
+ SBType(const lldb::TypeImplSP &);
};
-
-class SBTypeList
-{
+
+class SBTypeList {
public:
- SBTypeList();
-
- SBTypeList(const lldb::SBTypeList& rhs);
-
- ~SBTypeList();
-
- lldb::SBTypeList&
- operator = (const lldb::SBTypeList& rhs);
-
- bool
- IsValid();
-
- void
- Append (lldb::SBType type);
-
- lldb::SBType
- GetTypeAtIndex (uint32_t index);
-
- uint32_t
- GetSize();
-
-
+ SBTypeList();
+
+ SBTypeList(const lldb::SBTypeList &rhs);
+
+ ~SBTypeList();
+
+ lldb::SBTypeList &operator=(const lldb::SBTypeList &rhs);
+
+ bool IsValid();
+
+ void Append(lldb::SBType type);
+
+ lldb::SBType GetTypeAtIndex(uint32_t index);
+
+ uint32_t GetSize();
+
private:
- std::unique_ptr<lldb_private::TypeListImpl> m_opaque_ap;
- friend class SBModule;
- friend class SBCompileUnit;
+ std::unique_ptr<lldb_private::TypeListImpl> m_opaque_ap;
+ friend class SBModule;
+ friend class SBCompileUnit;
};
-
} // namespace lldb
diff --git a/include/lldb/API/SBTypeCategory.h b/include/lldb/API/SBTypeCategory.h
index 997b3fc2f98d..f44dfc451e44 100644
--- a/include/lldb/API/SBTypeCategory.h
+++ b/include/lldb/API/SBTypeCategory.h
@@ -1,4 +1,5 @@
-//===-- SBTypeCategory.h --------------------------------------------*- C++ -*-===//
+//===-- SBTypeCategory.h --------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -13,165 +14,120 @@
#include "lldb/API/SBDefines.h"
namespace lldb {
-
- class LLDB_API SBTypeCategory
- {
- public:
-
- SBTypeCategory();
-
- SBTypeCategory (const lldb::SBTypeCategory &rhs);
-
- ~SBTypeCategory ();
-
- bool
- IsValid() const;
-
- bool
- GetEnabled ();
-
- void
- SetEnabled (bool);
-
- const char*
- GetName();
-
- lldb::LanguageType
- GetLanguageAtIndex (uint32_t idx);
-
- uint32_t
- GetNumLanguages ();
-
- void
- AddLanguage (lldb::LanguageType language);
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- uint32_t
- GetNumFormats ();
-
- uint32_t
- GetNumSummaries ();
-
- uint32_t
- GetNumFilters ();
-
+
+class LLDB_API SBTypeCategory {
+public:
+ SBTypeCategory();
+
+ SBTypeCategory(const lldb::SBTypeCategory &rhs);
+
+ ~SBTypeCategory();
+
+ bool IsValid() const;
+
+ bool GetEnabled();
+
+ void SetEnabled(bool);
+
+ const char *GetName();
+
+ lldb::LanguageType GetLanguageAtIndex(uint32_t idx);
+
+ uint32_t GetNumLanguages();
+
+ void AddLanguage(lldb::LanguageType language);
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ uint32_t GetNumFormats();
+
+ uint32_t GetNumSummaries();
+
+ uint32_t GetNumFilters();
+
#ifndef LLDB_DISABLE_PYTHON
- uint32_t
- GetNumSynthetics ();
+ uint32_t GetNumSynthetics();
#endif
-
- SBTypeNameSpecifier
- GetTypeNameSpecifierForFilterAtIndex (uint32_t);
-
- SBTypeNameSpecifier
- GetTypeNameSpecifierForFormatAtIndex (uint32_t);
-
- SBTypeNameSpecifier
- GetTypeNameSpecifierForSummaryAtIndex (uint32_t);
+
+ SBTypeNameSpecifier GetTypeNameSpecifierForFilterAtIndex(uint32_t);
+
+ SBTypeNameSpecifier GetTypeNameSpecifierForFormatAtIndex(uint32_t);
+
+ SBTypeNameSpecifier GetTypeNameSpecifierForSummaryAtIndex(uint32_t);
#ifndef LLDB_DISABLE_PYTHON
- SBTypeNameSpecifier
- GetTypeNameSpecifierForSyntheticAtIndex (uint32_t);
+ SBTypeNameSpecifier GetTypeNameSpecifierForSyntheticAtIndex(uint32_t);
#endif
-
- SBTypeFilter
- GetFilterForType (SBTypeNameSpecifier);
- SBTypeFormat
- GetFormatForType (SBTypeNameSpecifier);
-
+ SBTypeFilter GetFilterForType(SBTypeNameSpecifier);
+
+ SBTypeFormat GetFormatForType(SBTypeNameSpecifier);
+
#ifndef LLDB_DISABLE_PYTHON
- SBTypeSummary
- GetSummaryForType (SBTypeNameSpecifier);
+ SBTypeSummary GetSummaryForType(SBTypeNameSpecifier);
#endif
#ifndef LLDB_DISABLE_PYTHON
- SBTypeSynthetic
- GetSyntheticForType (SBTypeNameSpecifier);
+ SBTypeSynthetic GetSyntheticForType(SBTypeNameSpecifier);
#endif
-
+
#ifndef LLDB_DISABLE_PYTHON
- SBTypeFilter
- GetFilterAtIndex (uint32_t);
+ SBTypeFilter GetFilterAtIndex(uint32_t);
#endif
-
- SBTypeFormat
- GetFormatAtIndex (uint32_t);
-
+
+ SBTypeFormat GetFormatAtIndex(uint32_t);
+
#ifndef LLDB_DISABLE_PYTHON
- SBTypeSummary
- GetSummaryAtIndex (uint32_t);
+ SBTypeSummary GetSummaryAtIndex(uint32_t);
#endif
-
+
#ifndef LLDB_DISABLE_PYTHON
- SBTypeSynthetic
- GetSyntheticAtIndex (uint32_t);
+ SBTypeSynthetic GetSyntheticAtIndex(uint32_t);
#endif
-
- bool
- AddTypeFormat (SBTypeNameSpecifier,
- SBTypeFormat);
-
- bool
- DeleteTypeFormat (SBTypeNameSpecifier);
-
+
+ bool AddTypeFormat(SBTypeNameSpecifier, SBTypeFormat);
+
+ bool DeleteTypeFormat(SBTypeNameSpecifier);
+
#ifndef LLDB_DISABLE_PYTHON
- bool
- AddTypeSummary (SBTypeNameSpecifier,
- SBTypeSummary);
+ bool AddTypeSummary(SBTypeNameSpecifier, SBTypeSummary);
#endif
-
- bool
- DeleteTypeSummary (SBTypeNameSpecifier);
-
- bool
- AddTypeFilter (SBTypeNameSpecifier,
- SBTypeFilter);
-
- bool
- DeleteTypeFilter (SBTypeNameSpecifier);
-
+
+ bool DeleteTypeSummary(SBTypeNameSpecifier);
+
+ bool AddTypeFilter(SBTypeNameSpecifier, SBTypeFilter);
+
+ bool DeleteTypeFilter(SBTypeNameSpecifier);
+
#ifndef LLDB_DISABLE_PYTHON
- bool
- AddTypeSynthetic (SBTypeNameSpecifier,
- SBTypeSynthetic);
-
- bool
- DeleteTypeSynthetic (SBTypeNameSpecifier);
+ bool AddTypeSynthetic(SBTypeNameSpecifier, SBTypeSynthetic);
+
+ bool DeleteTypeSynthetic(SBTypeNameSpecifier);
#endif
-
- lldb::SBTypeCategory &
- operator = (const lldb::SBTypeCategory &rhs);
-
- bool
- operator == (lldb::SBTypeCategory &rhs);
-
- bool
- operator != (lldb::SBTypeCategory &rhs);
-
- protected:
- friend class SBDebugger;
-
- lldb::TypeCategoryImplSP
- GetSP ();
-
- void
- SetSP (const lldb::TypeCategoryImplSP &typecategory_impl_sp);
-
- TypeCategoryImplSP m_opaque_sp;
-
- SBTypeCategory (const lldb::TypeCategoryImplSP &);
-
- SBTypeCategory (const char*);
-
- bool
- IsDefaultCategory();
-
- };
-
+
+ lldb::SBTypeCategory &operator=(const lldb::SBTypeCategory &rhs);
+
+ bool operator==(lldb::SBTypeCategory &rhs);
+
+ bool operator!=(lldb::SBTypeCategory &rhs);
+
+protected:
+ friend class SBDebugger;
+
+ lldb::TypeCategoryImplSP GetSP();
+
+ void SetSP(const lldb::TypeCategoryImplSP &typecategory_impl_sp);
+
+ TypeCategoryImplSP m_opaque_sp;
+
+ SBTypeCategory(const lldb::TypeCategoryImplSP &);
+
+ SBTypeCategory(const char *);
+
+ bool IsDefaultCategory();
+};
+
} // namespace lldb
#endif // LLDB_SBTypeCategory_h_
diff --git a/include/lldb/API/SBTypeEnumMember.h b/include/lldb/API/SBTypeEnumMember.h
index b141ba0a6bb0..f45c234d2c77 100644
--- a/include/lldb/API/SBTypeEnumMember.h
+++ b/include/lldb/API/SBTypeEnumMember.h
@@ -15,82 +15,64 @@
namespace lldb {
-class LLDB_API SBTypeEnumMember
-{
+class LLDB_API SBTypeEnumMember {
public:
- SBTypeEnumMember ();
+ SBTypeEnumMember();
- SBTypeEnumMember (const SBTypeEnumMember& rhs);
+ SBTypeEnumMember(const SBTypeEnumMember &rhs);
- ~SBTypeEnumMember();
+ ~SBTypeEnumMember();
- SBTypeEnumMember&
- operator = (const SBTypeEnumMember& rhs);
+ SBTypeEnumMember &operator=(const SBTypeEnumMember &rhs);
- bool
- IsValid() const;
+ bool IsValid() const;
- int64_t
- GetValueAsSigned();
+ int64_t GetValueAsSigned();
- uint64_t
- GetValueAsUnsigned();
+ uint64_t GetValueAsUnsigned();
- const char *
- GetName ();
+ const char *GetName();
- lldb::SBType
- GetType ();
+ lldb::SBType GetType();
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
protected:
- friend class SBType;
- friend class SBTypeEnumMemberList;
+ friend class SBType;
+ friend class SBTypeEnumMemberList;
- void
- reset (lldb_private::TypeEnumMemberImpl *);
+ void reset(lldb_private::TypeEnumMemberImpl *);
- lldb_private::TypeEnumMemberImpl &
- ref ();
+ lldb_private::TypeEnumMemberImpl &ref();
- const lldb_private::TypeEnumMemberImpl &
- ref () const;
+ const lldb_private::TypeEnumMemberImpl &ref() const;
- lldb::TypeEnumMemberImplSP m_opaque_sp;
+ lldb::TypeEnumMemberImplSP m_opaque_sp;
- SBTypeEnumMember (const lldb::TypeEnumMemberImplSP &);
+ SBTypeEnumMember(const lldb::TypeEnumMemberImplSP &);
};
-class SBTypeEnumMemberList
-{
+class SBTypeEnumMemberList {
public:
- SBTypeEnumMemberList();
+ SBTypeEnumMemberList();
- SBTypeEnumMemberList(const SBTypeEnumMemberList& rhs);
+ SBTypeEnumMemberList(const SBTypeEnumMemberList &rhs);
- ~SBTypeEnumMemberList();
+ ~SBTypeEnumMemberList();
- SBTypeEnumMemberList&
- operator = (const SBTypeEnumMemberList& rhs);
+ SBTypeEnumMemberList &operator=(const SBTypeEnumMemberList &rhs);
- bool
- IsValid();
+ bool IsValid();
- void
- Append (SBTypeEnumMember entry);
+ void Append(SBTypeEnumMember entry);
- SBTypeEnumMember
- GetTypeEnumMemberAtIndex (uint32_t index);
-
- uint32_t
- GetSize();
+ SBTypeEnumMember GetTypeEnumMemberAtIndex(uint32_t index);
+ uint32_t GetSize();
private:
- std::unique_ptr<lldb_private::TypeEnumMemberListImpl> m_opaque_ap;
+ std::unique_ptr<lldb_private::TypeEnumMemberListImpl> m_opaque_ap;
};
} // namespace lldb
diff --git a/include/lldb/API/SBTypeFilter.h b/include/lldb/API/SBTypeFilter.h
index f030b6a99b60..19888ba7cfb6 100644
--- a/include/lldb/API/SBTypeFilter.h
+++ b/include/lldb/API/SBTypeFilter.h
@@ -1,4 +1,5 @@
-//===-- SBTypeFilter.h --------------------------------------------*- C++ -*-===//
+//===-- SBTypeFilter.h --------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -13,80 +14,60 @@
#include "lldb/API/SBDefines.h"
namespace lldb {
-
- class LLDB_API SBTypeFilter
- {
- public:
-
- SBTypeFilter();
-
- SBTypeFilter (uint32_t options); // see lldb::eTypeOption values
-
- SBTypeFilter (const lldb::SBTypeFilter &rhs);
-
- ~SBTypeFilter ();
-
- bool
- IsValid() const;
-
- uint32_t
- GetNumberOfExpressionPaths ();
-
- const char*
- GetExpressionPathAtIndex (uint32_t i);
-
- bool
- ReplaceExpressionPathAtIndex (uint32_t i, const char* item);
-
- void
- AppendExpressionPath (const char* item);
-
- void
- Clear();
-
- uint32_t
- GetOptions();
-
- void
- SetOptions (uint32_t);
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- lldb::SBTypeFilter &
- operator = (const lldb::SBTypeFilter &rhs);
-
- bool
- IsEqualTo (lldb::SBTypeFilter &rhs);
-
- bool
- operator == (lldb::SBTypeFilter &rhs);
-
- bool
- operator != (lldb::SBTypeFilter &rhs);
-
- protected:
- friend class SBDebugger;
- friend class SBTypeCategory;
- friend class SBValue;
-
- lldb::TypeFilterImplSP
- GetSP ();
-
- void
- SetSP (const lldb::TypeFilterImplSP &typefilter_impl_sp);
-
- lldb::TypeFilterImplSP m_opaque_sp;
-
- SBTypeFilter (const lldb::TypeFilterImplSP &);
-
- bool
- CopyOnWrite_Impl();
-
- };
-
-
+
+class LLDB_API SBTypeFilter {
+public:
+ SBTypeFilter();
+
+ SBTypeFilter(uint32_t options); // see lldb::eTypeOption values
+
+ SBTypeFilter(const lldb::SBTypeFilter &rhs);
+
+ ~SBTypeFilter();
+
+ bool IsValid() const;
+
+ uint32_t GetNumberOfExpressionPaths();
+
+ const char *GetExpressionPathAtIndex(uint32_t i);
+
+ bool ReplaceExpressionPathAtIndex(uint32_t i, const char *item);
+
+ void AppendExpressionPath(const char *item);
+
+ void Clear();
+
+ uint32_t GetOptions();
+
+ void SetOptions(uint32_t);
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ lldb::SBTypeFilter &operator=(const lldb::SBTypeFilter &rhs);
+
+ bool IsEqualTo(lldb::SBTypeFilter &rhs);
+
+ bool operator==(lldb::SBTypeFilter &rhs);
+
+ bool operator!=(lldb::SBTypeFilter &rhs);
+
+protected:
+ friend class SBDebugger;
+ friend class SBTypeCategory;
+ friend class SBValue;
+
+ lldb::TypeFilterImplSP GetSP();
+
+ void SetSP(const lldb::TypeFilterImplSP &typefilter_impl_sp);
+
+ lldb::TypeFilterImplSP m_opaque_sp;
+
+ SBTypeFilter(const lldb::TypeFilterImplSP &);
+
+ bool CopyOnWrite_Impl();
+};
+
} // namespace lldb
#endif // LLDB_SBTypeFilter_h_
diff --git a/include/lldb/API/SBTypeFormat.h b/include/lldb/API/SBTypeFormat.h
index c24641ac15f5..d0429e97ff9c 100644
--- a/include/lldb/API/SBTypeFormat.h
+++ b/include/lldb/API/SBTypeFormat.h
@@ -1,4 +1,5 @@
-//===-- SBTypeFormat.h --------------------------------------------*- C++ -*-===//
+//===-- SBTypeFormat.h --------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,87 +15,63 @@
namespace lldb {
-class LLDB_API SBTypeFormat
-{
+class LLDB_API SBTypeFormat {
public:
-
- SBTypeFormat();
-
- SBTypeFormat (lldb::Format format,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- SBTypeFormat (const char* type,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- SBTypeFormat (const lldb::SBTypeFormat &rhs);
-
- ~SBTypeFormat ();
-
- bool
- IsValid() const;
-
- lldb::Format
- GetFormat ();
-
- const char*
- GetTypeName ();
-
- uint32_t
- GetOptions();
-
- void
- SetFormat (lldb::Format);
-
- void
- SetTypeName (const char*);
-
- void
- SetOptions (uint32_t);
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- lldb::SBTypeFormat &
- operator = (const lldb::SBTypeFormat &rhs);
-
- bool
- IsEqualTo (lldb::SBTypeFormat &rhs);
-
- bool
- operator == (lldb::SBTypeFormat &rhs);
-
- bool
- operator != (lldb::SBTypeFormat &rhs);
-
+ SBTypeFormat();
+
+ SBTypeFormat(lldb::Format format,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ SBTypeFormat(const char *type,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ SBTypeFormat(const lldb::SBTypeFormat &rhs);
+
+ ~SBTypeFormat();
+
+ bool IsValid() const;
+
+ lldb::Format GetFormat();
+
+ const char *GetTypeName();
+
+ uint32_t GetOptions();
+
+ void SetFormat(lldb::Format);
+
+ void SetTypeName(const char *);
+
+ void SetOptions(uint32_t);
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ lldb::SBTypeFormat &operator=(const lldb::SBTypeFormat &rhs);
+
+ bool IsEqualTo(lldb::SBTypeFormat &rhs);
+
+ bool operator==(lldb::SBTypeFormat &rhs);
+
+ bool operator!=(lldb::SBTypeFormat &rhs);
+
protected:
- friend class SBDebugger;
- friend class SBTypeCategory;
- friend class SBValue;
-
- lldb::TypeFormatImplSP
- GetSP ();
-
- void
- SetSP (const lldb::TypeFormatImplSP &typeformat_impl_sp);
-
- lldb::TypeFormatImplSP m_opaque_sp;
-
- SBTypeFormat (const lldb::TypeFormatImplSP &);
-
- enum class Type
- {
- eTypeKeepSame,
- eTypeFormat,
- eTypeEnum
- };
-
- bool
- CopyOnWrite_Impl(Type);
-
+ friend class SBDebugger;
+ friend class SBTypeCategory;
+ friend class SBValue;
+
+ lldb::TypeFormatImplSP GetSP();
+
+ void SetSP(const lldb::TypeFormatImplSP &typeformat_impl_sp);
+
+ lldb::TypeFormatImplSP m_opaque_sp;
+
+ SBTypeFormat(const lldb::TypeFormatImplSP &);
+
+ enum class Type { eTypeKeepSame, eTypeFormat, eTypeEnum };
+
+ bool CopyOnWrite_Impl(Type);
};
-
} // namespace lldb
#endif // LLDB_SBTypeFormat_h_
diff --git a/include/lldb/API/SBTypeNameSpecifier.h b/include/lldb/API/SBTypeNameSpecifier.h
index 71700a7123d5..2a4f09c2068b 100644
--- a/include/lldb/API/SBTypeNameSpecifier.h
+++ b/include/lldb/API/SBTypeNameSpecifier.h
@@ -1,4 +1,5 @@
-//===-- SBTypeNameSpecifier.h --------------------------------------*- C++ -*-===//
+//===-- SBTypeNameSpecifier.h --------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -13,65 +14,51 @@
#include "lldb/API/SBDefines.h"
namespace lldb {
-
- class LLDB_API SBTypeNameSpecifier
- {
- public:
-
- SBTypeNameSpecifier();
-
- SBTypeNameSpecifier (const char* name,
- bool is_regex = false);
-
- SBTypeNameSpecifier (SBType type);
-
- SBTypeNameSpecifier (const lldb::SBTypeNameSpecifier &rhs);
-
- ~SBTypeNameSpecifier ();
-
- bool
- IsValid() const;
-
- const char*
- GetName();
-
- SBType
- GetType ();
-
- bool
- IsRegex();
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- lldb::SBTypeNameSpecifier &
- operator = (const lldb::SBTypeNameSpecifier &rhs);
-
- bool
- IsEqualTo (lldb::SBTypeNameSpecifier &rhs);
-
- bool
- operator == (lldb::SBTypeNameSpecifier &rhs);
-
- bool
- operator != (lldb::SBTypeNameSpecifier &rhs);
-
- protected:
- friend class SBDebugger;
- friend class SBTypeCategory;
-
- lldb::TypeNameSpecifierImplSP
- GetSP ();
-
- void
- SetSP (const lldb::TypeNameSpecifierImplSP &type_namespec_sp);
-
- lldb::TypeNameSpecifierImplSP m_opaque_sp;
-
- SBTypeNameSpecifier (const lldb::TypeNameSpecifierImplSP &);
- };
-
+
+class LLDB_API SBTypeNameSpecifier {
+public:
+ SBTypeNameSpecifier();
+
+ SBTypeNameSpecifier(const char *name, bool is_regex = false);
+
+ SBTypeNameSpecifier(SBType type);
+
+ SBTypeNameSpecifier(const lldb::SBTypeNameSpecifier &rhs);
+
+ ~SBTypeNameSpecifier();
+
+ bool IsValid() const;
+
+ const char *GetName();
+
+ SBType GetType();
+
+ bool IsRegex();
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ lldb::SBTypeNameSpecifier &operator=(const lldb::SBTypeNameSpecifier &rhs);
+
+ bool IsEqualTo(lldb::SBTypeNameSpecifier &rhs);
+
+ bool operator==(lldb::SBTypeNameSpecifier &rhs);
+
+ bool operator!=(lldb::SBTypeNameSpecifier &rhs);
+
+protected:
+ friend class SBDebugger;
+ friend class SBTypeCategory;
+
+ lldb::TypeNameSpecifierImplSP GetSP();
+
+ void SetSP(const lldb::TypeNameSpecifierImplSP &type_namespec_sp);
+
+ lldb::TypeNameSpecifierImplSP m_opaque_sp;
+
+ SBTypeNameSpecifier(const lldb::TypeNameSpecifierImplSP &);
+};
+
} // namespace lldb
#endif // LLDB_SBTypeNameSpecifier_h_
diff --git a/include/lldb/API/SBTypeSummary.h b/include/lldb/API/SBTypeSummary.h
index f4c666180085..c9ccdff834ce 100644
--- a/include/lldb/API/SBTypeSummary.h
+++ b/include/lldb/API/SBTypeSummary.h
@@ -1,4 +1,5 @@
-//===-- SBTypeSummary.h -------------------------------------------*- C++ -*-===//
+//===-- SBTypeSummary.h -------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -13,160 +14,123 @@
#include "lldb/API/SBDefines.h"
namespace lldb {
- class LLDB_API SBTypeSummaryOptions
- {
- public:
- SBTypeSummaryOptions();
-
- SBTypeSummaryOptions (const lldb::SBTypeSummaryOptions &rhs);
-
- SBTypeSummaryOptions (const lldb_private::TypeSummaryOptions *lldb_object_ptr);
-
- ~SBTypeSummaryOptions ();
-
- bool
- IsValid ();
-
- lldb::LanguageType
- GetLanguage ();
-
- lldb::TypeSummaryCapping
- GetCapping ();
-
- void
- SetLanguage (lldb::LanguageType);
-
- void
- SetCapping (lldb::TypeSummaryCapping);
-
- protected:
- friend class SBValue;
-
- lldb_private::TypeSummaryOptions *
- operator->();
-
- const lldb_private::TypeSummaryOptions *
- operator->() const;
-
- lldb_private::TypeSummaryOptions *
- get ();
-
- lldb_private::TypeSummaryOptions &
- ref();
-
- const lldb_private::TypeSummaryOptions &
- ref() const;
-
- void
- SetOptions (const lldb_private::TypeSummaryOptions *lldb_object_ptr);
-
- private:
- std::unique_ptr<lldb_private::TypeSummaryOptions> m_opaque_ap;
- };
-
- class SBTypeSummary
- {
- public:
-
- SBTypeSummary();
-
- // Native function summary formatter callback
- typedef bool (*FormatCallback) (SBValue, SBTypeSummaryOptions, SBStream&);
-
- static SBTypeSummary
- CreateWithSummaryString (const char* data,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- static SBTypeSummary
- CreateWithFunctionName (const char* data,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- static SBTypeSummary
- CreateWithScriptCode (const char* data,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- static SBTypeSummary
- CreateWithCallback (FormatCallback cb,
- uint32_t options = 0,
- const char* description = nullptr);
-
- SBTypeSummary (const lldb::SBTypeSummary &rhs);
-
- ~SBTypeSummary ();
-
- bool
- IsValid() const;
-
- bool
- IsFunctionCode();
-
- bool
- IsFunctionName();
-
- bool
- IsSummaryString();
-
- const char*
- GetData ();
-
- void
- SetSummaryString (const char* data);
-
- void
- SetFunctionName (const char* data);
-
- void
- SetFunctionCode (const char* data);
-
- uint32_t
- GetOptions ();
-
- void
- SetOptions (uint32_t);
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- lldb::SBTypeSummary &
- operator = (const lldb::SBTypeSummary &rhs);
-
- bool
- DoesPrintValue (lldb::SBValue value);
-
- bool
- IsEqualTo (lldb::SBTypeSummary &rhs);
-
- bool
- operator == (lldb::SBTypeSummary &rhs);
-
- bool
- operator != (lldb::SBTypeSummary &rhs);
-
- protected:
- friend class SBDebugger;
- friend class SBTypeCategory;
- friend class SBValue;
-
- lldb::TypeSummaryImplSP
- GetSP ();
-
- void
- SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp);
-
- lldb::TypeSummaryImplSP m_opaque_sp;
-
- SBTypeSummary (const lldb::TypeSummaryImplSP &);
-
- bool
- CopyOnWrite_Impl();
-
- bool
- ChangeSummaryType (bool want_script);
-
- };
-
-
+class LLDB_API SBTypeSummaryOptions {
+public:
+ SBTypeSummaryOptions();
+
+ SBTypeSummaryOptions(const lldb::SBTypeSummaryOptions &rhs);
+
+ SBTypeSummaryOptions(const lldb_private::TypeSummaryOptions *lldb_object_ptr);
+
+ ~SBTypeSummaryOptions();
+
+ bool IsValid();
+
+ lldb::LanguageType GetLanguage();
+
+ lldb::TypeSummaryCapping GetCapping();
+
+ void SetLanguage(lldb::LanguageType);
+
+ void SetCapping(lldb::TypeSummaryCapping);
+
+protected:
+ friend class SBValue;
+
+ lldb_private::TypeSummaryOptions *operator->();
+
+ const lldb_private::TypeSummaryOptions *operator->() const;
+
+ lldb_private::TypeSummaryOptions *get();
+
+ lldb_private::TypeSummaryOptions &ref();
+
+ const lldb_private::TypeSummaryOptions &ref() const;
+
+ void SetOptions(const lldb_private::TypeSummaryOptions *lldb_object_ptr);
+
+private:
+ std::unique_ptr<lldb_private::TypeSummaryOptions> m_opaque_ap;
+};
+
+class SBTypeSummary {
+public:
+ SBTypeSummary();
+
+ // Native function summary formatter callback
+ typedef bool (*FormatCallback)(SBValue, SBTypeSummaryOptions, SBStream &);
+
+ static SBTypeSummary
+ CreateWithSummaryString(const char *data,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ static SBTypeSummary
+ CreateWithFunctionName(const char *data,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ static SBTypeSummary
+ CreateWithScriptCode(const char *data,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ static SBTypeSummary CreateWithCallback(FormatCallback cb,
+ uint32_t options = 0,
+ const char *description = nullptr);
+
+ SBTypeSummary(const lldb::SBTypeSummary &rhs);
+
+ ~SBTypeSummary();
+
+ bool IsValid() const;
+
+ bool IsFunctionCode();
+
+ bool IsFunctionName();
+
+ bool IsSummaryString();
+
+ const char *GetData();
+
+ void SetSummaryString(const char *data);
+
+ void SetFunctionName(const char *data);
+
+ void SetFunctionCode(const char *data);
+
+ uint32_t GetOptions();
+
+ void SetOptions(uint32_t);
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ lldb::SBTypeSummary &operator=(const lldb::SBTypeSummary &rhs);
+
+ bool DoesPrintValue(lldb::SBValue value);
+
+ bool IsEqualTo(lldb::SBTypeSummary &rhs);
+
+ bool operator==(lldb::SBTypeSummary &rhs);
+
+ bool operator!=(lldb::SBTypeSummary &rhs);
+
+protected:
+ friend class SBDebugger;
+ friend class SBTypeCategory;
+ friend class SBValue;
+
+ lldb::TypeSummaryImplSP GetSP();
+
+ void SetSP(const lldb::TypeSummaryImplSP &typefilter_impl_sp);
+
+ lldb::TypeSummaryImplSP m_opaque_sp;
+
+ SBTypeSummary(const lldb::TypeSummaryImplSP &);
+
+ bool CopyOnWrite_Impl();
+
+ bool ChangeSummaryType(bool want_script);
+};
+
} // namespace lldb
#endif // LLDB_SBTypeSummary_h_
diff --git a/include/lldb/API/SBTypeSynthetic.h b/include/lldb/API/SBTypeSynthetic.h
index 5dd11757ba40..2099df316194 100644
--- a/include/lldb/API/SBTypeSynthetic.h
+++ b/include/lldb/API/SBTypeSynthetic.h
@@ -1,4 +1,5 @@
-//===-- SBTypeSynthetic.h -----------------------------------------*- C++ -*-===//
+//===-- SBTypeSynthetic.h -----------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,86 +16,66 @@
#ifndef LLDB_DISABLE_PYTHON
namespace lldb {
-
- class LLDB_API SBTypeSynthetic
- {
- public:
-
- SBTypeSynthetic();
-
- static SBTypeSynthetic
- CreateWithClassName (const char* data,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- static SBTypeSynthetic
- CreateWithScriptCode (const char* data,
- uint32_t options = 0); // see lldb::eTypeOption values
-
- SBTypeSynthetic (const lldb::SBTypeSynthetic &rhs);
-
- ~SBTypeSynthetic ();
-
- bool
- IsValid() const;
-
- bool
- IsClassCode();
-
- bool
- IsClassName();
-
- const char*
- GetData ();
-
- void
- SetClassName (const char* data);
-
- void
- SetClassCode (const char* data);
-
- uint32_t
- GetOptions ();
-
- void
- SetOptions (uint32_t);
-
- bool
- GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level);
-
- lldb::SBTypeSynthetic &
- operator = (const lldb::SBTypeSynthetic &rhs);
-
- bool
- IsEqualTo (lldb::SBTypeSynthetic &rhs);
-
- bool
- operator == (lldb::SBTypeSynthetic &rhs);
-
- bool
- operator != (lldb::SBTypeSynthetic &rhs);
-
- protected:
- friend class SBDebugger;
- friend class SBTypeCategory;
- friend class SBValue;
-
- lldb::ScriptedSyntheticChildrenSP
- GetSP ();
-
- void
- SetSP (const lldb::ScriptedSyntheticChildrenSP &typefilter_impl_sp);
-
- lldb::ScriptedSyntheticChildrenSP m_opaque_sp;
-
- SBTypeSynthetic (const lldb::ScriptedSyntheticChildrenSP &);
-
- bool
- CopyOnWrite_Impl();
-
- };
-
-
+
+class LLDB_API SBTypeSynthetic {
+public:
+ SBTypeSynthetic();
+
+ static SBTypeSynthetic
+ CreateWithClassName(const char *data,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ static SBTypeSynthetic
+ CreateWithScriptCode(const char *data,
+ uint32_t options = 0); // see lldb::eTypeOption values
+
+ SBTypeSynthetic(const lldb::SBTypeSynthetic &rhs);
+
+ ~SBTypeSynthetic();
+
+ bool IsValid() const;
+
+ bool IsClassCode();
+
+ bool IsClassName();
+
+ const char *GetData();
+
+ void SetClassName(const char *data);
+
+ void SetClassCode(const char *data);
+
+ uint32_t GetOptions();
+
+ void SetOptions(uint32_t);
+
+ bool GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level);
+
+ lldb::SBTypeSynthetic &operator=(const lldb::SBTypeSynthetic &rhs);
+
+ bool IsEqualTo(lldb::SBTypeSynthetic &rhs);
+
+ bool operator==(lldb::SBTypeSynthetic &rhs);
+
+ bool operator!=(lldb::SBTypeSynthetic &rhs);
+
+protected:
+ friend class SBDebugger;
+ friend class SBTypeCategory;
+ friend class SBValue;
+
+ lldb::ScriptedSyntheticChildrenSP GetSP();
+
+ void SetSP(const lldb::ScriptedSyntheticChildrenSP &typefilter_impl_sp);
+
+ lldb::ScriptedSyntheticChildrenSP m_opaque_sp;
+
+ SBTypeSynthetic(const lldb::ScriptedSyntheticChildrenSP &);
+
+ bool CopyOnWrite_Impl();
+};
+
} // namespace lldb
#endif // LLDB_DISABLE_PYTHON
diff --git a/include/lldb/API/SBUnixSignals.h b/include/lldb/API/SBUnixSignals.h
index ae48b63e1a2f..d44a508fbb42 100644
--- a/include/lldb/API/SBUnixSignals.h
+++ b/include/lldb/API/SBUnixSignals.h
@@ -1,4 +1,5 @@
-//===-- SBUnixSignals.h -----------------------------------------------*- C++ -*-===//
+//===-- SBUnixSignals.h -----------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,72 +17,54 @@ namespace lldb {
class LLDB_API SBUnixSignals {
public:
- SBUnixSignals ();
+ SBUnixSignals();
- SBUnixSignals (const lldb::SBUnixSignals &rhs);
+ SBUnixSignals(const lldb::SBUnixSignals &rhs);
- ~SBUnixSignals();
+ ~SBUnixSignals();
- const SBUnixSignals &
- operator =(const lldb::SBUnixSignals &rhs);
+ const SBUnixSignals &operator=(const lldb::SBUnixSignals &rhs);
- void
- Clear ();
+ void Clear();
- bool
- IsValid () const;
+ bool IsValid() const;
- const char *
- GetSignalAsCString (int32_t signo) const;
+ const char *GetSignalAsCString(int32_t signo) const;
- int32_t
- GetSignalNumberFromName (const char *name) const;
+ int32_t GetSignalNumberFromName(const char *name) const;
- bool
- GetShouldSuppress (int32_t signo) const;
+ bool GetShouldSuppress(int32_t signo) const;
- bool
- SetShouldSuppress (int32_t signo,
- bool value);
+ bool SetShouldSuppress(int32_t signo, bool value);
- bool
- GetShouldStop (int32_t signo) const;
+ bool GetShouldStop(int32_t signo) const;
- bool
- SetShouldStop (int32_t signo,
- bool value);
+ bool SetShouldStop(int32_t signo, bool value);
- bool
- GetShouldNotify (int32_t signo) const;
+ bool GetShouldNotify(int32_t signo) const;
- bool
- SetShouldNotify (int32_t signo, bool value);
+ bool SetShouldNotify(int32_t signo, bool value);
- int32_t
- GetNumSignals () const;
+ int32_t GetNumSignals() const;
- int32_t
- GetSignalAtIndex (int32_t index) const;
+ int32_t GetSignalAtIndex(int32_t index) const;
protected:
- friend class SBProcess;
- friend class SBPlatform;
+ friend class SBProcess;
+ friend class SBPlatform;
- SBUnixSignals(lldb::ProcessSP &process_sp);
+ SBUnixSignals(lldb::ProcessSP &process_sp);
- SBUnixSignals(lldb::PlatformSP &platform_sp);
+ SBUnixSignals(lldb::PlatformSP &platform_sp);
- lldb::UnixSignalsSP
- GetSP() const;
+ lldb::UnixSignalsSP GetSP() const;
- void
- SetSP(const lldb::UnixSignalsSP &signals_sp);
+ void SetSP(const lldb::UnixSignalsSP &signals_sp);
private:
- lldb::UnixSignalsWP m_opaque_wp;
+ lldb::UnixSignalsWP m_opaque_wp;
};
-
} // namespace lldb
#endif // LLDB_SBUnixSignals_h_
diff --git a/include/lldb/API/SBValue.h b/include/lldb/API/SBValue.h
index b9f1e6f5c93f..5ef8915b58f9 100644
--- a/include/lldb/API/SBValue.h
+++ b/include/lldb/API/SBValue.h
@@ -19,498 +19,428 @@ class ValueLocker;
namespace lldb {
-class LLDB_API SBValue
-{
+class LLDB_API SBValue {
public:
- SBValue ();
-
- SBValue (const lldb::SBValue &rhs);
-
- lldb::SBValue &
- operator =(const lldb::SBValue &rhs);
-
- ~SBValue ();
-
- bool
- IsValid();
-
- void
- Clear();
-
- SBError
- GetError();
-
- lldb::user_id_t
- GetID ();
-
- const char *
- GetName();
-
- const char *
- GetTypeName ();
-
- const char *
- GetDisplayTypeName ();
-
- size_t
- GetByteSize ();
-
- bool
- IsInScope ();
-
- lldb::Format
- GetFormat ();
-
- void
- SetFormat (lldb::Format format);
-
- const char *
- GetValue ();
-
- int64_t
- GetValueAsSigned (lldb::SBError& error, int64_t fail_value=0);
-
- uint64_t
- GetValueAsUnsigned (lldb::SBError& error, uint64_t fail_value=0);
-
- int64_t
- GetValueAsSigned(int64_t fail_value=0);
-
- uint64_t
- GetValueAsUnsigned(uint64_t fail_value=0);
-
- ValueType
- GetValueType ();
-
- // If you call this on a newly created ValueObject, it will always return false.
- bool
- GetValueDidChange ();
-
- const char *
- GetSummary ();
-
- const char *
- GetSummary (lldb::SBStream& stream,
- lldb::SBTypeSummaryOptions& options);
-
- const char *
- GetObjectDescription ();
-
- const char *
- GetTypeValidatorResult ();
-
- lldb::SBValue
- GetDynamicValue (lldb::DynamicValueType use_dynamic);
-
- lldb::SBValue
- GetStaticValue ();
-
- lldb::SBValue
- GetNonSyntheticValue ();
-
- lldb::DynamicValueType
- GetPreferDynamicValue ();
-
- void
- SetPreferDynamicValue (lldb::DynamicValueType use_dynamic);
-
- bool
- GetPreferSyntheticValue ();
-
- void
- SetPreferSyntheticValue (bool use_synthetic);
-
- bool
- IsDynamic ();
-
- bool
- IsSynthetic ();
-
- bool
- IsSyntheticChildrenGenerated ();
-
- void
- SetSyntheticChildrenGenerated (bool);
-
- const char *
- GetLocation ();
-
- // Deprecated - use the one that takes SBError&
- bool
- SetValueFromCString (const char *value_str);
-
- bool
- SetValueFromCString (const char *value_str, lldb::SBError& error);
-
- lldb::SBTypeFormat
- GetTypeFormat ();
-
- lldb::SBTypeSummary
- GetTypeSummary ();
-
- lldb::SBTypeFilter
- GetTypeFilter ();
-
+ SBValue();
+
+ SBValue(const lldb::SBValue &rhs);
+
+ lldb::SBValue &operator=(const lldb::SBValue &rhs);
+
+ ~SBValue();
+
+ bool IsValid();
+
+ void Clear();
+
+ SBError GetError();
+
+ lldb::user_id_t GetID();
+
+ const char *GetName();
+
+ const char *GetTypeName();
+
+ const char *GetDisplayTypeName();
+
+ size_t GetByteSize();
+
+ bool IsInScope();
+
+ lldb::Format GetFormat();
+
+ void SetFormat(lldb::Format format);
+
+ const char *GetValue();
+
+ int64_t GetValueAsSigned(lldb::SBError &error, int64_t fail_value = 0);
+
+ uint64_t GetValueAsUnsigned(lldb::SBError &error, uint64_t fail_value = 0);
+
+ int64_t GetValueAsSigned(int64_t fail_value = 0);
+
+ uint64_t GetValueAsUnsigned(uint64_t fail_value = 0);
+
+ ValueType GetValueType();
+
+ // If you call this on a newly created ValueObject, it will always return
+ // false.
+ bool GetValueDidChange();
+
+ const char *GetSummary();
+
+ const char *GetSummary(lldb::SBStream &stream,
+ lldb::SBTypeSummaryOptions &options);
+
+ const char *GetObjectDescription();
+
+ const char *GetTypeValidatorResult();
+
+ lldb::SBValue GetDynamicValue(lldb::DynamicValueType use_dynamic);
+
+ lldb::SBValue GetStaticValue();
+
+ lldb::SBValue GetNonSyntheticValue();
+
+ lldb::DynamicValueType GetPreferDynamicValue();
+
+ void SetPreferDynamicValue(lldb::DynamicValueType use_dynamic);
+
+ bool GetPreferSyntheticValue();
+
+ void SetPreferSyntheticValue(bool use_synthetic);
+
+ bool IsDynamic();
+
+ bool IsSynthetic();
+
+ bool IsSyntheticChildrenGenerated();
+
+ void SetSyntheticChildrenGenerated(bool);
+
+ const char *GetLocation();
+
+ // Deprecated - use the one that takes SBError&
+ bool SetValueFromCString(const char *value_str);
+
+ bool SetValueFromCString(const char *value_str, lldb::SBError &error);
+
+ lldb::SBTypeFormat GetTypeFormat();
+
+ lldb::SBTypeSummary GetTypeSummary();
+
+ lldb::SBTypeFilter GetTypeFilter();
+
#ifndef LLDB_DISABLE_PYTHON
- lldb::SBTypeSynthetic
- GetTypeSynthetic ();
+ lldb::SBTypeSynthetic GetTypeSynthetic();
#endif
- lldb::SBValue
- GetChildAtIndex (uint32_t idx);
-
- lldb::SBValue
- CreateChildAtOffset (const char *name, uint32_t offset, lldb::SBType type);
-
- // Deprecated - use the expression evaluator to perform type casting
- lldb::SBValue
- Cast (lldb::SBType type);
-
- lldb::SBValue
- CreateValueFromExpression (const char *name, const char* expression);
-
- lldb::SBValue
- CreateValueFromExpression (const char *name, const char* expression, SBExpressionOptions &options);
-
- lldb::SBValue
- CreateValueFromAddress (const char* name,
- lldb::addr_t address,
- lldb::SBType type);
-
- // this has no address! GetAddress() and GetLoadAddress() as well as AddressOf()
- // on the return of this call all return invalid
- lldb::SBValue
- CreateValueFromData (const char* name,
- lldb::SBData data,
- lldb::SBType type);
-
- //------------------------------------------------------------------
- /// Get a child value by index from a value.
- ///
- /// Structs, unions, classes, arrays and pointers have child
- /// values that can be access by index.
- ///
- /// Structs and unions access child members using a zero based index
- /// for each child member. For
- ///
- /// Classes reserve the first indexes for base classes that have
- /// members (empty base classes are omitted), and all members of the
- /// current class will then follow the base classes.
- ///
- /// Pointers differ depending on what they point to. If the pointer
- /// points to a simple type, the child at index zero
- /// is the only child value available, unless \a synthetic_allowed
- /// is \b true, in which case the pointer will be used as an array
- /// and can create 'synthetic' child values using positive or
- /// negative indexes. If the pointer points to an aggregate type
- /// (an array, class, union, struct), then the pointee is
- /// transparently skipped and any children are going to be the indexes
- /// of the child values within the aggregate type. For example if
- /// we have a 'Point' type and we have a SBValue that contains a
- /// pointer to a 'Point' type, then the child at index zero will be
- /// the 'x' member, and the child at index 1 will be the 'y' member
- /// (the child at index zero won't be a 'Point' instance).
- ///
- /// If you actually need an SBValue that represents the type pointed
- /// to by a SBValue for which GetType().IsPointeeType() returns true,
- /// regardless of the pointee type, you can do that with SBValue::Dereference.
- ///
- /// Arrays have a preset number of children that can be accessed by
- /// index and will returns invalid child values for indexes that are
- /// out of bounds unless the \a synthetic_allowed is \b true. In this
- /// case the array can create 'synthetic' child values for indexes
- /// that aren't in the array bounds using positive or negative
- /// indexes.
- ///
- /// @param[in] idx
- /// The index of the child value to get
- ///
- /// @param[in] use_dynamic
- /// An enumeration that specifies whether to get dynamic values,
- /// and also if the target can be run to figure out the dynamic
- /// type of the child value.
- ///
- /// @param[in] can_create_synthetic
- /// If \b true, then allow child values to be created by index
- /// for pointers and arrays for indexes that normally wouldn't
- /// be allowed.
- ///
- /// @return
- /// A new SBValue object that represents the child member value.
- //------------------------------------------------------------------
- lldb::SBValue
- GetChildAtIndex (uint32_t idx,
- lldb::DynamicValueType use_dynamic,
- bool can_create_synthetic);
-
- // Matches children of this object only and will match base classes and
- // member names if this is a clang typed object.
- uint32_t
- GetIndexOfChildWithName (const char *name);
-
- // Matches child members of this object and child members of any base
- // classes.
- lldb::SBValue
- GetChildMemberWithName (const char *name);
-
- // Matches child members of this object and child members of any base
- // classes.
- lldb::SBValue
- GetChildMemberWithName (const char *name, lldb::DynamicValueType use_dynamic);
-
- // Expands nested expressions like .a->b[0].c[1]->d
- lldb::SBValue
- GetValueForExpressionPath(const char* expr_path);
-
- lldb::SBValue
- AddressOf();
-
- lldb::addr_t
- GetLoadAddress();
-
- lldb::SBAddress
- GetAddress();
-
- //------------------------------------------------------------------
- /// Get an SBData wrapping what this SBValue points to.
- ///
- /// This method will dereference the current SBValue, if its
- /// data type is a T* or T[], and extract item_count elements
- /// of type T from it, copying their contents in an SBData.
- ///
- /// @param[in] item_idx
- /// The index of the first item to retrieve. For an array
- /// this is equivalent to array[item_idx], for a pointer
- /// to *(pointer + item_idx). In either case, the measurement
- /// unit for item_idx is the sizeof(T) rather than the byte
- ///
- /// @param[in] item_count
- /// How many items should be copied into the output. By default
- /// only one item is copied, but more can be asked for.
- ///
- /// @return
- /// An SBData with the contents of the copied items, on success.
- /// An empty SBData otherwise.
- //------------------------------------------------------------------
- lldb::SBData
- GetPointeeData (uint32_t item_idx = 0,
- uint32_t item_count = 1);
-
- //------------------------------------------------------------------
- /// Get an SBData wrapping the contents of this SBValue.
- ///
- /// This method will read the contents of this object in memory
- /// and copy them into an SBData for future use.
- ///
- /// @return
- /// An SBData with the contents of this SBValue, on success.
- /// An empty SBData otherwise.
- //------------------------------------------------------------------
- lldb::SBData
- GetData ();
-
- bool
- SetData (lldb::SBData &data, lldb::SBError& error);
-
- lldb::SBDeclaration
- GetDeclaration ();
-
- //------------------------------------------------------------------
- /// Find out if a SBValue might have children.
- ///
- /// This call is much more efficient than GetNumChildren() as it
- /// doesn't need to complete the underlying type. This is designed
- /// to be used in a UI environment in order to detect if the
- /// disclosure triangle should be displayed or not.
- ///
- /// This function returns true for class, union, structure,
- /// pointers, references, arrays and more. Again, it does so without
- /// doing any expensive type completion.
- ///
- /// @return
- /// Returns \b true if the SBValue might have children, or \b
- /// false otherwise.
- //------------------------------------------------------------------
- bool
- MightHaveChildren ();
-
- bool
- IsRuntimeSupportValue ();
-
- uint32_t
- GetNumChildren ();
-
- uint32_t
- GetNumChildren (uint32_t max);
-
- void *
- GetOpaqueType();
-
- lldb::SBTarget
- GetTarget();
-
- lldb::SBProcess
- GetProcess();
-
- lldb::SBThread
- GetThread();
-
- lldb::SBFrame
- GetFrame();
-
- lldb::SBValue
- Dereference ();
-
- // Deprecated - please use GetType().IsPointerType() instead.
- bool
- TypeIsPointerType ();
-
- lldb::SBType
- GetType();
-
- lldb::SBValue
- Persist ();
-
- bool
- GetDescription (lldb::SBStream &description);
-
- bool
- GetExpressionPath (lldb::SBStream &description);
-
- bool
- GetExpressionPath (lldb::SBStream &description,
- bool qualify_cxx_base_classes);
-
- SBValue (const lldb::ValueObjectSP &value_sp);
-
- //------------------------------------------------------------------
- /// Watch this value if it resides in memory.
- ///
- /// Sets a watchpoint on the value.
- ///
- /// @param[in] resolve_location
- /// Resolve the location of this value once and watch its address.
- /// This value must currently be set to \b true as watching all
- /// locations of a variable or a variable path is not yet supported,
- /// though we plan to support it in the future.
- ///
- /// @param[in] read
- /// Stop when this value is accessed.
- ///
- /// @param[in] write
- /// Stop when this value is modified
- ///
- /// @param[out] error
- /// An error object. Contains the reason if there is some failure.
- ///
- /// @return
- /// An SBWatchpoint object. This object might not be valid upon
- /// return due to a value not being contained in memory, too
- /// large, or watchpoint resources are not available or all in
- /// use.
- //------------------------------------------------------------------
- lldb::SBWatchpoint
- Watch (bool resolve_location, bool read, bool write, SBError &error);
-
- // Backward compatibility fix in the interim.
- lldb::SBWatchpoint
- Watch (bool resolve_location, bool read, bool write);
-
- //------------------------------------------------------------------
- /// Watch this value that this value points to in memory
- ///
- /// Sets a watchpoint on the value.
- ///
- /// @param[in] resolve_location
- /// Resolve the location of this value once and watch its address.
- /// This value must currently be set to \b true as watching all
- /// locations of a variable or a variable path is not yet supported,
- /// though we plan to support it in the future.
- ///
- /// @param[in] read
- /// Stop when this value is accessed.
- ///
- /// @param[in] write
- /// Stop when this value is modified
- ///
- /// @param[out] error
- /// An error object. Contains the reason if there is some failure.
- ///
- /// @return
- /// An SBWatchpoint object. This object might not be valid upon
- /// return due to a value not being contained in memory, too
- /// large, or watchpoint resources are not available or all in
- /// use.
- //------------------------------------------------------------------
- lldb::SBWatchpoint
- WatchPointee (bool resolve_location, bool read, bool write, SBError &error);
-
- //------------------------------------------------------------------
- /// Same as the protected version of GetSP that takes a locker, except that we make the
- /// locker locally in the function. Since the Target API mutex is recursive, and the
- /// StopLocker is a read lock, you can call this function even if you are already
- /// holding the two above-mentioned locks.
- ///
- /// @return
- /// A ValueObjectSP of the best kind (static, dynamic or synthetic) we
- /// can cons up, in accordance with the SBValue's settings.
- //------------------------------------------------------------------
- lldb::ValueObjectSP
- GetSP () const;
+ lldb::SBValue GetChildAtIndex(uint32_t idx);
+
+ lldb::SBValue CreateChildAtOffset(const char *name, uint32_t offset,
+ lldb::SBType type);
+
+ // Deprecated - use the expression evaluator to perform type casting
+ lldb::SBValue Cast(lldb::SBType type);
+
+ lldb::SBValue CreateValueFromExpression(const char *name,
+ const char *expression);
+
+ lldb::SBValue CreateValueFromExpression(const char *name,
+ const char *expression,
+ SBExpressionOptions &options);
+
+ lldb::SBValue CreateValueFromAddress(const char *name, lldb::addr_t address,
+ lldb::SBType type);
+
+ // this has no address! GetAddress() and GetLoadAddress() as well as
+ // AddressOf()
+ // on the return of this call all return invalid
+ lldb::SBValue CreateValueFromData(const char *name, lldb::SBData data,
+ lldb::SBType type);
+
+ //------------------------------------------------------------------
+ /// Get a child value by index from a value.
+ ///
+ /// Structs, unions, classes, arrays and pointers have child
+ /// values that can be access by index.
+ ///
+ /// Structs and unions access child members using a zero based index
+ /// for each child member. For
+ ///
+ /// Classes reserve the first indexes for base classes that have
+ /// members (empty base classes are omitted), and all members of the
+ /// current class will then follow the base classes.
+ ///
+ /// Pointers differ depending on what they point to. If the pointer
+ /// points to a simple type, the child at index zero
+ /// is the only child value available, unless \a synthetic_allowed
+ /// is \b true, in which case the pointer will be used as an array
+ /// and can create 'synthetic' child values using positive or
+ /// negative indexes. If the pointer points to an aggregate type
+ /// (an array, class, union, struct), then the pointee is
+ /// transparently skipped and any children are going to be the indexes
+ /// of the child values within the aggregate type. For example if
+ /// we have a 'Point' type and we have a SBValue that contains a
+ /// pointer to a 'Point' type, then the child at index zero will be
+ /// the 'x' member, and the child at index 1 will be the 'y' member
+ /// (the child at index zero won't be a 'Point' instance).
+ ///
+ /// If you actually need an SBValue that represents the type pointed
+ /// to by a SBValue for which GetType().IsPointeeType() returns true,
+ /// regardless of the pointee type, you can do that with SBValue::Dereference.
+ ///
+ /// Arrays have a preset number of children that can be accessed by
+ /// index and will returns invalid child values for indexes that are
+ /// out of bounds unless the \a synthetic_allowed is \b true. In this
+ /// case the array can create 'synthetic' child values for indexes
+ /// that aren't in the array bounds using positive or negative
+ /// indexes.
+ ///
+ /// @param[in] idx
+ /// The index of the child value to get
+ ///
+ /// @param[in] use_dynamic
+ /// An enumeration that specifies whether to get dynamic values,
+ /// and also if the target can be run to figure out the dynamic
+ /// type of the child value.
+ ///
+ /// @param[in] can_create_synthetic
+ /// If \b true, then allow child values to be created by index
+ /// for pointers and arrays for indexes that normally wouldn't
+ /// be allowed.
+ ///
+ /// @return
+ /// A new SBValue object that represents the child member value.
+ //------------------------------------------------------------------
+ lldb::SBValue GetChildAtIndex(uint32_t idx,
+ lldb::DynamicValueType use_dynamic,
+ bool can_create_synthetic);
+
+ // Matches children of this object only and will match base classes and
+ // member names if this is a clang typed object.
+ uint32_t GetIndexOfChildWithName(const char *name);
+
+ // Matches child members of this object and child members of any base
+ // classes.
+ lldb::SBValue GetChildMemberWithName(const char *name);
+
+ // Matches child members of this object and child members of any base
+ // classes.
+ lldb::SBValue GetChildMemberWithName(const char *name,
+ lldb::DynamicValueType use_dynamic);
+
+ // Expands nested expressions like .a->b[0].c[1]->d
+ lldb::SBValue GetValueForExpressionPath(const char *expr_path);
+
+ lldb::SBValue AddressOf();
+
+ lldb::addr_t GetLoadAddress();
+
+ lldb::SBAddress GetAddress();
+
+ //------------------------------------------------------------------
+ /// Get an SBData wrapping what this SBValue points to.
+ ///
+ /// This method will dereference the current SBValue, if its
+ /// data type is a T* or T[], and extract item_count elements
+ /// of type T from it, copying their contents in an SBData.
+ ///
+ /// @param[in] item_idx
+ /// The index of the first item to retrieve. For an array
+ /// this is equivalent to array[item_idx], for a pointer
+ /// to *(pointer + item_idx). In either case, the measurement
+ /// unit for item_idx is the sizeof(T) rather than the byte
+ ///
+ /// @param[in] item_count
+ /// How many items should be copied into the output. By default
+ /// only one item is copied, but more can be asked for.
+ ///
+ /// @return
+ /// An SBData with the contents of the copied items, on success.
+ /// An empty SBData otherwise.
+ //------------------------------------------------------------------
+ lldb::SBData GetPointeeData(uint32_t item_idx = 0, uint32_t item_count = 1);
+
+ //------------------------------------------------------------------
+ /// Get an SBData wrapping the contents of this SBValue.
+ ///
+ /// This method will read the contents of this object in memory
+ /// and copy them into an SBData for future use.
+ ///
+ /// @return
+ /// An SBData with the contents of this SBValue, on success.
+ /// An empty SBData otherwise.
+ //------------------------------------------------------------------
+ lldb::SBData GetData();
+
+ bool SetData(lldb::SBData &data, lldb::SBError &error);
+
+ lldb::SBDeclaration GetDeclaration();
+
+ //------------------------------------------------------------------
+ /// Find out if a SBValue might have children.
+ ///
+ /// This call is much more efficient than GetNumChildren() as it
+ /// doesn't need to complete the underlying type. This is designed
+ /// to be used in a UI environment in order to detect if the
+ /// disclosure triangle should be displayed or not.
+ ///
+ /// This function returns true for class, union, structure,
+ /// pointers, references, arrays and more. Again, it does so without
+ /// doing any expensive type completion.
+ ///
+ /// @return
+ /// Returns \b true if the SBValue might have children, or \b
+ /// false otherwise.
+ //------------------------------------------------------------------
+ bool MightHaveChildren();
+
+ bool IsRuntimeSupportValue();
+
+ uint32_t GetNumChildren();
+
+ uint32_t GetNumChildren(uint32_t max);
+
+ void *GetOpaqueType();
+
+ lldb::SBTarget GetTarget();
+
+ lldb::SBProcess GetProcess();
+
+ lldb::SBThread GetThread();
+
+ lldb::SBFrame GetFrame();
+
+ lldb::SBValue Dereference();
+
+ // Deprecated - please use GetType().IsPointerType() instead.
+ bool TypeIsPointerType();
+
+ lldb::SBType GetType();
+
+ lldb::SBValue Persist();
+
+ bool GetDescription(lldb::SBStream &description);
+
+ bool GetExpressionPath(lldb::SBStream &description);
+
+ bool GetExpressionPath(lldb::SBStream &description,
+ bool qualify_cxx_base_classes);
+
+ SBValue(const lldb::ValueObjectSP &value_sp);
+
+ //------------------------------------------------------------------
+ /// Watch this value if it resides in memory.
+ ///
+ /// Sets a watchpoint on the value.
+ ///
+ /// @param[in] resolve_location
+ /// Resolve the location of this value once and watch its address.
+ /// This value must currently be set to \b true as watching all
+ /// locations of a variable or a variable path is not yet supported,
+ /// though we plan to support it in the future.
+ ///
+ /// @param[in] read
+ /// Stop when this value is accessed.
+ ///
+ /// @param[in] write
+ /// Stop when this value is modified
+ ///
+ /// @param[out] error
+ /// An error object. Contains the reason if there is some failure.
+ ///
+ /// @return
+ /// An SBWatchpoint object. This object might not be valid upon
+ /// return due to a value not being contained in memory, too
+ /// large, or watchpoint resources are not available or all in
+ /// use.
+ //------------------------------------------------------------------
+ lldb::SBWatchpoint Watch(bool resolve_location, bool read, bool write,
+ SBError &error);
+
+ // Backward compatibility fix in the interim.
+ lldb::SBWatchpoint Watch(bool resolve_location, bool read, bool write);
+
+ //------------------------------------------------------------------
+ /// Watch this value that this value points to in memory
+ ///
+ /// Sets a watchpoint on the value.
+ ///
+ /// @param[in] resolve_location
+ /// Resolve the location of this value once and watch its address.
+ /// This value must currently be set to \b true as watching all
+ /// locations of a variable or a variable path is not yet supported,
+ /// though we plan to support it in the future.
+ ///
+ /// @param[in] read
+ /// Stop when this value is accessed.
+ ///
+ /// @param[in] write
+ /// Stop when this value is modified
+ ///
+ /// @param[out] error
+ /// An error object. Contains the reason if there is some failure.
+ ///
+ /// @return
+ /// An SBWatchpoint object. This object might not be valid upon
+ /// return due to a value not being contained in memory, too
+ /// large, or watchpoint resources are not available or all in
+ /// use.
+ //------------------------------------------------------------------
+ lldb::SBWatchpoint WatchPointee(bool resolve_location, bool read, bool write,
+ SBError &error);
+
+ //------------------------------------------------------------------
+ /// Same as the protected version of GetSP that takes a locker, except that we
+ /// make the
+ /// locker locally in the function. Since the Target API mutex is recursive,
+ /// and the
+ /// StopLocker is a read lock, you can call this function even if you are
+ /// already
+ /// holding the two above-mentioned locks.
+ ///
+ /// @return
+ /// A ValueObjectSP of the best kind (static, dynamic or synthetic) we
+ /// can cons up, in accordance with the SBValue's settings.
+ //------------------------------------------------------------------
+ lldb::ValueObjectSP GetSP() const;
protected:
- friend class SBBlock;
- friend class SBFrame;
- friend class SBTarget;
- friend class SBThread;
- friend class SBValueList;
-
- //------------------------------------------------------------------
- /// Get the appropriate ValueObjectSP from this SBValue, consulting the
- /// use_dynamic and use_synthetic options passed in to SetSP when the
- /// SBValue's contents were set. Since this often requires examining memory,
- /// and maybe even running code, it needs to acquire the Target API and Process StopLock.
- /// Those are held in an opaque class ValueLocker which is currently local to SBValue.cpp.
- /// So you don't have to get these yourself just default construct a ValueLocker, and pass it into this.
- /// If we need to make a ValueLocker and use it in some other .cpp file, we'll have to move it to
- /// ValueObject.h/cpp or somewhere else convenient. We haven't needed to so far.
- ///
- /// @param[in] value_locker
- /// An object that will hold the Target API, and Process RunLocks, and
- /// auto-destroy them when it goes out of scope. Currently this is only useful in
- /// SBValue.cpp.
- ///
- /// @return
- /// A ValueObjectSP of the best kind (static, dynamic or synthetic) we
- /// can cons up, in accordance with the SBValue's settings.
- //------------------------------------------------------------------
- lldb::ValueObjectSP
- GetSP (ValueLocker &value_locker) const;
-
- // these calls do the right thing WRT adjusting their settings according to the target's preferences
- void
- SetSP (const lldb::ValueObjectSP &sp);
-
- void
- SetSP (const lldb::ValueObjectSP &sp, bool use_synthetic);
-
- void
- SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic);
-
- void
- SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic);
-
- void
- SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic, const char *name);
-
+ friend class SBBlock;
+ friend class SBFrame;
+ friend class SBTarget;
+ friend class SBThread;
+ friend class SBValueList;
+
+ //------------------------------------------------------------------
+ /// Get the appropriate ValueObjectSP from this SBValue, consulting the
+ /// use_dynamic and use_synthetic options passed in to SetSP when the
+ /// SBValue's contents were set. Since this often requires examining memory,
+ /// and maybe even running code, it needs to acquire the Target API and
+ /// Process StopLock.
+ /// Those are held in an opaque class ValueLocker which is currently local to
+ /// SBValue.cpp.
+ /// So you don't have to get these yourself just default construct a
+ /// ValueLocker, and pass it into this.
+ /// If we need to make a ValueLocker and use it in some other .cpp file, we'll
+ /// have to move it to
+ /// ValueObject.h/cpp or somewhere else convenient. We haven't needed to so
+ /// far.
+ ///
+ /// @param[in] value_locker
+ /// An object that will hold the Target API, and Process RunLocks, and
+ /// auto-destroy them when it goes out of scope. Currently this is only
+ /// useful in
+ /// SBValue.cpp.
+ ///
+ /// @return
+ /// A ValueObjectSP of the best kind (static, dynamic or synthetic) we
+ /// can cons up, in accordance with the SBValue's settings.
+ //------------------------------------------------------------------
+ lldb::ValueObjectSP GetSP(ValueLocker &value_locker) const;
+
+ // these calls do the right thing WRT adjusting their settings according to
+ // the target's preferences
+ void SetSP(const lldb::ValueObjectSP &sp);
+
+ void SetSP(const lldb::ValueObjectSP &sp, bool use_synthetic);
+
+ void SetSP(const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic);
+
+ void SetSP(const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic,
+ bool use_synthetic);
+
+ void SetSP(const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic,
+ bool use_synthetic, const char *name);
+
private:
- typedef std::shared_ptr<ValueImpl> ValueImplSP;
- ValueImplSP m_opaque_sp;
-
- void
- SetSP (ValueImplSP impl_sp);
+ typedef std::shared_ptr<ValueImpl> ValueImplSP;
+ ValueImplSP m_opaque_sp;
+
+ void SetSP(ValueImplSP impl_sp);
};
} // namespace lldb
-#endif // LLDB_SBValue_h_
+#endif // LLDB_SBValue_h_
diff --git a/include/lldb/API/SBValueList.h b/include/lldb/API/SBValueList.h
index 563ca3d7e1bf..495b0140cad0 100644
--- a/include/lldb/API/SBValueList.h
+++ b/include/lldb/API/SBValueList.h
@@ -16,81 +16,59 @@ class ValueListImpl;
namespace lldb {
-class LLDB_API SBValueList
-{
+class LLDB_API SBValueList {
public:
+ SBValueList();
- SBValueList ();
+ SBValueList(const lldb::SBValueList &rhs);
- SBValueList (const lldb::SBValueList &rhs);
+ ~SBValueList();
- ~SBValueList();
+ bool IsValid() const;
- bool
- IsValid() const;
-
- void
- Clear();
+ void Clear();
- void
- Append (const lldb::SBValue &val_obj);
+ void Append(const lldb::SBValue &val_obj);
- void
- Append (const lldb::SBValueList& value_list);
+ void Append(const lldb::SBValueList &value_list);
- uint32_t
- GetSize() const;
+ uint32_t GetSize() const;
- lldb::SBValue
- GetValueAtIndex (uint32_t idx) const;
-
- lldb::SBValue
- GetFirstValueByName (const char* name) const;
+ lldb::SBValue GetValueAtIndex(uint32_t idx) const;
- lldb::SBValue
- FindValueObjectByUID (lldb::user_id_t uid);
+ lldb::SBValue GetFirstValueByName(const char *name) const;
- const lldb::SBValueList &
- operator = (const lldb::SBValueList &rhs);
+ lldb::SBValue FindValueObjectByUID(lldb::user_id_t uid);
+
+ const lldb::SBValueList &operator=(const lldb::SBValueList &rhs);
protected:
-
- // only useful for visualizing the pointer or comparing two SBValueLists
- // to see if they are backed by the same underlying Impl.
- void *
- opaque_ptr ();
+ // only useful for visualizing the pointer or comparing two SBValueLists
+ // to see if they are backed by the same underlying Impl.
+ void *opaque_ptr();
private:
- friend class SBFrame;
-
- SBValueList (const ValueListImpl *lldb_object_ptr);
-
- void
- Append (lldb::ValueObjectSP& val_obj_sp);
-
- void
- CreateIfNeeded ();
-
- ValueListImpl *
- operator -> ();
-
- ValueListImpl &
- operator* ();
-
- const ValueListImpl *
- operator -> () const;
-
- const ValueListImpl &
- operator* () const;
-
-
- ValueListImpl &
- ref ();
-
- std::unique_ptr<ValueListImpl> m_opaque_ap;
-};
+ friend class SBFrame;
+
+ SBValueList(const ValueListImpl *lldb_object_ptr);
+
+ void Append(lldb::ValueObjectSP &val_obj_sp);
+
+ void CreateIfNeeded();
+
+ ValueListImpl *operator->();
+ ValueListImpl &operator*();
+
+ const ValueListImpl *operator->() const;
+
+ const ValueListImpl &operator*() const;
+
+ ValueListImpl &ref();
+
+ std::unique_ptr<ValueListImpl> m_opaque_ap;
+};
} // namespace lldb
-#endif // LLDB_SBValueList_h_
+#endif // LLDB_SBValueList_h_
diff --git a/include/lldb/API/SBVariablesOptions.h b/include/lldb/API/SBVariablesOptions.h
index 527310f5dfc7..756da6439e3b 100644
--- a/include/lldb/API/SBVariablesOptions.h
+++ b/include/lldb/API/SBVariablesOptions.h
@@ -1,4 +1,5 @@
-//===-- SBVariablesOptions.h ------------------------------------------*- C++ -*-===//
+//===-- SBVariablesOptions.h ------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,83 +17,61 @@ class VariablesOptionsImpl;
namespace lldb {
-class LLDB_API SBVariablesOptions
-{
+class LLDB_API SBVariablesOptions {
public:
- SBVariablesOptions ();
-
- SBVariablesOptions (const SBVariablesOptions& options);
-
- SBVariablesOptions&
- operator = (const SBVariablesOptions& options);
-
- ~SBVariablesOptions ();
-
- bool
- IsValid () const;
-
- bool
- GetIncludeArguments () const;
-
- void
- SetIncludeArguments (bool);
-
- bool
- GetIncludeLocals () const;
-
- void
- SetIncludeLocals (bool);
-
- bool
- GetIncludeStatics () const;
-
- void
- SetIncludeStatics (bool);
-
- bool
- GetInScopeOnly () const;
-
- void
- SetInScopeOnly (bool);
-
- bool
- GetIncludeRuntimeSupportValues () const;
-
- void
- SetIncludeRuntimeSupportValues (bool);
-
- lldb::DynamicValueType
- GetUseDynamic () const;
-
- void
- SetUseDynamic (lldb::DynamicValueType);
-
+ SBVariablesOptions();
+
+ SBVariablesOptions(const SBVariablesOptions &options);
+
+ SBVariablesOptions &operator=(const SBVariablesOptions &options);
+
+ ~SBVariablesOptions();
+
+ bool IsValid() const;
+
+ bool GetIncludeArguments() const;
+
+ void SetIncludeArguments(bool);
+
+ bool GetIncludeLocals() const;
+
+ void SetIncludeLocals(bool);
+
+ bool GetIncludeStatics() const;
+
+ void SetIncludeStatics(bool);
+
+ bool GetInScopeOnly() const;
+
+ void SetInScopeOnly(bool);
+
+ bool GetIncludeRuntimeSupportValues() const;
+
+ void SetIncludeRuntimeSupportValues(bool);
+
+ lldb::DynamicValueType GetUseDynamic() const;
+
+ void SetUseDynamic(lldb::DynamicValueType);
+
protected:
- VariablesOptionsImpl *
- operator->();
-
- const VariablesOptionsImpl *
- operator->() const;
-
- VariablesOptionsImpl *
- get ();
-
- VariablesOptionsImpl &
- ref();
-
- const VariablesOptionsImpl &
- ref() const;
-
- SBVariablesOptions (VariablesOptionsImpl *lldb_object_ptr);
-
- void
- SetOptions (VariablesOptionsImpl *lldb_object_ptr);
-
+ VariablesOptionsImpl *operator->();
+
+ const VariablesOptionsImpl *operator->() const;
+
+ VariablesOptionsImpl *get();
+
+ VariablesOptionsImpl &ref();
+
+ const VariablesOptionsImpl &ref() const;
+
+ SBVariablesOptions(VariablesOptionsImpl *lldb_object_ptr);
+
+ void SetOptions(VariablesOptionsImpl *lldb_object_ptr);
+
private:
-
- std::unique_ptr<VariablesOptionsImpl> m_opaque_ap;
+ std::unique_ptr<VariablesOptionsImpl> m_opaque_ap;
};
} // namespace lldb
-#endif // LLDB_SBValue_h_
+#endif // LLDB_SBValue_h_
diff --git a/include/lldb/API/SBWatchpoint.h b/include/lldb/API/SBWatchpoint.h
index 5d0d48ee12f2..284ec12392a3 100644
--- a/include/lldb/API/SBWatchpoint.h
+++ b/include/lldb/API/SBWatchpoint.h
@@ -14,91 +14,67 @@
namespace lldb {
-class LLDB_API SBWatchpoint
-{
+class LLDB_API SBWatchpoint {
public:
+ SBWatchpoint();
- SBWatchpoint ();
+ SBWatchpoint(const lldb::SBWatchpoint &rhs);
- SBWatchpoint (const lldb::SBWatchpoint &rhs);
+ SBWatchpoint(const lldb::WatchpointSP &wp_sp);
- SBWatchpoint (const lldb::WatchpointSP &wp_sp);
+ ~SBWatchpoint();
- ~SBWatchpoint ();
+ const lldb::SBWatchpoint &operator=(const lldb::SBWatchpoint &rhs);
- const lldb::SBWatchpoint &
- operator = (const lldb::SBWatchpoint &rhs);
+ bool IsValid() const;
- bool
- IsValid() const;
+ SBError GetError();
- SBError
- GetError();
+ watch_id_t GetID();
- watch_id_t
- GetID ();
+ /// With -1 representing an invalid hardware index.
+ int32_t GetHardwareIndex();
- /// With -1 representing an invalid hardware index.
- int32_t
- GetHardwareIndex ();
+ lldb::addr_t GetWatchAddress();
- lldb::addr_t
- GetWatchAddress ();
+ size_t GetWatchSize();
- size_t
- GetWatchSize();
+ void SetEnabled(bool enabled);
- void
- SetEnabled(bool enabled);
+ bool IsEnabled();
- bool
- IsEnabled ();
+ uint32_t GetHitCount();
- uint32_t
- GetHitCount ();
+ uint32_t GetIgnoreCount();
- uint32_t
- GetIgnoreCount ();
+ void SetIgnoreCount(uint32_t n);
- void
- SetIgnoreCount (uint32_t n);
+ const char *GetCondition();
- const char *
- GetCondition ();
+ void SetCondition(const char *condition);
- void
- SetCondition (const char *condition);
-
- bool
- GetDescription (lldb::SBStream &description, DescriptionLevel level);
+ bool GetDescription(lldb::SBStream &description, DescriptionLevel level);
- void
- Clear ();
+ void Clear();
- lldb::WatchpointSP
- GetSP () const;
+ lldb::WatchpointSP GetSP() const;
- void
- SetSP (const lldb::WatchpointSP &sp);
+ void SetSP(const lldb::WatchpointSP &sp);
- static bool
- EventIsWatchpointEvent (const lldb::SBEvent &event);
-
- static lldb::WatchpointEventType
- GetWatchpointEventTypeFromEvent (const lldb::SBEvent& event);
+ static bool EventIsWatchpointEvent(const lldb::SBEvent &event);
- static lldb::SBWatchpoint
- GetWatchpointFromEvent (const lldb::SBEvent& event);
+ static lldb::WatchpointEventType
+ GetWatchpointEventTypeFromEvent(const lldb::SBEvent &event);
-private:
- friend class SBTarget;
- friend class SBValue;
+ static lldb::SBWatchpoint GetWatchpointFromEvent(const lldb::SBEvent &event);
-
- lldb::WatchpointSP m_opaque_sp;
+private:
+ friend class SBTarget;
+ friend class SBValue;
+ lldb::WatchpointSP m_opaque_sp;
};
} // namespace lldb
-#endif // LLDB_SBWatchpoint_h_
+#endif // LLDB_SBWatchpoint_h_
diff --git a/include/lldb/API/SystemInitializerFull.h b/include/lldb/API/SystemInitializerFull.h
index 9e37611a6598..9cfc6896da61 100644
--- a/include/lldb/API/SystemInitializerFull.h
+++ b/include/lldb/API/SystemInitializerFull.h
@@ -12,8 +12,7 @@
#include "lldb/Initialization/SystemInitializerCommon.h"
-namespace lldb_private
-{
+namespace lldb_private {
//------------------------------------------------------------------
/// Initializes lldb.
///
@@ -22,17 +21,16 @@ namespace lldb_private
/// not intended to be used externally, but is instead used
/// internally by SBDebugger to initialize the system.
//------------------------------------------------------------------
-class SystemInitializerFull : public SystemInitializerCommon
-{
- public:
- SystemInitializerFull();
- ~SystemInitializerFull() override;
+class SystemInitializerFull : public SystemInitializerCommon {
+public:
+ SystemInitializerFull();
+ ~SystemInitializerFull() override;
- void Initialize() override;
- void Terminate() override;
+ void Initialize() override;
+ void Terminate() override;
- private:
- void InitializeSWIG();
+private:
+ void InitializeSWIG();
};
} // namespace lldb_private
diff --git a/include/lldb/Breakpoint/Breakpoint.h b/include/lldb/Breakpoint/Breakpoint.h
index 7fdf06da3936..9af6e586de39 100644
--- a/include/lldb/Breakpoint/Breakpoint.h
+++ b/include/lldb/Breakpoint/Breakpoint.h
@@ -20,13 +20,14 @@
// Other libraries and framework includes
// Project includes
#include "lldb/Breakpoint/BreakpointID.h"
+#include "lldb/Breakpoint/BreakpointLocationCollection.h"
#include "lldb/Breakpoint/BreakpointLocationList.h"
#include "lldb/Breakpoint/BreakpointOptions.h"
-#include "lldb/Breakpoint/BreakpointLocationCollection.h"
#include "lldb/Breakpoint/Stoppoint.h"
-#include "lldb/Core/SearchFilter.h"
#include "lldb/Core/Event.h"
+#include "lldb/Core/SearchFilter.h"
#include "lldb/Core/StringList.h"
+#include "lldb/Core/StructuredData.h"
namespace lldb_private {
@@ -37,27 +38,35 @@ namespace lldb_private {
//----------------------------------------------------------------------
/// General Outline:
-/// A breakpoint has four main parts, a filter, a resolver, the list of breakpoint
-/// locations that have been determined for the filter/resolver pair, and finally
+/// A breakpoint has four main parts, a filter, a resolver, the list of
+/// breakpoint
+/// locations that have been determined for the filter/resolver pair, and
+/// finally
/// a set of options for the breakpoint.
///
/// \b Filter:
/// This is an object derived from SearchFilter. It manages the search
-/// for breakpoint location matches through the symbols in the module list of the target
-/// that owns it. It also filters out locations based on whatever logic it wants.
+/// for breakpoint location matches through the symbols in the module list of
+/// the target
+/// that owns it. It also filters out locations based on whatever logic it
+/// wants.
///
/// \b Resolver:
/// This is an object derived from BreakpointResolver. It provides a
-/// callback to the filter that will find breakpoint locations. How it does this is
+/// callback to the filter that will find breakpoint locations. How it does
+/// this is
/// determined by what kind of resolver it is.
///
-/// The Breakpoint class also provides constructors for the common breakpoint cases
+/// The Breakpoint class also provides constructors for the common breakpoint
+/// cases
/// which make the appropriate filter and resolver for you.
///
/// \b Location List:
/// This stores the breakpoint locations that have been determined
-/// to date. For a given breakpoint, there will be only one location with a given
-/// address. Adding a location at an already taken address will just return the location
+/// to date. For a given breakpoint, there will be only one location with a
+/// given
+/// address. Adding a location at an already taken address will just return the
+/// location
/// already at that address. Locations can be looked up by ID, or by address.
///
/// \b Options:
@@ -66,734 +75,687 @@ namespace lldb_private {
/// \b Ignore Count
/// \b Callback
/// \b Condition
-/// Note, these options can be set on the breakpoint, and they can also be set on the
-/// individual locations. The options set on the breakpoint take precedence over the
+/// Note, these options can be set on the breakpoint, and they can also be set
+/// on the
+/// individual locations. The options set on the breakpoint take precedence
+/// over the
/// options set on the individual location.
-/// So for instance disabling the breakpoint will cause NONE of the locations to get hit.
-/// But if the breakpoint is enabled, then the location's enabled state will be checked
+/// So for instance disabling the breakpoint will cause NONE of the locations to
+/// get hit.
+/// But if the breakpoint is enabled, then the location's enabled state will be
+/// checked
/// to determine whether to insert that breakpoint location.
-/// Similarly, if the breakpoint condition says "stop", we won't check the location's condition.
-/// But if the breakpoint condition says "continue", then we will check the location for whether
+/// Similarly, if the breakpoint condition says "stop", we won't check the
+/// location's condition.
+/// But if the breakpoint condition says "continue", then we will check the
+/// location for whether
/// to actually stop or not.
-/// One subtle point worth observing here is that you don't actually stop at a Breakpoint, you
-/// always stop at one of its locations. So the "should stop" tests are done by the location,
+/// One subtle point worth observing here is that you don't actually stop at a
+/// Breakpoint, you
+/// always stop at one of its locations. So the "should stop" tests are done by
+/// the location,
/// not by the breakpoint.
//----------------------------------------------------------------------
-class Breakpoint:
- public std::enable_shared_from_this<Breakpoint>,
- public Stoppoint
-{
+class Breakpoint : public std::enable_shared_from_this<Breakpoint>,
+ public Stoppoint {
public:
- static const ConstString &
- GetEventIdentifier ();
-
- //------------------------------------------------------------------
- /// An enum specifying the match style for breakpoint settings. At
- /// present only used for function name style breakpoints.
- //------------------------------------------------------------------
- typedef enum
- {
- Exact,
- Regexp,
- Glob
- } MatchType;
-
- class BreakpointEventData :
- public EventData
- {
- public:
- BreakpointEventData (lldb::BreakpointEventType sub_type,
- const lldb::BreakpointSP &new_breakpoint_sp);
-
- ~BreakpointEventData() override;
-
- static const ConstString &
- GetFlavorString ();
-
- const ConstString &
- GetFlavor() const override;
-
- lldb::BreakpointEventType
- GetBreakpointEventType () const;
-
- lldb::BreakpointSP &
- GetBreakpoint ();
-
- BreakpointLocationCollection &
- GetBreakpointLocationCollection()
- {
- return m_locations;
- }
-
- void
- Dump(Stream *s) const override;
-
- static lldb::BreakpointEventType
- GetBreakpointEventTypeFromEvent (const lldb::EventSP &event_sp);
-
- static lldb::BreakpointSP
- GetBreakpointFromEvent (const lldb::EventSP &event_sp);
-
- static lldb::BreakpointLocationSP
- GetBreakpointLocationAtIndexFromEvent (const lldb::EventSP &event_sp, uint32_t loc_idx);
-
- static size_t
- GetNumBreakpointLocationsFromEvent (const lldb::EventSP &event_sp);
-
- static const BreakpointEventData *
- GetEventDataFromEvent (const Event *event_sp);
-
- private:
- lldb::BreakpointEventType m_breakpoint_event;
- lldb::BreakpointSP m_new_breakpoint_sp;
- BreakpointLocationCollection m_locations;
-
- DISALLOW_COPY_AND_ASSIGN (BreakpointEventData);
- };
-
- class BreakpointPrecondition
- {
- public:
- virtual ~BreakpointPrecondition() = default;
-
- virtual bool
- EvaluatePrecondition(StoppointCallbackContext &context);
-
- virtual Error
- ConfigurePrecondition(Args &options);
-
- virtual void
- GetDescription(Stream &stream, lldb::DescriptionLevel level);
- };
-
- typedef std::shared_ptr<BreakpointPrecondition> BreakpointPreconditionSP;
-
- //------------------------------------------------------------------
- /// Destructor.
- ///
- /// The destructor is not virtual since there should be no reason to subclass
- /// breakpoints. The varieties of breakpoints are specified instead by
- /// providing different resolvers & filters.
- //------------------------------------------------------------------
- ~Breakpoint() override;
-
- //------------------------------------------------------------------
- // Methods
- //------------------------------------------------------------------
-
- //------------------------------------------------------------------
- /// Tell whether this breakpoint is an "internal" breakpoint.
- /// @return
- /// Returns \b true if this is an internal breakpoint, \b false otherwise.
- //------------------------------------------------------------------
- bool
- IsInternal () const;
-
- //------------------------------------------------------------------
- /// Standard "Dump" method. At present it does nothing.
- //------------------------------------------------------------------
- void
- Dump(Stream *s) override;
-
- //------------------------------------------------------------------
- // The next set of methods provide ways to tell the breakpoint to update
- // it's location list - usually done when modules appear or disappear.
- //------------------------------------------------------------------
-
- //------------------------------------------------------------------
- /// Tell this breakpoint to clear all its breakpoint sites. Done
- /// when the process holding the breakpoint sites is destroyed.
- //------------------------------------------------------------------
- void
- ClearAllBreakpointSites ();
-
- //------------------------------------------------------------------
- /// Tell this breakpoint to scan it's target's module list and resolve any
- /// new locations that match the breakpoint's specifications.
- //------------------------------------------------------------------
- void
- ResolveBreakpoint ();
-
- //------------------------------------------------------------------
- /// Tell this breakpoint to scan a given module list and resolve any
- /// new locations that match the breakpoint's specifications.
- ///
- /// @param[in] module_list
- /// The list of modules to look in for new locations.
- ///
- /// @param[in] send_event
- /// If \b true, send a breakpoint location added event for non-internal breakpoints.
- //------------------------------------------------------------------
- void
- ResolveBreakpointInModules (ModuleList &module_list, bool send_event = true);
-
- //------------------------------------------------------------------
- /// Tell this breakpoint to scan a given module list and resolve any
- /// new locations that match the breakpoint's specifications.
- ///
- /// @param[in] changed_modules
- /// The list of modules to look in for new locations.
- ///
- /// @param[in] new_locations
- /// Fills new_locations with the new locations that were made.
- //------------------------------------------------------------------
- void
- ResolveBreakpointInModules (ModuleList &module_list, BreakpointLocationCollection &new_locations);
-
- //------------------------------------------------------------------
- /// Like ResolveBreakpointInModules, but allows for "unload" events, in
- /// which case we will remove any locations that are in modules that got
- /// unloaded.
- ///
- /// @param[in] changedModules
- /// The list of modules to look in for new locations.
- /// @param[in] load_event
- /// If \b true then the modules were loaded, if \b false, unloaded.
- /// @param[in] delete_locations
- /// If \b true then the modules were unloaded delete any locations in the changed modules.
- //------------------------------------------------------------------
- void
- ModulesChanged (ModuleList &changed_modules,
- bool load_event,
- bool delete_locations = false);
-
- //------------------------------------------------------------------
- /// Tells the breakpoint the old module \a old_module_sp has been
- /// replaced by new_module_sp (usually because the underlying file has been
- /// rebuilt, and the old version is gone.)
- ///
- /// @param[in] old_module_sp
- /// The old module that is going away.
- /// @param[in] new_module_sp
- /// The new module that is replacing it.
- //------------------------------------------------------------------
- void
- ModuleReplaced (lldb::ModuleSP old_module_sp, lldb::ModuleSP new_module_sp);
-
- //------------------------------------------------------------------
- // The next set of methods provide access to the breakpoint locations
- // for this breakpoint.
- //------------------------------------------------------------------
-
- //------------------------------------------------------------------
- /// Add a location to the breakpoint's location list. This is only meant
- /// to be called by the breakpoint's resolver. FIXME: how do I ensure that?
- ///
- /// @param[in] addr
- /// The Address specifying the new location.
- /// @param[out] new_location
- /// Set to \b true if a new location was created, to \b false if there
- /// already was a location at this Address.
- /// @return
- /// Returns a pointer to the new location.
- //------------------------------------------------------------------
- lldb::BreakpointLocationSP
- AddLocation(const Address &addr,
- bool *new_location = nullptr);
-
- //------------------------------------------------------------------
- /// Find a breakpoint location by Address.
- ///
- /// @param[in] addr
- /// The Address specifying the location.
- /// @return
- /// Returns a shared pointer to the location at \a addr. The pointer
- /// in the shared