Warning: This file is not a C or C++ file. It does not have highlighting.

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;
71class WritableDataBuffer;
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 RegisterTypeBuilder;
179class RegisterValue;
180class RegularExpression;
181class RichManglingContext;
182class Scalar;
183class ScriptInterpreter;
184class ScriptInterpreterLocker;
185class ScriptedMetadata;
186class ScriptedPlatformInterface;
187class ScriptedProcessInterface;
188class ScriptedThreadInterface;
189class ScriptedSyntheticChildren;
190class SearchFilter;
191class Section;
192class SectionList;
193class SectionLoadHistory;
194class SectionLoadList;
195class Settings;
196class SourceManager;
197class SourceManagerImpl;
198class StackFrame;
199class StackFrameList;
200class StackFrameRecognizer;
201class StackFrameRecognizerManager;
202class StackID;
203class Status;
204class StopInfo;
205class Stoppoint;
206class StoppointCallbackContext;
207class Stream;
208class StreamFile;
209class StreamString;
210class StringList;
211class StringTableReader;
212class StructuredDataImpl;
213class StructuredDataPlugin;
214class Symbol;
215class SymbolContext;
216class SymbolContextList;
217class SymbolContextScope;
218class SymbolContextSpecifier;
219class SymbolFile;
220class SymbolFileType;
221class SymbolVendor;
222class Symtab;
223class SyntheticChildren;
224class SyntheticChildrenFrontEnd;
225class SystemRuntime;
226class Target;
227class TargetList;
228class TargetProperties;
229class Thread;
230class ThreadCollection;
231class ThreadList;
232class ThreadPlan;
233class ThreadPlanBase;
234class ThreadPlanRunToAddress;
235class ThreadPlanStepInstruction;
236class ThreadPlanStepOut;
237class ThreadPlanStepOverBreakpoint;
238class ThreadPlanStepRange;
239class ThreadPlanStepThrough;
240class ThreadPlanTracer;
241class ThreadSpec;
242class ThreadPostMortemTrace;
243class ThreadedCommunication;
244class Trace;
245class TraceCursor;
246class TraceExporter;
247class Type;
248class TypeAndOrName;
249class TypeCategoryImpl;
250class TypeCategoryMap;
251class TypeEnumMemberImpl;
252class TypeEnumMemberListImpl;
253class TypeFilterImpl;
254class TypeFormatImpl;
255class TypeImpl;
256class TypeList;
257class TypeListImpl;
258class TypeMap;
259class TypeMemberFunctionImpl;
260class TypeMemberImpl;
261class TypeNameSpecifierImpl;
262class TypeSummaryImpl;
263class TypeSummaryOptions;
264class TypeSystem;
265class TypeSystemClang;
266class UUID;
267class UnixSignals;
268class Unwind;
269class UnwindAssembly;
270class UnwindPlan;
271class UnwindTable;
272class UserExpression;
273class UtilityFunction;
274class VMRange;
275class Value;
276class ValueList;
277class ValueObject;
278class ValueObjectChild;
279class ValueObjectConstResult;
280class ValueObjectConstResultChild;
281class ValueObjectConstResultImpl;
282class ValueObjectList;
283class ValueObjectPrinter;
284class Variable;
285class VariableList;
286class Watchpoint;
287class WatchpointList;
288class WatchpointOptions;
289struct CompilerContext;
290struct LineEntry;
291struct PropertyDefinition;
292struct ScriptSummaryFormat;
293struct StringSummaryFormat;
294template <unsigned N> class StreamBuffer;
295
296} // namespace lldb_private
297
298// lldb forward declarations
299namespace lldb {
300
301typedef std::shared_ptr<lldb_private::ABI> ABISP;
302typedef std::shared_ptr<lldb_private::Baton> BatonSP;
303typedef std::shared_ptr<lldb_private::Block> BlockSP;
304typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
305typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
306typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
307typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
308typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
309typedef std::shared_ptr<lldb_private::BreakpointPrecondition>
310 BreakpointPreconditionSP;
311typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
312typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
313typedef std::shared_ptr<lldb_private::BroadcasterManager> BroadcasterManagerSP;
314typedef std::weak_ptr<lldb_private::BroadcasterManager> BroadcasterManagerWP;
315typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
316typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
317typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
318typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
319typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
320typedef std::shared_ptr<lldb_private::WritableDataBuffer> WritableDataBufferSP;
321typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
322typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
323typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
324typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
325typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
326 DynamicCheckerFunctionsUP;
327typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
328typedef std::shared_ptr<lldb_private::Event> EventSP;
329typedef std::shared_ptr<lldb_private::EventData> EventDataSP;
330typedef std::shared_ptr<lldb_private::EventDataStructuredData>
331 EventDataStructuredDataSP;
332typedef std::shared_ptr<lldb_private::ExecutionContextRef>
333 ExecutionContextRefSP;
334typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
335typedef std::unique_ptr<lldb_private::File> FileUP;
336typedef std::shared_ptr<lldb_private::File> FileSP;
337typedef std::shared_ptr<lldb_private::Function> FunctionSP;
338typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
339typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
340typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
341typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
342 InstrumentationRuntimeSP;
343typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
344typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
345typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
346typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
347typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
348typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
349typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
350typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
351typedef std::weak_ptr<lldb_private::Listener> ListenerWP;
352typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
353typedef std::unique_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoUP;
354typedef std::shared_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoSP;
355typedef std::shared_ptr<lldb_private::Module> ModuleSP;
356typedef std::weak_ptr<lldb_private::Module> ModuleWP;
357typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
358typedef std::shared_ptr<lldb_private::ObjectContainer> ObjectContainerSP;
359typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
360 ObjectFileJITDelegateSP;
361typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
362 ObjectFileJITDelegateWP;
363typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
364typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
365typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
366typedef std::shared_ptr<lldb_private::OptionValueProperties>
367 OptionValuePropertiesSP;
368typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
369typedef std::shared_ptr<lldb_private::Process> ProcessSP;
370typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
371typedef std::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
372typedef std::weak_ptr<lldb_private::Process> ProcessWP;
373typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
374typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
375typedef std::shared_ptr<lldb_private::RegisterTypeBuilder>
376 RegisterTypeBuilderSP;
377typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
378typedef std::shared_ptr<lldb_private::Queue> QueueSP;
379typedef std::weak_ptr<lldb_private::Queue> QueueWP;
380typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
381typedef std::shared_ptr<lldb_private::REPL> REPLSP;
382typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
383 RecognizedStackFrameSP;
384typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
385 ScriptSummaryFormatSP;
386typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
387typedef std::shared_ptr<lldb_private::ScriptedMetadata> ScriptedMetadataSP;
388typedef std::unique_ptr<lldb_private::ScriptedPlatformInterface>
389 ScriptedPlatformInterfaceUP;
390typedef std::unique_ptr<lldb_private::ScriptedProcessInterface>
391 ScriptedProcessInterfaceUP;
392typedef std::shared_ptr<lldb_private::ScriptedThreadInterface>
393 ScriptedThreadInterfaceSP;
394typedef std::shared_ptr<lldb_private::Section> SectionSP;
395typedef std::unique_ptr<lldb_private::SectionList> SectionListUP;
396typedef std::weak_ptr<lldb_private::Section> SectionWP;
397typedef std::shared_ptr<lldb_private::SectionLoadList> SectionLoadListSP;
398typedef std::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
399typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
400typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
401typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
402typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
403typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
404 StackFrameRecognizerSP;
405typedef std::unique_ptr<lldb_private::StackFrameRecognizerManager>
406 StackFrameRecognizerManagerUP;
407typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
408typedef std::shared_ptr<lldb_private::Stream> StreamSP;
409typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
410typedef std::shared_ptr<lldb_private::StringSummaryFormat>
411 StringTypeSummaryImplSP;
412typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
413typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
414 StructuredDataPluginSP;
415typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
416 StructuredDataPluginWP;
417typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
418typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
419 SymbolContextSpecifierSP;
420typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
421typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
422typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
423 SyntheticChildrenFrontEndSP;
424typedef std::shared_ptr<lldb_private::Target> TargetSP;
425typedef std::weak_ptr<lldb_private::Target> TargetWP;
426typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
427typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
428typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
429typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
430typedef std::shared_ptr<lldb_private::ThreadPostMortemTrace>
431 ThreadPostMortemTraceSP;
432typedef std::weak_ptr<lldb_private::ThreadPlan> ThreadPlanWP;
433typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
434typedef std::shared_ptr<lldb_private::Trace> TraceSP;
435typedef std::unique_ptr<lldb_private::TraceExporter> TraceExporterUP;
436typedef std::shared_ptr<lldb_private::TraceCursor> TraceCursorSP;
437typedef std::shared_ptr<lldb_private::Type> TypeSP;
438typedef std::weak_ptr<lldb_private::Type> TypeWP;
439typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
440typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
441typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
442 TypeMemberFunctionImplSP;
443typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
444typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
445typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
446typedef std::shared_ptr<lldb_private::TypeSystemClang> TypeSystemClangSP;
447typedef std::weak_ptr<lldb_private::TypeSystem> TypeSystemWP;
448typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
449typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
450 TypeNameSpecifierImplSP;
451typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
452typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
453typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
454 ScriptedSyntheticChildrenSP;
455typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
456typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
457typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
458typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
459typedef std::shared_ptr<lldb_private::ValueObject> ValueObjectSP;
460typedef std::shared_ptr<lldb_private::Value> ValueSP;
461typedef std::shared_ptr<lldb_private::Variable> VariableSP;
462typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
463typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
464typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
465
466} // namespace lldb
467
468#endif // #if defined(__cplusplus)
469#endif // LLDB_LLDB_FORWARD_H
470

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of lldb/include/lldb/lldb-forward.h