9 #ifndef LLDB_LLDB_FORWARD_H
10 #define LLDB_LLDB_FORWARD_H
12 #if defined(__cplusplus)
20 class ASTResultSynthesizer;
21 class ASTStructExtractor;
24 class AddressResolver;
33 class BreakpointIDList;
35 class BreakpointLocation;
36 class BreakpointLocationCollection;
37 class BreakpointLocationList;
39 class BreakpointOptionGroup;
40 class BreakpointOptions;
41 class BreakpointPrecondition;
42 class BreakpointResolver;
44 class BreakpointSiteList;
45 class BroadcastEventSpec;
47 class BroadcasterManager;
48 class CXXSyntheticChildren;
49 struct CacheSignature;
51 class CommandInterpreter;
52 class CommandInterpreterRunOptions;
54 class CommandObjectMultiword;
55 class CommandReturnObject;
57 class CompactUnwindInfo;
60 class CompilerDeclContext;
63 class ConnectionFileDescriptor;
65 class ConstStringTable;
66 class DWARFCallFrameInfo;
67 class DWARFDataExtractor;
68 class DWARFExpression;
77 class DiagnosticManager;
79 class DumpValueObjectOptions;
80 class DynamicCheckerFunctions;
83 class EmulateInstruction;
85 class EvaluateExpressionOptions;
88 class EventDataStructuredData;
89 class ExecutionContext;
90 class ExecutionContextRef;
91 class ExecutionContextScope;
93 class ExpressionTypeSystemHelper;
94 class ExpressionVariable;
95 class ExpressionVariableList;
101 class FormattersMatchCandidate;
104 class FunctionCaller;
108 class IRExecutionUnit;
109 class InlineFunctionInfo;
111 class InstructionList;
112 class InstrumentationRuntime;
116 class LanguageCategory;
117 class LanguageRuntime;
124 class MemoryRegionInfo;
125 class MemoryRegionInfos;
129 class ModuleSpecList;
130 class ObjectContainer;
132 class ObjectFileJITDelegate;
133 class OperatingSystem;
135 class OptionGroupOptions;
136 class OptionGroupPlatform;
138 class OptionValueArch;
139 class OptionValueArgs;
140 class OptionValueArray;
141 class OptionValueBoolean;
142 class OptionValueChar;
143 class OptionValueDictionary;
144 class OptionValueEnumeration;
145 class OptionValueFileSpec;
146 class OptionValueFileSpecList;
147 class OptionValueFormat;
148 class OptionValueFormatEntity;
149 class OptionValueLanguage;
150 class OptionValuePathMappings;
151 class OptionValueProperties;
152 class OptionValueRegex;
153 class OptionValueSInt64;
154 class OptionValueString;
155 class OptionValueUInt64;
156 class OptionValueUUID;
158 class PathMappingList;
159 class PersistentExpressionState;
162 class ProcessAttachInfo;
164 class ProcessInstanceInfo;
165 class ProcessInstanceInfoMatch;
166 class ProcessLaunchInfo;
173 class RecognizedStackFrame;
174 class RegisterCheckpoint;
175 class RegisterContext;
178 class RichManglingContext;
180 class ScriptInterpreter;
181 class ScriptInterpreterLocker;
182 class ScriptedProcessInterface;
183 class ScriptedThreadInterface;
184 class ScriptedSyntheticChildren;
188 class SectionLoadHistory;
189 class SectionLoadList;
192 class SourceManagerImpl;
194 class StackFrameList;
195 class StackFrameRecognizer;
196 class StackFrameRecognizerManager;
201 class StoppointCallbackContext;
206 class StringTableReader;
207 class StructuredDataImpl;
208 class StructuredDataPlugin;
211 class SymbolContextList;
212 class SymbolContextScope;
213 class SymbolContextSpecifier;
215 class SymbolFileType;
218 class SyntheticChildren;
219 class SyntheticChildrenFrontEnd;
223 class TargetProperties;
225 class ThreadCollection;
228 class ThreadPlanBase;
229 class ThreadPlanRunToAddress;
230 class ThreadPlanStepInstruction;
231 class ThreadPlanStepOut;
232 class ThreadPlanStepOverBreakpoint;
233 class ThreadPlanStepRange;
234 class ThreadPlanStepThrough;
235 class ThreadPlanTracer;
237 class ThreadPostMortemTrace;
243 class TypeCategoryImpl;
244 class TypeCategoryMap;
245 class TypeEnumMemberImpl;
246 class TypeEnumMemberListImpl;
247 class TypeFilterImpl;
248 class TypeFormatImpl;
253 class TypeMemberFunctionImpl;
254 class TypeMemberImpl;
255 class TypeNameSpecifierImpl;
256 class TypeSummaryImpl;
257 class TypeSummaryOptions;
262 class UnwindAssembly;
265 class UserExpression;
266 class UtilityFunction;
271 class ValueObjectChild;
272 class ValueObjectConstResult;
273 class ValueObjectConstResultChild;
274 class ValueObjectConstResultImpl;
275 class ValueObjectList;
276 class ValueObjectPrinter;
280 class WatchpointList;
281 class WatchpointOptions;
282 struct CompilerContext;
284 struct PropertyDefinition;
285 struct ScriptSummaryFormat;
286 struct StringSummaryFormat;
287 template <
unsigned N>
class StreamBuffer;
294 typedef std::shared_ptr<lldb_private::ABI> ABISP;
295 typedef std::shared_ptr<lldb_private::Baton> BatonSP;
296 typedef std::shared_ptr<lldb_private::Block> BlockSP;
297 typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
298 typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
299 typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
300 typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
301 typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
302 typedef std::shared_ptr<lldb_private::BreakpointPrecondition>
303 BreakpointPreconditionSP;
304 typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
305 typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
306 typedef std::shared_ptr<lldb_private::BroadcasterManager> BroadcasterManagerSP;
307 typedef std::weak_ptr<lldb_private::BroadcasterManager> BroadcasterManagerWP;
308 typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
309 typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
310 typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
311 typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
312 typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
313 typedef std::shared_ptr<lldb_private::WritableDataBuffer> WritableDataBufferSP;
314 typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
315 typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
316 typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
317 typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
318 typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
319 DynamicCheckerFunctionsUP;
320 typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
321 typedef std::shared_ptr<lldb_private::Event> EventSP;
322 typedef std::shared_ptr<lldb_private::EventData> EventDataSP;
323 typedef std::shared_ptr<lldb_private::EventDataStructuredData>
324 EventDataStructuredDataSP;
325 typedef std::shared_ptr<lldb_private::ExecutionContextRef>
326 ExecutionContextRefSP;
327 typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
328 typedef std::unique_ptr<lldb_private::File> FileUP;
329 typedef std::shared_ptr<lldb_private::File> FileSP;
330 typedef std::shared_ptr<lldb_private::Function> FunctionSP;
331 typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
332 typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
333 typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
334 typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
335 InstrumentationRuntimeSP;
336 typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
337 typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
338 typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
339 typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
340 typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
341 typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
342 typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
343 typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
344 typedef std::weak_ptr<lldb_private::Listener> ListenerWP;
345 typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
346 typedef std::unique_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoUP;
347 typedef std::shared_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoSP;
348 typedef std::shared_ptr<lldb_private::Module> ModuleSP;
349 typedef std::weak_ptr<lldb_private::Module> ModuleWP;
350 typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
351 typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
352 ObjectFileJITDelegateSP;
353 typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
354 ObjectFileJITDelegateWP;
355 typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
356 typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
357 typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
358 typedef std::shared_ptr<lldb_private::OptionValueProperties>
359 OptionValuePropertiesSP;
360 typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
361 typedef std::shared_ptr<lldb_private::Process> ProcessSP;
362 typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
363 typedef std::weak_ptr<lldb_private::Process> ProcessWP;
364 typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
365 typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
366 typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
367 typedef std::shared_ptr<lldb_private::Queue> QueueSP;
368 typedef std::weak_ptr<lldb_private::Queue> QueueWP;
369 typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
370 typedef std::shared_ptr<lldb_private::REPL> REPLSP;
371 typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
372 RecognizedStackFrameSP;
373 typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
374 ScriptSummaryFormatSP;
375 typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
376 typedef std::unique_ptr<lldb_private::ScriptedProcessInterface>
377 ScriptedProcessInterfaceUP;
378 typedef std::shared_ptr<lldb_private::ScriptedThreadInterface>
379 ScriptedThreadInterfaceSP;
380 typedef std::shared_ptr<lldb_private::Section> SectionSP;
381 typedef std::unique_ptr<lldb_private::SectionList> SectionListUP;
382 typedef std::weak_ptr<lldb_private::Section> SectionWP;
383 typedef std::shared_ptr<lldb_private::SectionLoadList> SectionLoadListSP;
384 typedef std::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
385 typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
386 typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
387 typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
388 typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
389 typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
390 StackFrameRecognizerSP;
391 typedef std::unique_ptr<lldb_private::StackFrameRecognizerManager>
392 StackFrameRecognizerManagerUP;
393 typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
394 typedef std::shared_ptr<lldb_private::Stream> StreamSP;
395 typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
396 typedef std::shared_ptr<lldb_private::StringSummaryFormat>
397 StringTypeSummaryImplSP;
398 typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
399 typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
400 StructuredDataPluginSP;
401 typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
402 StructuredDataPluginWP;
403 typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
404 typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
405 SymbolContextSpecifierSP;
406 typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
407 typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
408 typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
409 SyntheticChildrenFrontEndSP;
410 typedef std::shared_ptr<lldb_private::Target> TargetSP;
411 typedef std::weak_ptr<lldb_private::Target> TargetWP;
412 typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
413 typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
414 typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
415 typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
416 typedef std::shared_ptr<lldb_private::ThreadPostMortemTrace>
417 ThreadPostMortemTraceSP;
418 typedef std::weak_ptr<lldb_private::ThreadPlan> ThreadPlanWP;
419 typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
420 typedef std::shared_ptr<lldb_private::Trace> TraceSP;
421 typedef std::unique_ptr<lldb_private::TraceExporter> TraceExporterUP;
422 typedef std::unique_ptr<lldb_private::TraceCursor> TraceCursorUP;
423 typedef std::shared_ptr<lldb_private::Type> TypeSP;
424 typedef std::weak_ptr<lldb_private::Type> TypeWP;
425 typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
426 typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
427 typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
428 TypeMemberFunctionImplSP;
429 typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
430 typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
431 typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
432 typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
433 typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
434 TypeNameSpecifierImplSP;
435 typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
436 typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
437 typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
438 ScriptedSyntheticChildrenSP;
439 typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
440 typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
441 typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
442 typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
443 typedef std::shared_ptr<lldb_private::ValueObject> ValueObjectSP;
444 typedef std::shared_ptr<lldb_private::Value> ValueSP;
445 typedef std::shared_ptr<lldb_private::Variable> VariableSP;
446 typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
447 typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
448 typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
452 #endif // #if defined(__cplusplus)
453 #endif // LLDB_LLDB_FORWARD_H