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 
15 
16 // lldb forward declarations
17 namespace lldb_private {
18 
19 class ABI;
20 class Address;
21 class AddressImpl;
22 class AddressRange;
23 class AddressResolver;
24 class ArchSpec;
25 class ArmUnwindInfo;
26 class Args;
27 class ASTResultSynthesizer;
28 class ASTStructExtractor;
29 class Baton;
30 class Block;
31 class Breakpoint;
32 class BreakpointID;
33 class BreakpointIDList;
34 class BreakpointList;
35 class BreakpointLocation;
36 class BreakpointLocationCollection;
37 class BreakpointLocationList;
38 class BreakpointName;
39 class BreakpointOptionGroup;
40 class BreakpointOptions;
41 class BreakpointResolver;
42 class BreakpointSite;
43 class BreakpointSiteList;
44 class BroadcastEventSpec;
45 class Broadcaster;
46 class BroadcasterManager;
47 class CPPLanguageRuntime;
48 class ClangASTContext;
49 class ClangASTImporter;
50 class ClangASTMetadata;
51 class ClangASTSource;
52 class ClangExpressionDeclMap;
53 class ClangExpressionParser;
54 class ClangExpressionVariable;
55 class ClangExpressionVariables;
56 class ClangModulesDeclVendor;
57 class ClangPersistentVariables;
58 class CommandInterpreter;
59 class CommandInterpreterRunOptions;
60 class CommandObject;
61 class CommandObjectMultiword;
62 class CommandReturnObject;
63 class Communication;
64 class CompactUnwindInfo;
65 struct CompilerContext;
66 class CompilerDecl;
67 class CompilerDeclContext;
68 class CompilerType;
69 class CompileUnit;
70 class Condition;
71 class Connection;
72 class ConnectionFileDescriptor;
73 class ConstString;
74 class CXXSyntheticChildren;
75 class DWARFCallFrameInfo;
76 class DWARFDataExtractor;
77 class DWARFExpression;
78 class DataBuffer;
79 class DataEncoder;
80 class DataExtractor;
81 class Debugger;
82 class Declaration;
83 class DiagnosticManager;
84 class Disassembler;
85 class DumpValueObjectOptions;
86 class DynamicCheckerFunctions;
87 class DynamicLoader;
88 class Editline;
89 class EmulateInstruction;
90 class Status;
91 class EvaluateExpressionOptions;
92 class Event;
93 class EventData;
94 class EventDataStructuredData;
95 class ExecutionContext;
96 class ExecutionContextRef;
97 class ExecutionContextRefLocker;
98 class ExecutionContextScope;
99 class Expression;
100 class ExpressionVariable;
101 class ExpressionVariableList;
102 class ExpressionTypeSystemHelper;
103 class File;
104 class FileSpec;
105 class FileSpecList;
106 class Flags;
107 class TypeCategoryImpl;
108 class FormatManager;
109 class FormattersMatchCandidate;
110 class FuncUnwinders;
111 class Function;
112 class FunctionInfo;
113 class InlineFunctionInfo;
114 class Instruction;
115 class InstructionList;
116 class InstrumentationRuntime;
117 class IOHandler;
118 class IOObject;
119 class IRExecutionUnit;
120 class JITLoader;
121 class JITLoaderList;
122 class Language;
123 class LanguageCategory;
124 class LanguageRuntime;
125 class LineTable;
126 class Listener;
127 class Log;
128 class Mangled;
129 class Materializer;
130 class MemoryHistory;
131 class MemoryRegionInfo;
132 class MemoryRegionInfos;
133 class Module;
134 class ModuleList;
135 class ModuleSpec;
136 class ModuleSpecList;
137 class Mutex;
138 struct NameSearchContext;
139 class ObjCLanguageRuntime;
140 class ObjCRuntimeSyntheticProvider;
141 class ObjectContainer;
142 class OptionGroup;
143 class OptionGroupOptions;
144 class OptionGroupPlatform;
145 class ObjectFile;
146 class ObjectFileJITDelegate;
147 class OperatingSystem;
148 class Options;
149 class OptionValue;
150 class OptionValueArch;
151 class OptionValueArgs;
152 class OptionValueArray;
153 class OptionValueBoolean;
154 class OptionValueChar;
155 class OptionValueDictionary;
156 class OptionValueEnumeration;
157 class OptionValueFileSpec;
158 class OptionValueFileSpecList;
159 class OptionValueFormat;
160 class OptionValueLanguage;
161 class OptionValueFormatEntity;
162 class OptionValuePathMappings;
163 class OptionValueProperties;
164 class OptionValueRegex;
165 class OptionValueSInt64;
166 class OptionValueString;
167 class OptionValueUInt64;
168 class OptionValueUUID;
169 class NamedOption;
170 class PathMappingList;
171 class FunctionCaller;
172 class PersistentExpressionState;
173 class Platform;
174 class Process;
175 class ProcessAttachInfo;
176 class ProcessModID;
177 class ProcessInfo;
178 class ProcessInstanceInfo;
179 class ProcessInstanceInfoList;
180 class ProcessInstanceInfoMatch;
181 class ProcessLaunchInfo;
182 class Property;
183 struct PropertyDefinition;
184 class RecognizedStackFrame;
185 class RegisterCheckpoint;
186 class RegisterContext;
187 class RegisterLocation;
188 class RegisterLocationList;
189 class RegisterValue;
190 class RegularExpression;
191 class REPL;
192 class RichManglingContext;
193 class Scalar;
194 class ScriptInterpreter;
195 class ScriptInterpreterLocker;
196 struct ScriptSummaryFormat;
197 class SearchFilter;
198 class Section;
199 class SectionImpl;
200 class SectionList;
201 class SectionLoadHistory;
202 class SectionLoadList;
203 class Settings;
204 class SourceManager;
205 class SourceManagerImpl;
206 class StackFrame;
207 class StackFrameImpl;
208 class StackFrameList;
209 class StackFrameRecognizer;
210 class StackFrameRecognizerManager;
211 class StackID;
212 class StopInfo;
213 class Stoppoint;
214 class StoppointCallbackContext;
215 class StoppointLocation;
216 class Stream;
217 template <unsigned N> class StreamBuffer;
218 class StreamFile;
219 class StreamString;
220 class StringList;
221 struct StringSummaryFormat;
222 class StructuredDataImpl;
223 class StructuredDataPlugin;
224 class SystemRuntime;
225 class TypeSummaryImpl;
226 class TypeSummaryOptions;
227 class Symbol;
228 class SymbolContext;
229 class SymbolContextList;
230 class SymbolContextScope;
231 class SymbolContextSpecifier;
232 class SymbolFile;
233 class SymbolFileType;
234 class SymbolVendor;
235 class Symtab;
236 class SyntheticChildren;
237 class SyntheticChildrenFrontEnd;
238 class TypeFilterImpl;
239 class TypeSystem;
240 class ScriptedSyntheticChildren;
241 class Queue;
242 class QueueItem;
243 class QueueImpl;
244 class Target;
245 class TargetList;
246 class TargetProperties;
247 class Thread;
248 class ThreadCollection;
249 class ThreadList;
250 class ThreadPlan;
251 class ThreadPlanBase;
252 class ThreadPlanRunToAddress;
253 class ThreadPlanStepInstruction;
254 class ThreadPlanStepOut;
255 class ThreadPlanStepOverBreakpoint;
256 class ThreadPlanStepRange;
257 class ThreadPlanStepThrough;
258 class ThreadPlanTracer;
259 class ThreadSpec;
260 class TraceOptions;
261 class Type;
262 class TypeAndOrName;
263 class TypeCategoryMap;
264 class TypeImpl;
265 class TypeList;
266 class TypeMap;
267 class TypeListImpl;
268 class TypeMemberImpl;
269 class TypeMemberFunctionImpl;
270 class TypeEnumMemberImpl;
271 class TypeEnumMemberListImpl;
272 class TypeFormatImpl;
273 class TypeNameSpecifierImpl;
274 class TypeValidatorImpl;
275 class UUID;
276 class UnixSignals;
277 class Unwind;
278 class UnwindAssembly;
279 class UnwindPlan;
280 class UnwindTable;
281 class UserExpression;
282 class UtilityFunction;
283 class VMRange;
284 class Value;
285 class ValueList;
286 class ValueObject;
287 class ValueObjectChild;
288 class ValueObjectConstResult;
289 class ValueObjectConstResultChild;
290 class ValueObjectConstResultImpl;
291 class ValueObjectList;
292 class ValueObjectPrinter;
293 class Variable;
294 class VariableList;
295 class Watchpoint;
296 class WatchpointList;
297 class WatchpointOptions;
298 struct LineEntry;
299 
300 } // namespace lldb_private
301 
302 // lldb forward declarations
303 namespace lldb {
304 
305 typedef std::shared_ptr<lldb_private::ABI> ABISP;
306 typedef std::shared_ptr<lldb_private::Baton> BatonSP;
307 typedef std::shared_ptr<lldb_private::Block> BlockSP;
308 typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
309 typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
310 typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
311 typedef std::weak_ptr<lldb_private::BreakpointSite> BreakpointSiteWP;
312 typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
313 typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
314 typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
315 typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
316 typedef std::shared_ptr<lldb_private::BroadcasterManager> BroadcasterManagerSP;
317 typedef std::weak_ptr<lldb_private::BroadcasterManager> BroadcasterManagerWP;
318 typedef std::unique_ptr<lldb_private::ClangASTContext> ClangASTContextUP;
319 typedef std::shared_ptr<lldb_private::ClangASTImporter> ClangASTImporterSP;
320 typedef std::unique_ptr<lldb_private::ClangModulesDeclVendor>
321  ClangModulesDeclVendorUP;
322 typedef std::unique_ptr<lldb_private::ClangPersistentVariables>
323  ClangPersistentVariablesUP;
324 typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
325 typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
326 typedef std::shared_ptr<lldb_private::Communication> CommunicationSP;
327 typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
328 typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
329 typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
330 typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
331 typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
332 typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
333 typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
334 typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
335  DynamicCheckerFunctionsUP;
336 typedef std::shared_ptr<lldb_private::DynamicLoader> DynamicLoaderSP;
337 typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
338 typedef std::shared_ptr<lldb_private::Event> EventSP;
339 typedef std::shared_ptr<lldb_private::EventData> EventDataSP;
340 typedef std::shared_ptr<lldb_private::EventDataStructuredData>
341  EventDataStructuredDataSP;
342 typedef std::shared_ptr<lldb_private::ExecutionContextRef>
343  ExecutionContextRefSP;
344 typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
345 typedef std::shared_ptr<lldb_private::File> FileSP;
346 typedef std::shared_ptr<lldb_private::Function> FunctionSP;
347 typedef std::shared_ptr<lldb_private::FunctionCaller> FunctionCallerSP;
348 typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
349 typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
350 typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
351 typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
352  InstrumentationRuntimeSP;
353 typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
354 typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
355 typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
356 typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
357 typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
358 typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
359 typedef std::shared_ptr<lldb_private::SystemRuntime> SystemRuntimeSP;
360 typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
361 typedef std::shared_ptr<lldb_private::LineTable> LineTableSP;
362 typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
363 typedef std::weak_ptr<lldb_private::Listener> ListenerWP;
364 typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
365 typedef std::unique_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoUP;
366 typedef std::shared_ptr<lldb_private::Module> ModuleSP;
367 typedef std::weak_ptr<lldb_private::Module> ModuleWP;
368 typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
369 typedef std::weak_ptr<lldb_private::ObjectFile> ObjectFileWP;
370 typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
371  ObjectFileJITDelegateSP;
372 typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
373  ObjectFileJITDelegateWP;
374 typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
375 typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
376 typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
377 typedef std::shared_ptr<lldb_private::OptionValueArch> OptionValueArchSP;
378 typedef std::shared_ptr<lldb_private::OptionValueArgs> OptionValueArgsSP;
379 typedef std::shared_ptr<lldb_private::OptionValueArray> OptionValueArraySP;
380 typedef std::shared_ptr<lldb_private::OptionValueBoolean> OptionValueBooleanSP;
381 typedef std::shared_ptr<lldb_private::OptionValueDictionary>
382  OptionValueDictionarySP;
383 typedef std::shared_ptr<lldb_private::OptionValueFileSpec>
384  OptionValueFileSpecSP;
385 typedef std::shared_ptr<lldb_private::OptionValueFileSpecList>
386  OptionValueFileSpecListSP;
387 typedef std::shared_ptr<lldb_private::OptionValueFormat> OptionValueFormatSP;
388 typedef std::shared_ptr<lldb_private::OptionValuePathMappings>
389  OptionValuePathMappingsSP;
390 typedef std::shared_ptr<lldb_private::OptionValueProperties>
391  OptionValuePropertiesSP;
392 typedef std::shared_ptr<lldb_private::OptionValueRegex> OptionValueRegexSP;
393 typedef std::shared_ptr<lldb_private::OptionValueSInt64> OptionValueSInt64SP;
394 typedef std::shared_ptr<lldb_private::OptionValueString> OptionValueStringSP;
395 typedef std::shared_ptr<lldb_private::OptionValueUInt64> OptionValueUInt64SP;
396 typedef std::shared_ptr<lldb_private::OptionValueUUID> OptionValueUUIDSP;
397 typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
398 typedef std::shared_ptr<lldb_private::Process> ProcessSP;
399 typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
400 typedef std::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
401 typedef std::weak_ptr<lldb_private::Process> ProcessWP;
402 typedef std::shared_ptr<lldb_private::Property> PropertySP;
403 typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
404 typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
405 typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
406 typedef std::shared_ptr<lldb_private::Queue> QueueSP;
407 typedef std::weak_ptr<lldb_private::Queue> QueueWP;
408 typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
409 typedef std::shared_ptr<lldb_private::REPL> REPLSP;
410 typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
411  RecognizedStackFrameSP;
412 typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
413  ScriptSummaryFormatSP;
414 typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
415 typedef std::unique_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterUP;
416 typedef std::shared_ptr<lldb_private::Section> SectionSP;
417 typedef std::unique_ptr<lldb_private::SectionList> SectionListUP;
418 typedef std::weak_ptr<lldb_private::Section> SectionWP;
419 typedef std::shared_ptr<lldb_private::SectionLoadList> SectionLoadListSP;
420 typedef std::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
421 typedef std::shared_ptr<lldb_private::Settings> SettingsSP;
422 typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
423 typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
424 typedef std::unique_ptr<lldb_private::StackFrame> StackFrameUP;
425 typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
426 typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
427 typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
428  StackFrameRecognizerSP;
429 typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
430 typedef std::shared_ptr<lldb_private::StoppointLocation> StoppointLocationSP;
431 typedef std::shared_ptr<lldb_private::Stream> StreamSP;
432 typedef std::weak_ptr<lldb_private::Stream> StreamWP;
433 typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
434 typedef std::shared_ptr<lldb_private::StringSummaryFormat>
435  StringTypeSummaryImplSP;
436 typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
437 typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
438  StructuredDataPluginSP;
439 typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
440  StructuredDataPluginWP;
441 typedef std::shared_ptr<lldb_private::SymbolFile> SymbolFileSP;
442 typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
443 typedef std::weak_ptr<lldb_private::SymbolFileType> SymbolFileTypeWP;
444 typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
445  SymbolContextSpecifierSP;
446 typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
447 typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
448 typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
449  SyntheticChildrenFrontEndSP;
450 typedef std::shared_ptr<lldb_private::Target> TargetSP;
451 typedef std::weak_ptr<lldb_private::Target> TargetWP;
452 typedef std::shared_ptr<lldb_private::TargetProperties> TargetPropertiesSP;
453 typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
454 typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
455 typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
456 typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
457 typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
458 typedef std::shared_ptr<lldb_private::TraceOptions> TraceOptionsSP;
459 typedef std::shared_ptr<lldb_private::Type> TypeSP;
460 typedef std::weak_ptr<lldb_private::Type> TypeWP;
461 typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
462 typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
463 typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
464  TypeMemberFunctionImplSP;
465 typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
466 typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
467 typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
468 typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
469 typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
470  TypeNameSpecifierImplSP;
471 typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
472 typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
473 typedef std::shared_ptr<lldb_private::TypeValidatorImpl> TypeValidatorImplSP;
474 typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
475  ScriptedSyntheticChildrenSP;
476 typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
477 typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
478 typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
479 typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
480 typedef std::shared_ptr<lldb_private::UtilityFunction> UtilityFunctionSP;
482 typedef std::shared_ptr<lldb_private::Value> ValueSP;
483 typedef std::shared_ptr<lldb_private::ValueList> ValueListSP;
484 typedef std::shared_ptr<lldb_private::Variable> VariableSP;
485 typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
486 typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
487 typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
488 
489 } // namespace lldb
490 
491 // llvm forward declarations
492 namespace llvm {
493 
494 struct ItaniumPartialDemangler;
495 class StringRef;
496 
497 } // namespace llvm
498 
499 #endif // #if defined(__cplusplus)
500 #endif // LLDB_lldb_forward_h_
Enumerations for broadcasting.
Definition: SBLaunchInfo.h:14
Definition: Debugger.h:71
Definition: SBAddress.h:15