aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/lldb-forward.h
blob: 516f31911c2bda8512b62bc4bd0047aec048799b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
//===-- lldb-forward.h ------------------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#ifndef LLDB_lldb_forward_h_
#define LLDB_lldb_forward_h_

#if defined(__cplusplus)

#include "lldb/Utility/SharingPtr.h"

//----------------------------------------------------------------------
// lldb forward declarations
//----------------------------------------------------------------------
namespace lldb_private {

class   ABI;
class   Address;
class   AddressImpl;
class   AddressRange;
class   AddressResolver;
class   ArchSpec;
class   ArmUnwindInfo;
class   Args;
class   ASTResultSynthesizer;
class   ASTStructExtractor;
class   Baton;
class   Block;
class   Breakpoint;
class   BreakpointID;
class   BreakpointIDList;
class   BreakpointList;
class   BreakpointLocation;
class   BreakpointLocationCollection;
class   BreakpointLocationList;
class   BreakpointOptions;
class   BreakpointResolver;
class   BreakpointSite;
class   BreakpointSiteList;
class   BroadcastEventSpec;
class   Broadcaster;
class   BroadcasterManager;
class   CPPLanguageRuntime;
class   ClangASTContext;
class   ClangASTImporter;
class   ClangASTMetadata;
class   ClangASTSource;
class   ClangExpressionDeclMap;
class   ClangExpressionParser;
class   ClangExpressionVariable;
class   ClangExpressionVariables;
class   ClangModulesDeclVendor;
class   ClangPersistentVariables;
class   CommandInterpreter;
class   CommandInterpreterRunOptions;
class   CommandObject;
class   CommandReturnObject;
class   Communication;
class   CompactUnwindInfo;
struct  CompilerContext;
class   CompilerDecl;
class   CompilerDeclContext;
class   CompilerType;
class   CompileUnit;
class   Condition;
class   Connection;
class   ConnectionFileDescriptor;
class   ConstString;
class   CXXSyntheticChildren;
class   DWARFCallFrameInfo;
class   DWARFExpression;
class   DataBuffer;
class   DataEncoder;
class   DataExtractor;
class   Debugger;
class   Declaration;
class   Disassembler;
class   DumpValueObjectOptions;
class   DynamicCheckerFunctions;
class   DynamicLoader;
class   Editline;
class   EmulateInstruction;
class   Error;
class   EvaluateExpressionOptions;
class   Event;
class   EventData;
class   ExecutionContext;
class   ExecutionContextRef;
class   ExecutionContextRefLocker;
class   ExecutionContextScope;
class   Expression;
class   ExpressionVariable;
class   ExpressionVariableList;
class   ExpressionTypeSystemHelper;
class   File;
class   FileSpec;
class   FileSpecList;
class   Flags;
class   GoASTContext;
class   TypeCategoryImpl;
class   FormatManager;
class   FormattersMatchCandidate;
class   FuncUnwinders;
class   Function;
class   FunctionInfo;
class   InlineFunctionInfo;
class   Instruction;
class   InstructionList;
class   InstrumentationRuntime;
class   IOHandler;
class   IOObject;
class   IRExecutionUnit;
class   JITLoader;
class   JITLoaderList;
class   Language;
class   LanguageCategory;
class   LanguageRuntime;
class   MemoryRegionInfo;
class   LineTable;
class   Listener;
class   Log;
class   LogChannel;
class   Mangled;
class   Materializer;
class   MemoryHistory;
class   Module;
class   ModuleList;
class   ModuleSpec;
class   ModuleSpecList;
class   Mutex;
struct  NameSearchContext;
class   ObjCLanguageRuntime;
class   ObjCRuntimeSyntheticProvider;
class   ObjectContainer;
class   OptionGroup;
class   OptionGroupOptions;
class   OptionGroupPlatform;
class   ObjectFile;
class   ObjectFileJITDelegate;
class   OperatingSystem;
class   Options;
class   OptionValue;
class   OptionValueArch;
class   OptionValueArgs;
class   OptionValueArray;
class   OptionValueBoolean;
class   OptionValueChar;
class   OptionValueDictionary;
class   OptionValueEnumeration;
class   OptionValueFileSpec;
class   OptionValueFileSpecList;
class   OptionValueFormat;
class   OptionValueLanguage;
class   OptionValueFormatEntity;
class   OptionValuePathMappings;
class   OptionValueProperties;
class   OptionValueRegex;
class   OptionValueSInt64;
class   OptionValueString;
class   OptionValueUInt64;
class   OptionValueUUID;
class   NamedOption;
class   PathMappingList;
class   FunctionCaller;
class   PersistentExpressionState;
class   Platform;
class   Process;
class   ProcessAttachInfo;
class   ProcessModID;
class   ProcessInfo;
class   ProcessInstanceInfo;
class   ProcessInstanceInfoList;
class   ProcessInstanceInfoMatch;
class   ProcessLaunchInfo;
class   Property;
struct  PropertyDefinition;
class   RegisterCheckpoint;
class   RegisterContext;
class   RegisterLocation;
class   RegisterLocationList;
class   RegisterValue;
class   RegularExpression;
class   REPL;
class   Scalar;
class   ScriptInterpreter;
class   ScriptInterpreterLocker;
struct  ScriptSummaryFormat;
class   SearchFilter;
class   Section;
class   SectionImpl;
class   SectionList;
class   SectionLoadHistory;
class   SectionLoadList;
class   Settings;
class   SourceManager;
class   SourceManagerImpl;
class   StackFrame;
class   StackFrameImpl;
class   StackFrameList;
class   StackID;
class   StopInfo;
class   Stoppoint;
class   StoppointCallbackContext;
class   StoppointLocation;
class   Stream;
template <unsigned N> class StreamBuffer;
class   StreamFile;
class   StreamString;
class   StringList;
struct  StringSummaryFormat;
class   SystemRuntime;
class   TypeSummaryImpl;
class   TypeSummaryOptions;
class   Symbol;
class   SymbolContext;
class   SymbolContextList;
class   SymbolContextScope;
class   SymbolContextSpecifier;
class   SymbolFile;
class   SymbolFileType;
class   SymbolVendor;
class   Symtab;
class   SyntheticChildren;
class   SyntheticChildrenFrontEnd;
class   TypeFilterImpl;
class   TypeSystem;
#ifndef LLDB_DISABLE_PYTHON
class   ScriptedSyntheticChildren;
#endif
class   Queue;
class   QueueItem;
class   QueueImpl;
class   Target;
class   TargetList;
class   TargetProperties;
class   Thread;
class   ThreadCollection;
class   ThreadList;
class   ThreadPlan;
class   ThreadPlanBase;
class   ThreadPlanRunToAddress;
class   ThreadPlanStepInstruction;
class   ThreadPlanStepOut;
class   ThreadPlanStepOverBreakpoint;
class   ThreadPlanStepRange;
class   ThreadPlanStepThrough;
class   ThreadPlanTracer;
class   ThreadSpec;
class   TimeValue;
class   Type;
class   TypeAndOrName;
class   TypeCategoryMap;
class   TypeImpl;
class   TypeList;
class   TypeMap;
class   TypeListImpl;
class   TypeMemberImpl;
class   TypeMemberFunctionImpl;
class   TypeEnumMemberImpl;
class   TypeEnumMemberListImpl;
class   TypeFormatImpl;
class   TypeNameSpecifierImpl;
class   TypePair;
class   TypeValidatorImpl;
class   UUID;
class   UnixSignals;
class   Unwind;
class   UnwindAssembly;
class   UnwindPlan;
class   UnwindTable;
class   UserExpression;
class   UtilityFunction;
class   VMRange;
class   Value;
class   ValueList;
class   ValueObject;
class   ValueObjectChild;
class   ValueObjectConstResult;
class   ValueObjectConstResultChild;
class   ValueObjectConstResultImpl;
class   ValueObjectList;
class   ValueObjectPrinter;
class   Variable;
class   VariableList;
class   Watchpoint;
class   WatchpointList;
class   WatchpointOptions;
struct  LineEntry;

} // namespace lldb_private

//----------------------------------------------------------------------
// lldb forward declarations
//----------------------------------------------------------------------
namespace lldb {
    
    typedef std::shared_ptr<lldb_private::ABI> ABISP;
    typedef std::shared_ptr<lldb_private::Baton> BatonSP;
    typedef std::shared_ptr<lldb_private::Block> BlockSP;
    typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
    typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
    typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
    typedef std::weak_ptr<lldb_private::BreakpointSite> BreakpointSiteWP;
    typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
    typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
    typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
    typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
    typedef std::unique_ptr<lldb_private::ClangASTContext> ClangASTContextUP;
    typedef std::shared_ptr<lldb_private::ClangASTImporter> ClangASTImporterSP;
    typedef std::unique_ptr<lldb_private::ClangModulesDeclVendor> ClangModulesDeclVendorUP;
    typedef std::unique_ptr<lldb_private::ClangPersistentVariables> ClangPersistentVariablesUP;
    typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
    typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
    typedef std::shared_ptr<lldb_private::Communication> CommunicationSP;
    typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
    typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
    typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
    typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
    typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
    typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
    typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
    typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions> DynamicCheckerFunctionsUP;
    typedef std::shared_ptr<lldb_private::DynamicLoader> DynamicLoaderSP;
    typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
    typedef std::shared_ptr<lldb_private::Event> EventSP;
    typedef std::shared_ptr<lldb_private::ExecutionContextRef> ExecutionContextRefSP;
    typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
    typedef std::shared_ptr<lldb_private::File> FileSP;
    typedef std::shared_ptr<lldb_private::Function> FunctionSP;
    typedef std::shared_ptr<lldb_private::FunctionCaller> FunctionCallerSP;
    typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
    typedef std::unique_ptr<lldb_private::GoASTContext> GoASTContextUP;
    typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
    typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
    typedef std::shared_ptr<lldb_private::InstrumentationRuntime> InstrumentationRuntimeSP;
    typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
    typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
    typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
    typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
    typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
    typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
    typedef std::shared_ptr<lldb_private::SystemRuntime> SystemRuntimeSP;
    typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
    typedef std::shared_ptr<lldb_private::LineTable> LineTableSP;
    typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
    typedef std::shared_ptr<lldb_private::LogChannel> LogChannelSP;
    typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
    typedef std::shared_ptr<lldb_private::Module> ModuleSP;
    typedef std::weak_ptr<lldb_private::Module> ModuleWP;
    typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
    typedef std::weak_ptr<lldb_private::ObjectFile> ObjectFileWP;
    typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate> ObjectFileJITDelegateSP;
    typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate> ObjectFileJITDelegateWP;
    typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
    typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
    typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
    typedef std::shared_ptr<lldb_private::OptionValueArch> OptionValueArchSP;
    typedef std::shared_ptr<lldb_private::OptionValueArgs> OptionValueArgsSP;
    typedef std::shared_ptr<lldb_private::OptionValueArray> OptionValueArraySP;
    typedef std::shared_ptr<lldb_private::OptionValueBoolean> OptionValueBooleanSP;
    typedef std::shared_ptr<lldb_private::OptionValueDictionary> OptionValueDictionarySP;
    typedef std::shared_ptr<lldb_private::OptionValueFileSpec> OptionValueFileSpecSP;
    typedef std::shared_ptr<lldb_private::OptionValueFileSpecList> OptionValueFileSpecListSP;
    typedef std::shared_ptr<lldb_private::OptionValueFormat> OptionValueFormatSP;
    typedef std::shared_ptr<lldb_private::OptionValuePathMappings> OptionValuePathMappingsSP;
    typedef std::shared_ptr<lldb_private::OptionValueProperties> OptionValuePropertiesSP;
    typedef std::shared_ptr<lldb_private::OptionValueRegex> OptionValueRegexSP;
    typedef std::shared_ptr<lldb_private::OptionValueSInt64> OptionValueSInt64SP;
    typedef std::shared_ptr<lldb_private::OptionValueString> OptionValueStringSP;
    typedef std::shared_ptr<lldb_private::OptionValueUInt64> OptionValueUInt64SP;
    typedef std::shared_ptr<lldb_private::OptionValueUUID> OptionValueUUIDSP;
    typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
    typedef std::shared_ptr<lldb_private::Process> ProcessSP;
    typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
    typedef std::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
    typedef std::weak_ptr<lldb_private::Process> ProcessWP;
    typedef std::shared_ptr<lldb_private::Property> PropertySP;
    typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
    typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
    typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
    typedef std::shared_ptr<lldb_private::Queue> QueueSP;
    typedef std::weak_ptr<lldb_private::Queue> QueueWP;
    typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
    typedef std::shared_ptr<lldb_private::REPL> REPLSP;
    typedef std::shared_ptr<lldb_private::ScriptSummaryFormat> ScriptSummaryFormatSP;
    typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
    typedef std::unique_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterUP;
    typedef std::shared_ptr<lldb_private::Section> SectionSP;
    typedef std::unique_ptr<lldb_private::SectionList> SectionListUP;
    typedef std::weak_ptr<lldb_private::Section> SectionWP;
    typedef std::shared_ptr<lldb_private::SectionLoadList> SectionLoadListSP;
    typedef std::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
    typedef std::shared_ptr<lldb_private::Settings> SettingsSP;
    typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
    typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
    typedef std::unique_ptr<lldb_private::StackFrame> StackFrameUP;
    typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
    typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
    typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
    typedef std::shared_ptr<lldb_private::StoppointLocation> StoppointLocationSP;
    typedef std::shared_ptr<lldb_private::Stream> StreamSP;
    typedef std::weak_ptr<lldb_private::Stream> StreamWP;
    typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
    typedef std::shared_ptr<lldb_private::StringSummaryFormat> StringTypeSummaryImplSP;
    typedef std::shared_ptr<lldb_private::SymbolFile> SymbolFileSP;
    typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
    typedef std::weak_ptr<lldb_private::SymbolFileType> SymbolFileTypeWP;
    typedef std::shared_ptr<lldb_private::SymbolContextSpecifier> SymbolContextSpecifierSP;
    typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
    typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
    typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd> SyntheticChildrenFrontEndSP;
    typedef std::shared_ptr<lldb_private::Target> TargetSP;
    typedef std::weak_ptr<lldb_private::Target> TargetWP;
    typedef std::shared_ptr<lldb_private::TargetProperties> TargetPropertiesSP;
    typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
    typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
    typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
    typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
    typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
    typedef std::shared_ptr<lldb_private::Type> TypeSP;
    typedef std::weak_ptr<lldb_private::Type> TypeWP;
    typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
    typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
    typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl> TypeMemberFunctionImplSP;
    typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
    typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
    typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
    typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
    typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl> TypeNameSpecifierImplSP;
    typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
    typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
    typedef std::shared_ptr<lldb_private::TypeValidatorImpl> TypeValidatorImplSP;
#ifndef LLDB_DISABLE_PYTHON
    typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren> ScriptedSyntheticChildrenSP;
#endif
    typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
    typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
    typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
    typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
    typedef std::shared_ptr<lldb_private::UtilityFunction> UtilityFunctionSP;
    typedef lldb_private::SharingPtr<lldb_private::ValueObject> ValueObjectSP;
    typedef std::shared_ptr<lldb_private::Value> ValueSP;
    typedef std::shared_ptr<lldb_private::ValueList> ValueListSP;
    typedef std::shared_ptr<lldb_private::Variable> VariableSP;
    typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
    typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
    typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;

} // namespace lldb


#endif  // #if defined(__cplusplus)
#endif  // LLDB_lldb_forward_h_