LLDB mainline
lldb-forward.h
Go to the documentation of this file.
1//===-- lldb-forward.h ------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_LLDB_FORWARD_H
10#define LLDB_LLDB_FORWARD_H
11
12#if defined(__cplusplus)
13
14#include <memory>
15
16// lldb forward declarations
17namespace lldb_private {
18
19class ABI;
20class ASTResultSynthesizer;
21class ASTStructExtractor;
22class Address;
23class AddressRange;
24class AddressResolver;
25class ArchSpec;
26class Architecture;
27class Args;
28class ArmUnwindInfo;
29class Baton;
30class Block;
31class Breakpoint;
32class BreakpointID;
33class BreakpointIDList;
34class BreakpointList;
35class BreakpointLocation;
36class BreakpointLocationCollection;
37class BreakpointLocationList;
38class BreakpointName;
39class BreakpointOptionGroup;
40class BreakpointOptions;
41class BreakpointPrecondition;
42class BreakpointResolver;
43class BreakpointSite;
44class BreakpointSiteList;
45class BroadcastEventSpec;
46class Broadcaster;
47class BroadcasterManager;
48class CXXSyntheticChildren;
49struct CacheSignature;
50class CallFrameInfo;
51class CommandInterpreter;
52class CommandInterpreterRunOptions;
53class CommandObject;
54class CommandObjectMultiword;
55class CommandReturnObject;
56class Communication;
57class CompactUnwindInfo;
58class CompileUnit;
59class CompilerDecl;
60class CompilerDeclContext;
61class CompilerType;
62class Connection;
63class ConnectionFileDescriptor;
64class ConstString;
65class ConstStringTable;
66class DWARFCallFrameInfo;
67class DWARFDataExtractor;
68class DWARFExpression;
69class DWARFExpressionList;
70class DataBuffer;
72class DataBufferHeap;
73class DataEncoder;
74class DataExtractor;
75class DataFileCache;
76class Debugger;
77class Declaration;
78class DiagnosticManager;
79class Disassembler;
80class DumpValueObjectOptions;
81class DynamicCheckerFunctions;
82class DynamicLoader;
83class Editline;
84class EmulateInstruction;
85class Environment;
86class EvaluateExpressionOptions;
87class Event;
88class EventData;
89class EventDataStructuredData;
90class ExecutionContext;
91class ExecutionContextRef;
92class ExecutionContextScope;
93class Expression;
94class ExpressionTypeSystemHelper;
95class ExpressionVariable;
96class ExpressionVariableList;
97class File;
98class FileSpec;
99class FileSpecList;
100class Flags;
101class FormatManager;
102class FormattersMatchCandidate;
103class FuncUnwinders;
104class Function;
105class FunctionCaller;
106class FunctionInfo;
107class IOHandler;
108class IOObject;
109class IRExecutionUnit;
110class InlineFunctionInfo;
111class Instruction;
112class InstructionList;
113class InstrumentationRuntime;
114class JITLoader;
115class JITLoaderList;
116class Language;
117class LanguageCategory;
118class LanguageRuntime;
119class LineTable;
120class Listener;
121class Log;
122class Mangled;
123class Materializer;
124class MemoryHistory;
125class MemoryRegionInfo;
126class MemoryRegionInfos;
127class Module;
128class ModuleList;
129class ModuleSpec;
130class ModuleSpecList;
131class ObjectContainer;
132class ObjectFile;
133class ObjectFileJITDelegate;
134class OperatingSystem;
135class OptionGroup;
136class OptionGroupOptions;
137class OptionGroupPlatform;
138class OptionValue;
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;
158class Options;
159class PathMappingList;
160class PersistentExpressionState;
161class Platform;
162class Process;
163class ProcessAttachInfo;
164class ProcessLaunchInfo;
165class ProcessInfo;
166class ProcessInstanceInfo;
167class ProcessInstanceInfoMatch;
168class ProcessLaunchInfo;
169class ProcessModID;
170class Property;
171class Queue;
172class QueueImpl;
173class QueueItem;
174class REPL;
175class RecognizedStackFrame;
176class RegisterCheckpoint;
177class RegisterContext;
178class RegisterValue;
180class RichManglingContext;
181class Scalar;
182class ScriptInterpreter;
183class ScriptInterpreterLocker;
184class ScriptedPlatformInterface;
185class ScriptedProcessInterface;
186class ScriptedThreadInterface;
187class ScriptedSyntheticChildren;
188class SearchFilter;
189class Section;
190class SectionList;
191class SectionLoadHistory;
192class SectionLoadList;
193class Settings;
194class SourceManager;
195class SourceManagerImpl;
196class StackFrame;
197class StackFrameList;
198class StackFrameRecognizer;
199class StackFrameRecognizerManager;
200class StackID;
201class Status;
202class StopInfo;
203class Stoppoint;
204class StoppointCallbackContext;
205class Stream;
206class StreamFile;
207class StreamString;
208class StringList;
209class StringTableReader;
210class StructuredDataImpl;
211class StructuredDataPlugin;
212class Symbol;
213class SymbolContext;
214class SymbolContextList;
215class SymbolContextScope;
216class SymbolContextSpecifier;
217class SymbolFile;
218class SymbolFileType;
219class SymbolVendor;
220class Symtab;
221class SyntheticChildren;
222class SyntheticChildrenFrontEnd;
223class SystemRuntime;
224class Target;
225class TargetList;
226class TargetProperties;
227class Thread;
228class ThreadCollection;
229class ThreadList;
230class ThreadPlan;
231class ThreadPlanBase;
232class ThreadPlanRunToAddress;
233class ThreadPlanStepInstruction;
234class ThreadPlanStepOut;
235class ThreadPlanStepOverBreakpoint;
236class ThreadPlanStepRange;
237class ThreadPlanStepThrough;
238class ThreadPlanTracer;
239class ThreadSpec;
240class ThreadPostMortemTrace;
241class ThreadedCommunication;
242class Trace;
243class TraceCursor;
244class TraceExporter;
245class Type;
246class TypeAndOrName;
247class TypeCategoryImpl;
248class TypeCategoryMap;
249class TypeEnumMemberImpl;
250class TypeEnumMemberListImpl;
251class TypeFilterImpl;
252class TypeFormatImpl;
253class TypeImpl;
254class TypeList;
255class TypeListImpl;
256class TypeMap;
257class TypeMemberFunctionImpl;
258class TypeMemberImpl;
259class TypeNameSpecifierImpl;
260class TypeSummaryImpl;
261class TypeSummaryOptions;
262class TypeSystem;
263class TypeSystemClang;
264class UUID;
265class UnixSignals;
266class Unwind;
267class UnwindAssembly;
268class UnwindPlan;
269class UnwindTable;
270class UserExpression;
271class UtilityFunction;
272class VMRange;
273class Value;
274class ValueList;
275class ValueObject;
276class ValueObjectChild;
277class ValueObjectConstResult;
278class ValueObjectConstResultChild;
279class ValueObjectConstResultImpl;
280class ValueObjectList;
281class ValueObjectPrinter;
282class Variable;
283class VariableList;
284class Watchpoint;
285class WatchpointList;
286class WatchpointOptions;
287struct CompilerContext;
288struct LineEntry;
289struct PropertyDefinition;
290struct ScriptSummaryFormat;
291struct StringSummaryFormat;
292template <unsigned N> class StreamBuffer;
293
294} // namespace lldb_private
295
296// lldb forward declarations
297namespace lldb {
298
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;
460
461} // namespace lldb
462
463#endif // #if defined(__cplusplus)
464#endif // LLDB_LLDB_FORWARD_H
A class that represents a running process on the host machine.
Definition: SBAddress.h:15