9#ifndef LLDB_LLDB_FORWARD_H
10#define LLDB_LLDB_FORWARD_H
23class AddressRangeList;
306class WatchpointResourceCollection;
307class WatchpointSetOptions;
321typedef std::shared_ptr<lldb_private::ABI>
ABISP;
323typedef std::shared_ptr<lldb_private::Baton>
BatonSP;
324typedef std::shared_ptr<lldb_private::Block>
BlockSP;
330typedef std::shared_ptr<lldb_private::BreakpointPrecondition>
339typedef std::shared_ptr<lldb_private::CompileUnit>
CompUnitSP;
346typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
349typedef std::shared_ptr<lldb_private::Event>
EventSP;
351typedef std::shared_ptr<lldb_private::EventDataStructuredData>
353typedef std::shared_ptr<lldb_private::ExecutionContextRef>
356typedef std::unique_ptr<lldb_private::File>
FileUP;
357typedef std::shared_ptr<lldb_private::File>
FileSP;
363typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
377typedef std::shared_ptr<lldb_private::Module>
ModuleSP;
378typedef std::weak_ptr<lldb_private::Module>
ModuleWP;
381typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
383typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
386typedef std::shared_ptr<lldb_private::OperatingSystemInterface>
390typedef std::shared_ptr<lldb_private::OptionValueProperties>
393typedef std::shared_ptr<lldb_private::Process>
ProcessSP;
400typedef std::shared_ptr<lldb_private::RegisterTypeBuilder>
403typedef std::shared_ptr<lldb_private::Queue>
QueueSP;
404typedef std::weak_ptr<lldb_private::Queue>
QueueWP;
406typedef std::shared_ptr<lldb_private::REPL>
REPLSP;
407typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
409typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
412typedef std::shared_ptr<lldb_private::ScriptedFrameInterface>
415typedef std::unique_ptr<lldb_private::ScriptedPlatformInterface>
417typedef std::unique_ptr<lldb_private::ScriptedProcessInterface>
419typedef std::shared_ptr<lldb_private::ScriptedStopHookInterface>
421typedef std::shared_ptr<lldb_private::ScriptedThreadInterface>
423typedef std::shared_ptr<lldb_private::ScriptedThreadPlanInterface>
425typedef std::shared_ptr<lldb_private::ScriptedBreakpointInterface>
427typedef std::shared_ptr<lldb_private::Section>
SectionSP;
436typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
438typedef std::unique_ptr<lldb_private::StackFrameRecognizerManager>
441typedef std::shared_ptr<lldb_private::Stream>
StreamSP;
442typedef std::unique_ptr<lldb_private::Stream>
StreamUP;
445typedef std::shared_ptr<lldb_private::StringSummaryFormat>
448typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
450typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
453typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
457typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
459typedef std::shared_ptr<lldb_private::Target>
TargetSP;
460typedef std::weak_ptr<lldb_private::Target>
TargetWP;
461typedef std::shared_ptr<lldb_private::Thread>
ThreadSP;
462typedef std::weak_ptr<lldb_private::Thread>
ThreadWP;
465typedef std::shared_ptr<lldb_private::ThreadPostMortemTrace>
469typedef std::shared_ptr<lldb_private::Trace>
TraceSP;
472typedef std::shared_ptr<lldb_private::Type>
TypeSP;
473typedef std::weak_ptr<lldb_private::Type>
TypeWP;
476typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
484typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
488typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
496typedef std::shared_ptr<lldb_private::Value>
ValueSP;
"lldb/Expression/ASTResultSynthesizer.h" Adds a result variable declaration to the ASTs for an expres...
A section + offset based address range class.
General Outline: The AddressResolver is a Searcher.
A section + offset based address class.
An architecture specification class.
A command line argument class.
A class designed to wrap callback batons so they can cleanup any acquired resources.
A class that describes a single lexical block.
General Outline: Allows adding and removing breakpoints and find by ID and index.
"lldb/Breakpoint/BreakpointLocationList.h" This class is used by Breakpoint to manage a list of break...
General Outline: A breakpoint location is defined by the breakpoint that produces it,...
"lldb/Breakpoint/BreakpointOptions.h" Class that manages the options on a breakpoint or breakpoint lo...
General Outline: The BreakpointResolver is a Searcher.
Class that manages the actual breakpoint that will be inserted into the running program.
General Outline: A breakpoint has four main parts, a filter, a resolver, the list of breakpoint locat...
An event broadcasting class.
An abstract communications class.
A class that describes a compilation unit.
Represents a generic declaration context in a program.
Represents a generic declaration such as a function declaration.
Generic representation of a type in a programming language.
A communication connection class.
Many cache files require string tables to store data efficiently.
A uniqued constant string class.
"lldb/Expression/DWARFExpressionList.h" Encapsulates a range map from file address range to a single ...
"lldb/Expression/DWARFExpression.h" Encapsulates a DWARF location expression and interprets it.
A subclass of DataBuffer that stores a data buffer on the heap.
A pure virtual protocol class for abstracted read only data buffers.
An binary data encoding class.
This class enables data to be cached into a directory using the llvm caching code.
A class to manage flag bits.
A class that describes the declaration location of a lldb object.
Encapsulates dynamic check functions used by expressions.
A plug-in interface definition class for dynamic loaders.
Instances of Editline provide an abstraction over libedit's EditLine facility.
"lldb/Core/EmulateInstruction.h" A class that allows emulation of CPU opcodes.
This class handles one or more StructuredData::Dictionary entries that are raised for structured data...
Execution context objects refer to objects in the execution of the program that is being debugged.
"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution ...
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
"lldb/Expression/ExpressionTypeSystemHelper.h" A helper object that the Expression can pass to its Ex...
"lldb/Expression/ExpressionVariable.h" A list of variable references.
Encapsulates a single expression for use in lldb.
An abstract base class for files.
Encapsulates a function that can be called.
A class that contains generic function information.
A class that describes a function.
"lldb/Expression/IRExecutionUnit.h" Contains the IR and, optionally, JIT- compiled code for a module.
A class that describes information for an inlined function.
Class used by the Process to hold a list of its JITLoaders.
A plug-in interface definition class for JIT loaders.
A class that handles mangled names.
A collection class for Module objects.
A class that describes an executable image and its associated object and symbol files.
A plug-in interface definition class for object containers.
A plug-in interface definition class for object file parsers.
A plug-in interface definition class for halted OS helpers.
A command line option parsing protocol class.
A plug-in interface definition class for debugging a process.
A Progress indicator helper class.
This class provides extra information about a stack frame that was provided by a specific stack frame...
Uniform wrapper for access to rich mangling information from different providers.
General Outline: Provides the callback and search depth for the SearchFilter search.
Class that provides a registry of known stack frame recognizers.
A base class for frame recognizers.
This base class provides an interface to stack frames.
General Outline: When we hit a breakpoint we need to package up whatever information is needed to eva...
A stream class that can stream formatted output to a file.
Many cache files require string tables to store data efficiently.
Plugin that supports process-related structured data sent asynchronously from the debug monitor (e....
Wraps a FileSpec and an optional Checksum.
Defines a list of symbol context objects.
"lldb/Symbol/SymbolContextScope.h" Inherit from this if your object is part of a symbol context and c...
Defines a symbol context baton that can be handed other debug core functions.
Provides public interface for all SymbolFiles.
A plug-in interface definition class for system runtimes.
Thread implementation used for representing threads gotten from trace session files,...
"lldb/Core/ThreadedCommunication.h" Variation of Communication that supports threaded reads.
Class used for iterating over the instructions of a thread's trace, among other kinds of information.
A plug-in interface definition class for trace exporters.
A plug-in interface definition class for trace information.
Sometimes you can find the name of the type corresponding to an object, but we don't have debug infor...
A class that contains all state required for type lookups.
This class tracks the state and results of a TypeQuery.
A TypeSystem implementation based on Clang.
Interface for representing a type system.
Represents UUID's of various sizes.
Encapsulates a one-time expression for use in lldb.
"lldb/Expression/UtilityFunction.h" Encapsulates a bit of source code that provides a function that i...
A child of another ValueObject.
A class wrapping common implementation details for operations in ValueObjectConstResult ( & Child ) t...
A frozen ValueObject copied into host memory.
A collection of ValueObject values that.
This class is used by Watchpoint to manage a list of watchpoints,.
"lldb/Breakpoint/WatchpointOptions.h" Class that manages the options on a watchpoint.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Function > FunctionSP
std::shared_ptr< lldb_private::IOObject > IOObjectSP
std::shared_ptr< lldb_private::InlineFunctionInfo > InlineFunctionInfoSP
std::weak_ptr< lldb_private::Breakpoint > BreakpointWP
std::shared_ptr< lldb_private::EventDataStructuredData > EventDataStructuredDataSP
std::unique_ptr< lldb_private::MemoryRegionInfo > MemoryRegionInfoUP
std::unique_ptr< lldb_private::ScriptedPlatformInterface > ScriptedPlatformInterfaceUP
std::shared_ptr< lldb_private::ScriptSummaryFormat > ScriptSummaryFormatSP
std::weak_ptr< lldb_private::StackFrame > StackFrameWP
std::shared_ptr< lldb_private::OptionValueProperties > OptionValuePropertiesSP
std::shared_ptr< lldb_private::Trace > TraceSP
std::shared_ptr< lldb_private::Broadcaster > BroadcasterSP
std::shared_ptr< lldb_private::TypeSystem > TypeSystemSP
std::weak_ptr< lldb_private::BreakpointLocation > BreakpointLocationWP
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
std::shared_ptr< lldb_private::Queue > QueueSP
std::shared_ptr< lldb_private::ScriptedStopHookInterface > ScriptedStopHookInterfaceSP
std::shared_ptr< lldb_private::ABI > ABISP
std::shared_ptr< lldb_private::IRExecutionUnit > IRExecutionUnitSP
std::shared_ptr< lldb_private::StackFrame > StackFrameSP
std::unique_ptr< lldb_private::SystemRuntime > SystemRuntimeUP
std::shared_ptr< lldb_private::BroadcasterManager > BroadcasterManagerSP
std::shared_ptr< lldb_private::ThreadPostMortemTrace > ThreadPostMortemTraceSP
std::shared_ptr< lldb_private::Connection > ConnectionSP
std::shared_ptr< lldb_private::RecognizedStackFrame > RecognizedStackFrameSP
std::shared_ptr< lldb_private::BreakpointSite > BreakpointSiteSP
std::shared_ptr< lldb_private::SearchFilter > SearchFilterSP
std::shared_ptr< lldb_private::BreakpointResolver > BreakpointResolverSP
std::shared_ptr< lldb_private::TypeSummaryImpl > TypeSummaryImplSP
std::shared_ptr< lldb_private::BreakpointLocation > BreakpointLocationSP
std::shared_ptr< lldb_private::Block > BlockSP
std::unique_ptr< lldb_private::StackFrameRecognizerManager > StackFrameRecognizerManagerUP
std::weak_ptr< lldb_private::Module > ModuleWP
std::shared_ptr< lldb_private::ObjectContainer > ObjectContainerSP
std::shared_ptr< lldb_private::IOHandler > IOHandlerSP
std::unique_ptr< lldb_private::OperatingSystem > OperatingSystemUP
std::weak_ptr< lldb_private::ThreadPlan > ThreadPlanWP
std::unique_ptr< lldb_private::AddressRange > AddressRangeUP
std::shared_ptr< lldb_private::ScriptInterpreter > ScriptInterpreterSP
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::ScriptedMetadata > ScriptedMetadataSP
std::shared_ptr< lldb_private::ScriptedThreadPlanInterface > ScriptedThreadPlanInterfaceSP
std::shared_ptr< lldb_private::CommandObject > CommandObjectSP
std::shared_ptr< lldb_private::TypeFormatImpl > TypeFormatImplSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::unique_ptr< lldb_private::File > FileUP
std::shared_ptr< lldb_private::TypeNameSpecifierImpl > TypeNameSpecifierImplSP
std::shared_ptr< lldb_private::SupportFile > SupportFileSP
std::unique_ptr< lldb_private::ProtocolServer > ProtocolServerUP
std::shared_ptr< lldb_private::ExpressionVariable > ExpressionVariableSP
std::shared_ptr< lldb_private::UnixSignals > UnixSignalsSP
std::shared_ptr< lldb_private::TypeEnumMemberImpl > TypeEnumMemberImplSP
std::shared_ptr< lldb_private::Platform > PlatformSP
std::weak_ptr< lldb_private::Listener > ListenerWP
std::shared_ptr< lldb_private::ProcessAttachInfo > ProcessAttachInfoSP
std::unique_ptr< lldb_private::DynamicCheckerFunctions > DynamicCheckerFunctionsUP
std::weak_ptr< lldb_private::StructuredDataPlugin > StructuredDataPluginWP
std::shared_ptr< lldb_private::RegularExpression > RegularExpressionSP
std::shared_ptr< lldb_private::TypeSummaryOptions > TypeSummaryOptionsSP
std::shared_ptr< lldb_private::OperatingSystemInterface > OperatingSystemInterfaceSP
std::shared_ptr< lldb_private::FormatEntity::Entry > FormatEntrySP
std::shared_ptr< lldb_private::TypeMemberFunctionImpl > TypeMemberFunctionImplSP
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
std::shared_ptr< lldb_private::RegisterTypeBuilder > RegisterTypeBuilderSP
std::shared_ptr< lldb_private::MemoryHistory > MemoryHistorySP
std::shared_ptr< lldb_private::Stream > StreamSP
std::shared_ptr< lldb_private::SectionLoadList > SectionLoadListSP
std::shared_ptr< lldb_private::Breakpoint > BreakpointSP
std::shared_ptr< lldb_private::UserExpression > UserExpressionSP
std::shared_ptr< lldb_private::ScriptedBreakpointInterface > ScriptedBreakpointInterfaceSP
std::shared_ptr< lldb_private::MemoryRegionInfo > MemoryRegionInfoSP
std::shared_ptr< lldb_private::Instruction > InstructionSP
std::shared_ptr< lldb_private::FuncUnwinders > FuncUnwindersSP
std::shared_ptr< lldb_private::Type > TypeSP
std::shared_ptr< lldb_private::StructuredDataPlugin > StructuredDataPluginSP
std::weak_ptr< lldb_private::Debugger > DebuggerWP
std::unique_ptr< lldb_private::SourceManager > SourceManagerUP
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::Baton > BatonSP
std::shared_ptr< lldb_private::BreakpointPrecondition > BreakpointPreconditionSP
std::shared_ptr< lldb_private::ScriptedThreadInterface > ScriptedThreadInterfaceSP
std::shared_ptr< lldb_private::ValueObjectList > ValueObjectListSP
std::weak_ptr< lldb_private::UnixSignals > UnixSignalsWP
std::shared_ptr< lldb_private::Debugger > DebuggerSP
std::unique_ptr< lldb_private::SymbolVendor > SymbolVendorUP
std::shared_ptr< lldb_private::Disassembler > DisassemblerSP
std::shared_ptr< lldb_private::LanguageRuntime > LanguageRuntimeSP
std::shared_ptr< lldb_private::Event > EventSP
std::unique_ptr< lldb_private::DynamicLoader > DynamicLoaderUP
std::unique_ptr< lldb_private::JITLoaderList > JITLoaderListUP
std::shared_ptr< lldb_private::SymbolContextSpecifier > SymbolContextSpecifierSP
std::shared_ptr< lldb_private::VariableList > VariableListSP
std::shared_ptr< lldb_private::SymbolFileType > SymbolFileTypeSP
std::shared_ptr< lldb_private::Watchpoint > WatchpointSP
std::weak_ptr< lldb_private::Process > ProcessWP
std::shared_ptr< lldb_private::Listener > ListenerSP
std::shared_ptr< lldb_private::UnwindPlan > UnwindPlanSP
std::shared_ptr< lldb_private::StreamFile > StreamFileSP
std::shared_ptr< lldb_private::Variable > VariableSP
std::shared_ptr< lldb_private::TraceCursor > TraceCursorSP
std::shared_ptr< lldb_private::WatchpointResource > WatchpointResourceSP
std::shared_ptr< lldb_private::TypeSystemClang > TypeSystemClangSP
std::shared_ptr< lldb_private::SyntheticChildren > SyntheticChildrenSP
std::shared_ptr< lldb_private::TypeCategoryImpl > TypeCategoryImplSP
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
std::shared_ptr< lldb_private::StackFrameRecognizer > StackFrameRecognizerSP
std::unique_ptr< lldb_private::SectionList > SectionListUP
std::weak_ptr< lldb_private::Type > TypeWP
std::unique_ptr< lldb_private::StructuredDataImpl > StructuredDataImplUP
std::shared_ptr< lldb_private::LockableStreamFile > LockableStreamFileSP
std::shared_ptr< lldb_private::SyntheticChildrenFrontEnd > SyntheticChildrenFrontEndSP
std::shared_ptr< lldb_private::StopInfo > StopInfoSP
std::shared_ptr< lldb_private::Section > SectionSP
std::shared_ptr< lldb_private::WritableDataBuffer > WritableDataBufferSP
std::shared_ptr< lldb_private::ScriptedSyntheticChildren > ScriptedSyntheticChildrenSP
std::shared_ptr< lldb_private::TypeFilterImpl > TypeFilterImplSP
std::unique_ptr< lldb_private::TraceExporter > TraceExporterUP
std::weak_ptr< lldb_private::Queue > QueueWP
std::shared_ptr< lldb_private::ObjectFileJITDelegate > ObjectFileJITDelegateSP
std::weak_ptr< lldb_private::Target > TargetWP
std::shared_ptr< lldb_private::TypeImpl > TypeImplSP
std::shared_ptr< lldb_private::JITLoader > JITLoaderSP
std::shared_ptr< lldb_private::Target > TargetSP
std::weak_ptr< lldb_private::OptionValue > OptionValueWP
std::weak_ptr< lldb_private::Thread > ThreadWP
std::unique_ptr< lldb_private::Stream > StreamUP
std::shared_ptr< lldb_private::File > FileSP
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP
std::weak_ptr< lldb_private::TypeSystem > TypeSystemWP
std::shared_ptr< lldb_private::DataExtractor > DataExtractorSP
std::unique_ptr< lldb_private::ScriptedProcessInterface > ScriptedProcessInterfaceUP
std::shared_ptr< lldb_private::ProcessLaunchInfo > ProcessLaunchInfoSP
std::shared_ptr< lldb_private::InstrumentationRuntime > InstrumentationRuntimeSP
std::shared_ptr< lldb_private::Value > ValueSP
std::shared_ptr< lldb_private::Module > ModuleSP
std::shared_ptr< lldb_private::OptionValue > OptionValueSP
std::shared_ptr< lldb_private::ThreadCollection > ThreadCollectionSP
std::shared_ptr< lldb_private::CompileUnit > CompUnitSP
std::shared_ptr< lldb_private::RegisterCheckpoint > RegisterCheckpointSP
std::shared_ptr< lldb_private::ThreadPlanTracer > ThreadPlanTracerSP
std::shared_ptr< lldb_private::StackFrameList > StackFrameListSP
std::shared_ptr< lldb_private::EventData > EventDataSP
std::weak_ptr< lldb_private::ObjectFileJITDelegate > ObjectFileJITDelegateWP
std::shared_ptr< lldb_private::StringSummaryFormat > StringTypeSummaryImplSP
std::shared_ptr< lldb_private::ScriptedFrameInterface > ScriptedFrameInterfaceSP
std::shared_ptr< lldb_private::REPL > REPLSP
std::shared_ptr< lldb_private::QueueItem > QueueItemSP
std::shared_ptr< lldb_private::UnwindAssembly > UnwindAssemblySP
std::weak_ptr< lldb_private::BroadcasterManager > BroadcasterManagerWP
std::shared_ptr< lldb_private::ExecutionContextRef > ExecutionContextRefSP
std::weak_ptr< lldb_private::Section > SectionWP
A signature for a given file on disk.
CompilerContext allows an array of these items to be passed to perform detailed lookups in SymbolVend...
A line table entry class.