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