blob: a297a928a3f4ca968f21ffd550f5692ea5397b89 [file] [log] [blame]
Andrew Walbran3d2c1972020-04-07 12:24:26 +01001//===-- 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
Olivier Deprezf4ef2d02021-04-20 13:36:24 +02009#ifndef LLDB_LLDB_FORWARD_H
10#define LLDB_LLDB_FORWARD_H
Andrew Walbran3d2c1972020-04-07 12:24:26 +010011
12#if defined(__cplusplus)
13
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020014#include <memory>
Andrew Walbran3d2c1972020-04-07 12:24:26 +010015
16// lldb forward declarations
17namespace lldb_private {
18
19class ABI;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020020class ASTResultSynthesizer;
21class ASTStructExtractor;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010022class Address;
23class AddressRange;
24class AddressResolver;
25class ArchSpec;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020026class Architecture;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010027class Args;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020028class ArmUnwindInfo;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010029class 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;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020048class CXXSyntheticChildren;
49class CallFrameInfo;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010050class CommandInterpreter;
51class CommandInterpreterRunOptions;
52class CommandObject;
53class CommandObjectMultiword;
54class CommandReturnObject;
55class Communication;
56class CompactUnwindInfo;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020057class CompileUnit;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010058class CompilerDecl;
59class CompilerDeclContext;
60class CompilerType;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010061class Connection;
62class ConnectionFileDescriptor;
63class ConstString;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010064class DWARFCallFrameInfo;
65class DWARFDataExtractor;
66class DWARFExpression;
67class DataBuffer;
68class DataEncoder;
69class DataExtractor;
70class Debugger;
71class Declaration;
72class DiagnosticManager;
73class Disassembler;
74class DumpValueObjectOptions;
75class DynamicCheckerFunctions;
76class DynamicLoader;
77class Editline;
78class EmulateInstruction;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020079class Environment;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010080class EvaluateExpressionOptions;
81class Event;
82class EventData;
83class EventDataStructuredData;
84class ExecutionContext;
85class ExecutionContextRef;
86class ExecutionContextScope;
87class Expression;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020088class ExpressionTypeSystemHelper;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010089class ExpressionVariable;
90class ExpressionVariableList;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010091class File;
92class FileSpec;
93class FileSpecList;
94class Flags;
Andrew Walbran3d2c1972020-04-07 12:24:26 +010095class FormatManager;
96class FormattersMatchCandidate;
97class FuncUnwinders;
98class Function;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020099class FunctionCaller;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100100class FunctionInfo;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200101class IOHandler;
102class IOObject;
103class IRExecutionUnit;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100104class InlineFunctionInfo;
105class Instruction;
106class InstructionList;
107class InstrumentationRuntime;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100108class JITLoader;
109class JITLoaderList;
110class Language;
111class LanguageCategory;
112class LanguageRuntime;
113class LineTable;
114class Listener;
115class Log;
116class Mangled;
117class Materializer;
118class MemoryHistory;
119class MemoryRegionInfo;
120class MemoryRegionInfos;
121class Module;
122class ModuleList;
123class ModuleSpec;
124class ModuleSpecList;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100125class ObjectContainer;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100126class ObjectFile;
127class ObjectFileJITDelegate;
128class OperatingSystem;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200129class OptionGroup;
130class OptionGroupOptions;
131class OptionGroupPlatform;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100132class OptionValue;
133class OptionValueArch;
134class OptionValueArgs;
135class OptionValueArray;
136class OptionValueBoolean;
137class OptionValueChar;
138class OptionValueDictionary;
139class OptionValueEnumeration;
140class OptionValueFileSpec;
141class OptionValueFileSpecList;
142class OptionValueFormat;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100143class OptionValueFormatEntity;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200144class OptionValueLanguage;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100145class OptionValuePathMappings;
146class OptionValueProperties;
147class OptionValueRegex;
148class OptionValueSInt64;
149class OptionValueString;
150class OptionValueUInt64;
151class OptionValueUUID;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200152class Options;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100153class PathMappingList;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100154class PersistentExpressionState;
155class Platform;
156class Process;
157class ProcessAttachInfo;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100158class ProcessInfo;
159class ProcessInstanceInfo;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100160class ProcessInstanceInfoMatch;
161class ProcessLaunchInfo;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200162class ProcessModID;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100163class Property;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200164class Queue;
165class QueueImpl;
166class QueueItem;
167class REPL;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100168class RecognizedStackFrame;
169class RegisterCheckpoint;
170class RegisterContext;
171class RegisterValue;
172class RegularExpression;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100173class RichManglingContext;
174class Scalar;
175class ScriptInterpreter;
176class ScriptInterpreterLocker;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200177class ScriptedSyntheticChildren;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100178class SearchFilter;
179class Section;
180class SectionList;
181class SectionLoadHistory;
182class SectionLoadList;
183class Settings;
184class SourceManager;
185class SourceManagerImpl;
186class StackFrame;
187class StackFrameList;
188class StackFrameRecognizer;
189class StackFrameRecognizerManager;
190class StackID;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200191class Status;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100192class StopInfo;
193class Stoppoint;
194class StoppointCallbackContext;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100195class Stream;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100196class StreamFile;
197class StreamString;
198class StringList;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100199class StructuredDataImpl;
200class StructuredDataPlugin;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100201class Symbol;
202class SymbolContext;
203class SymbolContextList;
204class SymbolContextScope;
205class SymbolContextSpecifier;
206class SymbolFile;
207class SymbolFileType;
208class SymbolVendor;
209class Symtab;
210class SyntheticChildren;
211class SyntheticChildrenFrontEnd;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200212class SystemRuntime;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100213class Target;
214class TargetList;
215class TargetProperties;
216class Thread;
217class ThreadCollection;
218class ThreadList;
219class ThreadPlan;
220class ThreadPlanBase;
221class ThreadPlanRunToAddress;
222class ThreadPlanStepInstruction;
223class ThreadPlanStepOut;
224class ThreadPlanStepOverBreakpoint;
225class ThreadPlanStepRange;
226class ThreadPlanStepThrough;
227class ThreadPlanTracer;
228class ThreadSpec;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200229class ThreadTrace;
230class Trace;
231class TraceSessionFileParser;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100232class TraceOptions;
233class Type;
234class TypeAndOrName;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200235class TypeCategoryImpl;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100236class TypeCategoryMap;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100237class TypeEnumMemberImpl;
238class TypeEnumMemberListImpl;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200239class TypeFilterImpl;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100240class TypeFormatImpl;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200241class TypeImpl;
242class TypeList;
243class TypeListImpl;
244class TypeMap;
245class TypeMemberFunctionImpl;
246class TypeMemberImpl;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100247class TypeNameSpecifierImpl;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200248class TypeSummaryImpl;
249class TypeSummaryOptions;
250class TypeSystem;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100251class UUID;
252class UnixSignals;
253class Unwind;
254class UnwindAssembly;
255class UnwindPlan;
256class UnwindTable;
257class UserExpression;
258class UtilityFunction;
259class VMRange;
260class Value;
261class ValueList;
262class ValueObject;
263class ValueObjectChild;
264class ValueObjectConstResult;
265class ValueObjectConstResultChild;
266class ValueObjectConstResultImpl;
267class ValueObjectList;
268class ValueObjectPrinter;
269class Variable;
270class VariableList;
271class Watchpoint;
272class WatchpointList;
273class WatchpointOptions;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200274struct CompilerContext;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100275struct LineEntry;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200276struct PropertyDefinition;
277struct ScriptSummaryFormat;
278struct StringSummaryFormat;
279template <unsigned N> class StreamBuffer;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100280
281} // namespace lldb_private
282
283// lldb forward declarations
284namespace lldb {
285
286typedef std::shared_ptr<lldb_private::ABI> ABISP;
287typedef std::shared_ptr<lldb_private::Baton> BatonSP;
288typedef std::shared_ptr<lldb_private::Block> BlockSP;
289typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
290typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
291typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
292typedef std::weak_ptr<lldb_private::BreakpointSite> BreakpointSiteWP;
293typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
294typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200295typedef std::shared_ptr<lldb_private::BreakpointPrecondition>
296 BreakpointPreconditionSP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100297typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
298typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
299typedef std::shared_ptr<lldb_private::BroadcasterManager> BroadcasterManagerSP;
300typedef std::weak_ptr<lldb_private::BroadcasterManager> BroadcasterManagerWP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100301typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
302typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
303typedef std::shared_ptr<lldb_private::Communication> CommunicationSP;
304typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
305typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
306typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
307typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
308typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
309typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
310typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
311typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
312 DynamicCheckerFunctionsUP;
313typedef std::shared_ptr<lldb_private::DynamicLoader> DynamicLoaderSP;
314typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
315typedef std::shared_ptr<lldb_private::Event> EventSP;
316typedef std::shared_ptr<lldb_private::EventData> EventDataSP;
317typedef std::shared_ptr<lldb_private::EventDataStructuredData>
318 EventDataStructuredDataSP;
319typedef std::shared_ptr<lldb_private::ExecutionContextRef>
320 ExecutionContextRefSP;
321typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200322typedef std::unique_ptr<lldb_private::File> FileUP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100323typedef std::shared_ptr<lldb_private::File> FileSP;
324typedef std::shared_ptr<lldb_private::Function> FunctionSP;
325typedef std::shared_ptr<lldb_private::FunctionCaller> FunctionCallerSP;
326typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
327typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
328typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
329typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
330 InstrumentationRuntimeSP;
331typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
332typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
333typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
334typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
335typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
336typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
337typedef std::shared_ptr<lldb_private::SystemRuntime> SystemRuntimeSP;
338typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
339typedef std::shared_ptr<lldb_private::LineTable> LineTableSP;
340typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
341typedef std::weak_ptr<lldb_private::Listener> ListenerWP;
342typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
343typedef std::unique_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoUP;
344typedef std::shared_ptr<lldb_private::Module> ModuleSP;
345typedef std::weak_ptr<lldb_private::Module> ModuleWP;
346typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
347typedef std::weak_ptr<lldb_private::ObjectFile> ObjectFileWP;
348typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
349 ObjectFileJITDelegateSP;
350typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
351 ObjectFileJITDelegateWP;
352typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
353typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
354typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
355typedef std::shared_ptr<lldb_private::OptionValueArch> OptionValueArchSP;
356typedef std::shared_ptr<lldb_private::OptionValueArgs> OptionValueArgsSP;
357typedef std::shared_ptr<lldb_private::OptionValueArray> OptionValueArraySP;
358typedef std::shared_ptr<lldb_private::OptionValueBoolean> OptionValueBooleanSP;
359typedef std::shared_ptr<lldb_private::OptionValueDictionary>
360 OptionValueDictionarySP;
361typedef std::shared_ptr<lldb_private::OptionValueFileSpec>
362 OptionValueFileSpecSP;
363typedef std::shared_ptr<lldb_private::OptionValueFileSpecList>
364 OptionValueFileSpecListSP;
365typedef std::shared_ptr<lldb_private::OptionValueFormat> OptionValueFormatSP;
366typedef std::shared_ptr<lldb_private::OptionValuePathMappings>
367 OptionValuePathMappingsSP;
368typedef std::shared_ptr<lldb_private::OptionValueProperties>
369 OptionValuePropertiesSP;
370typedef std::shared_ptr<lldb_private::OptionValueRegex> OptionValueRegexSP;
371typedef std::shared_ptr<lldb_private::OptionValueSInt64> OptionValueSInt64SP;
372typedef std::shared_ptr<lldb_private::OptionValueString> OptionValueStringSP;
373typedef std::shared_ptr<lldb_private::OptionValueUInt64> OptionValueUInt64SP;
374typedef std::shared_ptr<lldb_private::OptionValueUUID> OptionValueUUIDSP;
375typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
376typedef std::shared_ptr<lldb_private::Process> ProcessSP;
377typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
378typedef std::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
379typedef std::weak_ptr<lldb_private::Process> ProcessWP;
380typedef std::shared_ptr<lldb_private::Property> PropertySP;
381typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
382typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
383typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
384typedef std::shared_ptr<lldb_private::Queue> QueueSP;
385typedef std::weak_ptr<lldb_private::Queue> QueueWP;
386typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
387typedef std::shared_ptr<lldb_private::REPL> REPLSP;
388typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
389 RecognizedStackFrameSP;
390typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
391 ScriptSummaryFormatSP;
392typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
393typedef std::unique_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterUP;
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::shared_ptr<lldb_private::Settings> SettingsSP;
400typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
401typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
402typedef std::unique_ptr<lldb_private::StackFrame> StackFrameUP;
403typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
404typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
405typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
406 StackFrameRecognizerSP;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200407typedef std::unique_ptr<lldb_private::StackFrameRecognizerManager>
408 StackFrameRecognizerManagerUP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100409typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100410typedef std::shared_ptr<lldb_private::Stream> StreamSP;
411typedef std::weak_ptr<lldb_private::Stream> StreamWP;
412typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
413typedef std::shared_ptr<lldb_private::StringSummaryFormat>
414 StringTypeSummaryImplSP;
415typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
416typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
417 StructuredDataPluginSP;
418typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
419 StructuredDataPluginWP;
420typedef std::shared_ptr<lldb_private::SymbolFile> SymbolFileSP;
421typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
422typedef std::weak_ptr<lldb_private::SymbolFileType> SymbolFileTypeWP;
423typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
424 SymbolContextSpecifierSP;
425typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
426typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
427typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
428 SyntheticChildrenFrontEndSP;
429typedef std::shared_ptr<lldb_private::Target> TargetSP;
430typedef std::weak_ptr<lldb_private::Target> TargetWP;
431typedef std::shared_ptr<lldb_private::TargetProperties> TargetPropertiesSP;
432typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
433typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
434typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
435typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200436typedef std::weak_ptr<lldb_private::ThreadPlan> ThreadPlanWP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100437typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200438typedef std::shared_ptr<lldb_private::Trace> TraceSP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100439typedef std::shared_ptr<lldb_private::TraceOptions> TraceOptionsSP;
440typedef std::shared_ptr<lldb_private::Type> TypeSP;
441typedef std::weak_ptr<lldb_private::Type> TypeWP;
442typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
443typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
444typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
445 TypeMemberFunctionImplSP;
446typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
447typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
448typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
449typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
450typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
451 TypeNameSpecifierImplSP;
452typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
453typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100454typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
455 ScriptedSyntheticChildrenSP;
456typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
457typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
458typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
459typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
460typedef std::shared_ptr<lldb_private::UtilityFunction> UtilityFunctionSP;
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200461typedef std::shared_ptr<lldb_private::ValueObject> ValueObjectSP;
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100462typedef std::shared_ptr<lldb_private::Value> ValueSP;
463typedef std::shared_ptr<lldb_private::ValueList> ValueListSP;
464typedef std::shared_ptr<lldb_private::Variable> VariableSP;
465typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
466typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
467typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
468
469} // namespace lldb
470
Andrew Walbran3d2c1972020-04-07 12:24:26 +0100471#endif // #if defined(__cplusplus)
Olivier Deprezf4ef2d02021-04-20 13:36:24 +0200472#endif // LLDB_LLDB_FORWARD_H