9#ifndef LLDB_LLDB_FORWARD_H
10#define LLDB_LLDB_FORWARD_H
12#if defined(__cplusplus)
20class ASTResultSynthesizer;
21class ASTStructExtractor;
33class BreakpointIDList;
35class BreakpointLocation;
36class BreakpointLocationCollection;
37class BreakpointLocationList;
39class BreakpointOptionGroup;
40class BreakpointOptions;
41class BreakpointPrecondition;
42class BreakpointResolver;
44class BreakpointSiteList;
45class BroadcastEventSpec;
47class BroadcasterManager;
48class CXXSyntheticChildren;
51class CommandInterpreter;
52class CommandInterpreterRunOptions;
54class CommandObjectMultiword;
55class CommandReturnObject;
57class CompactUnwindInfo;
60class CompilerDeclContext;
63class ConnectionFileDescriptor;
65class ConstStringTable;
66class DWARFCallFrameInfo;
67class DWARFDataExtractor;
69class DWARFExpressionList;
78class DiagnosticManager;
80class DumpValueObjectOptions;
81class DynamicCheckerFunctions;
84class EmulateInstruction;
86class EvaluateExpressionOptions;
89class EventDataStructuredData;
90class ExecutionContext;
91class ExecutionContextRef;
92class ExecutionContextScope;
94class ExpressionTypeSystemHelper;
95class ExpressionVariable;
96class ExpressionVariableList;
102class FormattersMatchCandidate;
109class IRExecutionUnit;
110class InlineFunctionInfo;
112class InstructionList;
113class InstrumentationRuntime;
117class LanguageCategory;
118class LanguageRuntime;
125class MemoryRegionInfo;
126class MemoryRegionInfos;
131class ObjectContainer;
133class ObjectFileJITDelegate;
134class OperatingSystem;
136class OptionGroupOptions;
137class OptionGroupPlatform;
139class OptionValueArch;
140class OptionValueArgs;
141class OptionValueArray;
142class OptionValueBoolean;
143class OptionValueChar;
144class OptionValueDictionary;
145class OptionValueEnumeration;
146class OptionValueFileSpec;
147class OptionValueFileSpecList;
148class OptionValueFormat;
149class OptionValueFormatEntity;
150class OptionValueLanguage;
151class OptionValuePathMappings;
152class OptionValueProperties;
153class OptionValueRegex;
154class OptionValueSInt64;
155class OptionValueString;
156class OptionValueUInt64;
157class OptionValueUUID;
159class PathMappingList;
160class PersistentExpressionState;
163class ProcessAttachInfo;
164class ProcessLaunchInfo;
166class ProcessInstanceInfo;
167class ProcessInstanceInfoMatch;
168class ProcessLaunchInfo;
175class RecognizedStackFrame;
176class RegisterCheckpoint;
177class RegisterContext;
180class RichManglingContext;
182class ScriptInterpreter;
183class ScriptInterpreterLocker;
184class ScriptedPlatformInterface;
185class ScriptedProcessInterface;
186class ScriptedThreadInterface;
187class ScriptedSyntheticChildren;
191class SectionLoadHistory;
192class SectionLoadList;
195class SourceManagerImpl;
198class StackFrameRecognizer;
199class StackFrameRecognizerManager;
204class StoppointCallbackContext;
209class StringTableReader;
210class StructuredDataImpl;
211class StructuredDataPlugin;
214class SymbolContextList;
215class SymbolContextScope;
216class SymbolContextSpecifier;
221class SyntheticChildren;
222class SyntheticChildrenFrontEnd;
226class TargetProperties;
228class ThreadCollection;
232class ThreadPlanRunToAddress;
233class ThreadPlanStepInstruction;
234class ThreadPlanStepOut;
235class ThreadPlanStepOverBreakpoint;
236class ThreadPlanStepRange;
237class ThreadPlanStepThrough;
238class ThreadPlanTracer;
240class ThreadPostMortemTrace;
241class ThreadedCommunication;
247class TypeCategoryImpl;
248class TypeCategoryMap;
249class TypeEnumMemberImpl;
250class TypeEnumMemberListImpl;
257class TypeMemberFunctionImpl;
259class TypeNameSpecifierImpl;
260class TypeSummaryImpl;
261class TypeSummaryOptions;
263class TypeSystemClang;
271class UtilityFunction;
276class ValueObjectChild;
277class ValueObjectConstResult;
278class ValueObjectConstResultChild;
279class ValueObjectConstResultImpl;
280class ValueObjectList;
281class ValueObjectPrinter;
286class WatchpointOptions;
287struct CompilerContext;
289struct PropertyDefinition;
290struct ScriptSummaryFormat;
291struct StringSummaryFormat;
292template <
unsigned N>
class StreamBuffer;
299typedef std::shared_ptr<lldb_private::ABI> ABISP;
300typedef std::shared_ptr<lldb_private::Baton> BatonSP;
301typedef std::shared_ptr<lldb_private::Block> BlockSP;
302typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
303typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
304typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
305typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
306typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
307typedef std::shared_ptr<lldb_private::BreakpointPrecondition>
308 BreakpointPreconditionSP;
309typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
310typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
311typedef std::shared_ptr<lldb_private::BroadcasterManager> BroadcasterManagerSP;
312typedef std::weak_ptr<lldb_private::BroadcasterManager> BroadcasterManagerWP;
313typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
314typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
315typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
316typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
317typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
318typedef std::shared_ptr<lldb_private::WritableDataBuffer> WritableDataBufferSP;
319typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
320typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
321typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
322typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
323typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
324 DynamicCheckerFunctionsUP;
325typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
326typedef std::shared_ptr<lldb_private::Event> EventSP;
327typedef std::shared_ptr<lldb_private::EventData> EventDataSP;
328typedef std::shared_ptr<lldb_private::EventDataStructuredData>
329 EventDataStructuredDataSP;
330typedef std::shared_ptr<lldb_private::ExecutionContextRef>
331 ExecutionContextRefSP;
332typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
333typedef std::unique_ptr<lldb_private::File> FileUP;
334typedef std::shared_ptr<lldb_private::File> FileSP;
335typedef std::shared_ptr<lldb_private::Function> FunctionSP;
336typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
337typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
338typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
339typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
340 InstrumentationRuntimeSP;
341typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
342typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
343typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
344typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
345typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
346typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
347typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
348typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
349typedef std::weak_ptr<lldb_private::Listener> ListenerWP;
350typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
351typedef std::unique_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoUP;
352typedef std::shared_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoSP;
353typedef std::shared_ptr<lldb_private::Module> ModuleSP;
354typedef std::weak_ptr<lldb_private::Module> ModuleWP;
355typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
356typedef std::shared_ptr<lldb_private::ObjectContainer> ObjectContainerSP;
357typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
358 ObjectFileJITDelegateSP;
359typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
360 ObjectFileJITDelegateWP;
361typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
362typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
363typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
364typedef std::shared_ptr<lldb_private::OptionValueProperties>
365 OptionValuePropertiesSP;
366typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
367typedef std::shared_ptr<lldb_private::Process> ProcessSP;
368typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
369typedef std::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
370typedef std::weak_ptr<lldb_private::Process> ProcessWP;
371typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
372typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
373typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
374typedef std::shared_ptr<lldb_private::Queue> QueueSP;
375typedef std::weak_ptr<lldb_private::Queue> QueueWP;
376typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
377typedef std::shared_ptr<lldb_private::REPL> REPLSP;
378typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
379 RecognizedStackFrameSP;
380typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
381 ScriptSummaryFormatSP;
382typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
383typedef std::unique_ptr<lldb_private::ScriptedPlatformInterface>
384 ScriptedPlatformInterfaceUP;
385typedef std::unique_ptr<lldb_private::ScriptedProcessInterface>
386 ScriptedProcessInterfaceUP;
387typedef std::shared_ptr<lldb_private::ScriptedThreadInterface>
388 ScriptedThreadInterfaceSP;
389typedef std::shared_ptr<lldb_private::Section> SectionSP;
390typedef std::unique_ptr<lldb_private::SectionList> SectionListUP;
391typedef std::weak_ptr<lldb_private::Section> SectionWP;
392typedef std::shared_ptr<lldb_private::SectionLoadList> SectionLoadListSP;
393typedef std::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
394typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
395typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
396typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
397typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
398typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
399 StackFrameRecognizerSP;
400typedef std::unique_ptr<lldb_private::StackFrameRecognizerManager>
401 StackFrameRecognizerManagerUP;
402typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
403typedef std::shared_ptr<lldb_private::Stream> StreamSP;
404typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
405typedef std::shared_ptr<lldb_private::StringSummaryFormat>
406 StringTypeSummaryImplSP;
407typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
408typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
409 StructuredDataPluginSP;
410typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
411 StructuredDataPluginWP;
412typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
413typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
414 SymbolContextSpecifierSP;
415typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
416typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
417typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
418 SyntheticChildrenFrontEndSP;
419typedef std::shared_ptr<lldb_private::Target> TargetSP;
420typedef std::weak_ptr<lldb_private::Target> TargetWP;
421typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
422typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
423typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
424typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
425typedef std::shared_ptr<lldb_private::ThreadPostMortemTrace>
426 ThreadPostMortemTraceSP;
427typedef std::weak_ptr<lldb_private::ThreadPlan> ThreadPlanWP;
428typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
429typedef std::shared_ptr<lldb_private::Trace> TraceSP;
430typedef std::unique_ptr<lldb_private::TraceExporter> TraceExporterUP;
431typedef std::shared_ptr<lldb_private::TraceCursor> TraceCursorSP;
432typedef std::shared_ptr<lldb_private::Type> TypeSP;
433typedef std::weak_ptr<lldb_private::Type> TypeWP;
434typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
435typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
436typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
437 TypeMemberFunctionImplSP;
438typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
439typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
440typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
441typedef std::shared_ptr<lldb_private::TypeSystemClang> TypeSystemClangSP;
442typedef std::weak_ptr<lldb_private::TypeSystem> TypeSystemWP;
443typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
444typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
445 TypeNameSpecifierImplSP;
446typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
447typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
448typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
449 ScriptedSyntheticChildrenSP;
450typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
451typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
452typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
453typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
454typedef std::shared_ptr<lldb_private::ValueObject> ValueObjectSP;
455typedef std::shared_ptr<lldb_private::Value> ValueSP;
456typedef std::shared_ptr<lldb_private::Variable> VariableSP;
457typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
458typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
459typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
A class that represents a running process on the host machine.