10b57cec5SDimitry Andric //===-- lldb-forward.h ------------------------------------------*- C++ -*-===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
95ffd83dbSDimitry Andric #ifndef LLDB_LLDB_FORWARD_H
105ffd83dbSDimitry Andric #define LLDB_LLDB_FORWARD_H
110b57cec5SDimitry Andric 
125ffd83dbSDimitry Andric #include <memory>
130b57cec5SDimitry Andric 
140b57cec5SDimitry Andric // lldb forward declarations
150b57cec5SDimitry Andric namespace lldb_private {
160b57cec5SDimitry Andric 
170b57cec5SDimitry Andric class ABI;
185ffd83dbSDimitry Andric class ASTResultSynthesizer;
195ffd83dbSDimitry Andric class ASTStructExtractor;
200b57cec5SDimitry Andric class Address;
210b57cec5SDimitry Andric class AddressRange;
220b57cec5SDimitry Andric class AddressResolver;
230b57cec5SDimitry Andric class ArchSpec;
245ffd83dbSDimitry Andric class Architecture;
250b57cec5SDimitry Andric class Args;
265ffd83dbSDimitry Andric class ArmUnwindInfo;
270b57cec5SDimitry Andric class Baton;
280b57cec5SDimitry Andric class Block;
290b57cec5SDimitry Andric class Breakpoint;
300b57cec5SDimitry Andric class BreakpointID;
310b57cec5SDimitry Andric class BreakpointIDList;
320b57cec5SDimitry Andric class BreakpointList;
330b57cec5SDimitry Andric class BreakpointLocation;
340b57cec5SDimitry Andric class BreakpointLocationCollection;
350b57cec5SDimitry Andric class BreakpointLocationList;
360b57cec5SDimitry Andric class BreakpointName;
370b57cec5SDimitry Andric class BreakpointOptionGroup;
380b57cec5SDimitry Andric class BreakpointOptions;
390b57cec5SDimitry Andric class BreakpointPrecondition;
400b57cec5SDimitry Andric class BreakpointResolver;
410b57cec5SDimitry Andric class BreakpointSite;
420b57cec5SDimitry Andric class BroadcastEventSpec;
430b57cec5SDimitry Andric class Broadcaster;
440b57cec5SDimitry Andric class BroadcasterManager;
455ffd83dbSDimitry Andric class CXXSyntheticChildren;
460eae32dcSDimitry Andric struct CacheSignature;
479dba64beSDimitry Andric class CallFrameInfo;
480b57cec5SDimitry Andric class CommandInterpreter;
490b57cec5SDimitry Andric class CommandInterpreterRunOptions;
500b57cec5SDimitry Andric class CommandObject;
510b57cec5SDimitry Andric class CommandObjectMultiword;
520b57cec5SDimitry Andric class CommandReturnObject;
530b57cec5SDimitry Andric class Communication;
540b57cec5SDimitry Andric class CompactUnwindInfo;
555ffd83dbSDimitry Andric class CompileUnit;
560b57cec5SDimitry Andric class CompilerDecl;
570b57cec5SDimitry Andric class CompilerDeclContext;
580b57cec5SDimitry Andric class CompilerType;
590b57cec5SDimitry Andric class Connection;
600b57cec5SDimitry Andric class ConnectionFileDescriptor;
610b57cec5SDimitry Andric class ConstString;
620eae32dcSDimitry Andric class ConstStringTable;
630b57cec5SDimitry Andric class DWARFCallFrameInfo;
640b57cec5SDimitry Andric class DWARFDataExtractor;
650b57cec5SDimitry Andric class DWARFExpression;
66753f127fSDimitry Andric class DWARFExpressionList;
670b57cec5SDimitry Andric class DataBuffer;
6881ad6265SDimitry Andric class WritableDataBuffer;
690eae32dcSDimitry Andric class DataBufferHeap;
700b57cec5SDimitry Andric class DataEncoder;
710b57cec5SDimitry Andric class DataExtractor;
720eae32dcSDimitry Andric class DataFileCache;
730b57cec5SDimitry Andric class Debugger;
740b57cec5SDimitry Andric class Declaration;
750b57cec5SDimitry Andric class DiagnosticManager;
760b57cec5SDimitry Andric class Disassembler;
770b57cec5SDimitry Andric class DumpValueObjectOptions;
780b57cec5SDimitry Andric class DynamicCheckerFunctions;
790b57cec5SDimitry Andric class DynamicLoader;
800b57cec5SDimitry Andric class Editline;
810b57cec5SDimitry Andric class EmulateInstruction;
825ffd83dbSDimitry Andric class Environment;
830b57cec5SDimitry Andric class EvaluateExpressionOptions;
840b57cec5SDimitry Andric class Event;
850b57cec5SDimitry Andric class EventData;
860b57cec5SDimitry Andric class EventDataStructuredData;
870b57cec5SDimitry Andric class ExecutionContext;
880b57cec5SDimitry Andric class ExecutionContextRef;
890b57cec5SDimitry Andric class ExecutionContextScope;
900b57cec5SDimitry Andric class Expression;
915ffd83dbSDimitry Andric class ExpressionTypeSystemHelper;
920b57cec5SDimitry Andric class ExpressionVariable;
930b57cec5SDimitry Andric class ExpressionVariableList;
940b57cec5SDimitry Andric class File;
950b57cec5SDimitry Andric class FileSpec;
960b57cec5SDimitry Andric class FileSpecList;
970b57cec5SDimitry Andric class Flags;
985f757f3fSDimitry Andric namespace FormatEntity {
995f757f3fSDimitry Andric struct Entry;
1005f757f3fSDimitry Andric } // namespace FormatEntity
1010b57cec5SDimitry Andric class FormatManager;
1020b57cec5SDimitry Andric class FormattersMatchCandidate;
1030b57cec5SDimitry Andric class FuncUnwinders;
1040b57cec5SDimitry Andric class Function;
1055ffd83dbSDimitry Andric class FunctionCaller;
1060b57cec5SDimitry Andric class FunctionInfo;
1075ffd83dbSDimitry Andric class IOHandler;
1085ffd83dbSDimitry Andric class IOObject;
1095ffd83dbSDimitry Andric class IRExecutionUnit;
1100b57cec5SDimitry Andric class InlineFunctionInfo;
1110b57cec5SDimitry Andric class Instruction;
1120b57cec5SDimitry Andric class InstructionList;
1130b57cec5SDimitry Andric class InstrumentationRuntime;
1140b57cec5SDimitry Andric class JITLoader;
1150b57cec5SDimitry Andric class JITLoaderList;
1160b57cec5SDimitry Andric class Language;
1170b57cec5SDimitry Andric class LanguageCategory;
1180b57cec5SDimitry Andric class LanguageRuntime;
1190b57cec5SDimitry Andric class LineTable;
1200b57cec5SDimitry Andric class Listener;
1210b57cec5SDimitry Andric class Log;
1220b57cec5SDimitry Andric class Mangled;
1230b57cec5SDimitry Andric class Materializer;
1240b57cec5SDimitry Andric class MemoryHistory;
1250b57cec5SDimitry Andric class MemoryRegionInfo;
1260b57cec5SDimitry Andric class MemoryRegionInfos;
1270b57cec5SDimitry Andric class Module;
1280b57cec5SDimitry Andric class ModuleList;
1290b57cec5SDimitry Andric class ModuleSpec;
1300b57cec5SDimitry Andric class ModuleSpecList;
1310b57cec5SDimitry Andric class ObjectContainer;
1320b57cec5SDimitry Andric class ObjectFile;
1330b57cec5SDimitry Andric class ObjectFileJITDelegate;
1340b57cec5SDimitry Andric class OperatingSystem;
1355f757f3fSDimitry Andric class OperatingSystemInterface;
1365ffd83dbSDimitry Andric class OptionGroup;
1375ffd83dbSDimitry Andric class OptionGroupOptions;
1385ffd83dbSDimitry Andric class OptionGroupPlatform;
1390b57cec5SDimitry Andric class OptionValue;
1400b57cec5SDimitry Andric class OptionValueArch;
1410b57cec5SDimitry Andric class OptionValueArgs;
1420b57cec5SDimitry Andric class OptionValueArray;
1430b57cec5SDimitry Andric class OptionValueBoolean;
1440b57cec5SDimitry Andric class OptionValueChar;
1450b57cec5SDimitry Andric class OptionValueDictionary;
1460b57cec5SDimitry Andric class OptionValueEnumeration;
1470b57cec5SDimitry Andric class OptionValueFileSpec;
1480b57cec5SDimitry Andric class OptionValueFileSpecList;
1490b57cec5SDimitry Andric class OptionValueFormat;
1500b57cec5SDimitry Andric class OptionValueFormatEntity;
1515ffd83dbSDimitry Andric class OptionValueLanguage;
1520b57cec5SDimitry Andric class OptionValuePathMappings;
1530b57cec5SDimitry Andric class OptionValueProperties;
1540b57cec5SDimitry Andric class OptionValueRegex;
1550b57cec5SDimitry Andric class OptionValueSInt64;
1560b57cec5SDimitry Andric class OptionValueString;
1570b57cec5SDimitry Andric class OptionValueUInt64;
1580b57cec5SDimitry Andric class OptionValueUUID;
1595ffd83dbSDimitry Andric class Options;
1600b57cec5SDimitry Andric class PathMappingList;
1610b57cec5SDimitry Andric class PersistentExpressionState;
1620b57cec5SDimitry Andric class Platform;
1630b57cec5SDimitry Andric class Process;
1640b57cec5SDimitry Andric class ProcessAttachInfo;
165bdd1243dSDimitry Andric class ProcessLaunchInfo;
1660b57cec5SDimitry Andric class ProcessInfo;
1670b57cec5SDimitry Andric class ProcessInstanceInfo;
1680b57cec5SDimitry Andric class ProcessInstanceInfoMatch;
1690b57cec5SDimitry Andric class ProcessLaunchInfo;
1705ffd83dbSDimitry Andric class ProcessModID;
1710b57cec5SDimitry Andric class Property;
1725ffd83dbSDimitry Andric class Queue;
1735ffd83dbSDimitry Andric class QueueImpl;
1745ffd83dbSDimitry Andric class QueueItem;
1755ffd83dbSDimitry Andric class REPL;
1760b57cec5SDimitry Andric class RecognizedStackFrame;
1770b57cec5SDimitry Andric class RegisterCheckpoint;
1780b57cec5SDimitry Andric class RegisterContext;
17906c3fb27SDimitry Andric class RegisterTypeBuilder;
1800b57cec5SDimitry Andric class RegisterValue;
1810b57cec5SDimitry Andric class RegularExpression;
1820b57cec5SDimitry Andric class RichManglingContext;
1830b57cec5SDimitry Andric class Scalar;
1840b57cec5SDimitry Andric class ScriptInterpreter;
1850b57cec5SDimitry Andric class ScriptInterpreterLocker;
18606c3fb27SDimitry Andric class ScriptedMetadata;
187bdd1243dSDimitry Andric class ScriptedPlatformInterface;
188fe6060f1SDimitry Andric class ScriptedProcessInterface;
189349cc55cSDimitry Andric class ScriptedThreadInterface;
1905ffd83dbSDimitry Andric class ScriptedSyntheticChildren;
1910b57cec5SDimitry Andric class SearchFilter;
1920b57cec5SDimitry Andric class Section;
1930b57cec5SDimitry Andric class SectionList;
1940b57cec5SDimitry Andric class SectionLoadHistory;
1950b57cec5SDimitry Andric class SectionLoadList;
1960b57cec5SDimitry Andric class Settings;
1970b57cec5SDimitry Andric class SourceManager;
1980b57cec5SDimitry Andric class SourceManagerImpl;
1990b57cec5SDimitry Andric class StackFrame;
2000b57cec5SDimitry Andric class StackFrameList;
2010b57cec5SDimitry Andric class StackFrameRecognizer;
2020b57cec5SDimitry Andric class StackFrameRecognizerManager;
2030b57cec5SDimitry Andric class StackID;
2045ffd83dbSDimitry Andric class Status;
2050b57cec5SDimitry Andric class StopInfo;
2060b57cec5SDimitry Andric class Stoppoint;
2070b57cec5SDimitry Andric class StoppointCallbackContext;
2080b57cec5SDimitry Andric class Stream;
2090b57cec5SDimitry Andric class StreamFile;
2100b57cec5SDimitry Andric class StreamString;
2110b57cec5SDimitry Andric class StringList;
2120eae32dcSDimitry Andric class StringTableReader;
2130b57cec5SDimitry Andric class StructuredDataImpl;
2140b57cec5SDimitry Andric class StructuredDataPlugin;
2157a6dacacSDimitry Andric class SupportFile;
2160b57cec5SDimitry Andric class Symbol;
2170b57cec5SDimitry Andric class SymbolContext;
2180b57cec5SDimitry Andric class SymbolContextList;
2190b57cec5SDimitry Andric class SymbolContextScope;
2200b57cec5SDimitry Andric class SymbolContextSpecifier;
2210b57cec5SDimitry Andric class SymbolFile;
2220b57cec5SDimitry Andric class SymbolFileType;
2235f757f3fSDimitry Andric class SymbolLocator;
2240b57cec5SDimitry Andric class SymbolVendor;
2250b57cec5SDimitry Andric class Symtab;
2260b57cec5SDimitry Andric class SyntheticChildren;
2270b57cec5SDimitry Andric class SyntheticChildrenFrontEnd;
2285ffd83dbSDimitry Andric class SystemRuntime;
2290b57cec5SDimitry Andric class Target;
2300b57cec5SDimitry Andric class TargetList;
2310b57cec5SDimitry Andric class TargetProperties;
2320b57cec5SDimitry Andric class Thread;
2330b57cec5SDimitry Andric class ThreadCollection;
2340b57cec5SDimitry Andric class ThreadList;
2350b57cec5SDimitry Andric class ThreadPlan;
2360b57cec5SDimitry Andric class ThreadPlanBase;
2370b57cec5SDimitry Andric class ThreadPlanRunToAddress;
2380b57cec5SDimitry Andric class ThreadPlanStepInstruction;
2390b57cec5SDimitry Andric class ThreadPlanStepOut;
2400b57cec5SDimitry Andric class ThreadPlanStepOverBreakpoint;
2410b57cec5SDimitry Andric class ThreadPlanStepRange;
2420b57cec5SDimitry Andric class ThreadPlanStepThrough;
2430b57cec5SDimitry Andric class ThreadPlanTracer;
2440b57cec5SDimitry Andric class ThreadSpec;
245fe6060f1SDimitry Andric class ThreadPostMortemTrace;
246bdd1243dSDimitry Andric class ThreadedCommunication;
247e8d8bef9SDimitry Andric class Trace;
248fe6060f1SDimitry Andric class TraceCursor;
249fe6060f1SDimitry Andric class TraceExporter;
2500b57cec5SDimitry Andric class Type;
2510b57cec5SDimitry Andric class TypeAndOrName;
2525ffd83dbSDimitry Andric class TypeCategoryImpl;
2530b57cec5SDimitry Andric class TypeCategoryMap;
2540b57cec5SDimitry Andric class TypeEnumMemberImpl;
2550b57cec5SDimitry Andric class TypeEnumMemberListImpl;
2565ffd83dbSDimitry Andric class TypeFilterImpl;
2570b57cec5SDimitry Andric class TypeFormatImpl;
2585ffd83dbSDimitry Andric class TypeImpl;
2595ffd83dbSDimitry Andric class TypeList;
2605ffd83dbSDimitry Andric class TypeListImpl;
2615ffd83dbSDimitry Andric class TypeMap;
2625f757f3fSDimitry Andric class TypeQuery;
2635ffd83dbSDimitry Andric class TypeMemberFunctionImpl;
2645ffd83dbSDimitry Andric class TypeMemberImpl;
2650b57cec5SDimitry Andric class TypeNameSpecifierImpl;
2665f757f3fSDimitry Andric class TypeResults;
2675ffd83dbSDimitry Andric class TypeSummaryImpl;
2685ffd83dbSDimitry Andric class TypeSummaryOptions;
2695ffd83dbSDimitry Andric class TypeSystem;
270bdd1243dSDimitry Andric class TypeSystemClang;
2710b57cec5SDimitry Andric class UUID;
2720b57cec5SDimitry Andric class UnixSignals;
2730b57cec5SDimitry Andric class Unwind;
2740b57cec5SDimitry Andric class UnwindAssembly;
2750b57cec5SDimitry Andric class UnwindPlan;
2760b57cec5SDimitry Andric class UnwindTable;
2770b57cec5SDimitry Andric class UserExpression;
2780b57cec5SDimitry Andric class UtilityFunction;
2790b57cec5SDimitry Andric class VMRange;
2800b57cec5SDimitry Andric class Value;
2810b57cec5SDimitry Andric class ValueList;
2820b57cec5SDimitry Andric class ValueObject;
2830b57cec5SDimitry Andric class ValueObjectChild;
2840b57cec5SDimitry Andric class ValueObjectConstResult;
2850b57cec5SDimitry Andric class ValueObjectConstResultChild;
2860b57cec5SDimitry Andric class ValueObjectConstResultImpl;
2870b57cec5SDimitry Andric class ValueObjectList;
2880b57cec5SDimitry Andric class ValueObjectPrinter;
2890b57cec5SDimitry Andric class Variable;
2900b57cec5SDimitry Andric class VariableList;
2910b57cec5SDimitry Andric class Watchpoint;
2920b57cec5SDimitry Andric class WatchpointList;
2930b57cec5SDimitry Andric class WatchpointOptions;
2945f757f3fSDimitry Andric class WatchpointResource;
2955f757f3fSDimitry Andric class WatchpointResourceCollection;
2965f757f3fSDimitry Andric class WatchpointSetOptions;
2975ffd83dbSDimitry Andric struct CompilerContext;
2980b57cec5SDimitry Andric struct LineEntry;
2995ffd83dbSDimitry Andric struct PropertyDefinition;
3005ffd83dbSDimitry Andric struct ScriptSummaryFormat;
3015ffd83dbSDimitry Andric struct StringSummaryFormat;
3025ffd83dbSDimitry Andric template <unsigned N> class StreamBuffer;
3030b57cec5SDimitry Andric 
3040b57cec5SDimitry Andric } // namespace lldb_private
3050b57cec5SDimitry Andric 
3060b57cec5SDimitry Andric // lldb forward declarations
3070b57cec5SDimitry Andric namespace lldb {
3080b57cec5SDimitry Andric 
3090b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ABI> ABISP;
3100b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Baton> BatonSP;
3110b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Block> BlockSP;
3120b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
3130b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
3140b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
3150b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
3160b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
3175ffd83dbSDimitry Andric typedef std::shared_ptr<lldb_private::BreakpointPrecondition>
3185ffd83dbSDimitry Andric     BreakpointPreconditionSP;
3190b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
3200b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
3210b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::BroadcasterManager> BroadcasterManagerSP;
3220b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::BroadcasterManager> BroadcasterManagerWP;
3230b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::UserExpression> UserExpressionSP;
3240b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
3250b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Connection> ConnectionSP;
3260b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
3270b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
32881ad6265SDimitry Andric typedef std::shared_ptr<lldb_private::WritableDataBuffer> WritableDataBufferSP;
3290b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
3300b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Debugger> DebuggerSP;
3310b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Debugger> DebuggerWP;
3320b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
3330b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::DynamicCheckerFunctions>
3340b57cec5SDimitry Andric     DynamicCheckerFunctionsUP;
3350b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::DynamicLoader> DynamicLoaderUP;
3360b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Event> EventSP;
3370b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::EventData> EventDataSP;
3380b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::EventDataStructuredData>
3390b57cec5SDimitry Andric     EventDataStructuredDataSP;
3400b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ExecutionContextRef>
3410b57cec5SDimitry Andric     ExecutionContextRefSP;
3420b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ExpressionVariable> ExpressionVariableSP;
3439dba64beSDimitry Andric typedef std::unique_ptr<lldb_private::File> FileUP;
3440b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::File> FileSP;
3455f757f3fSDimitry Andric typedef std::shared_ptr<lldb_private::FormatEntity::Entry> FormatEntrySP;
3460b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Function> FunctionSP;
3470b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
3480b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
3490b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Instruction> InstructionSP;
3500b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::InstrumentationRuntime>
3510b57cec5SDimitry Andric     InstrumentationRuntimeSP;
3520b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::IOHandler> IOHandlerSP;
3530b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::IOObject> IOObjectSP;
3540b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::IRExecutionUnit> IRExecutionUnitSP;
3550b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::JITLoader> JITLoaderSP;
3560b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::JITLoaderList> JITLoaderListUP;
3570b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
3580b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::SystemRuntime> SystemRuntimeUP;
3590b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Listener> ListenerSP;
3600b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Listener> ListenerWP;
3610b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::MemoryHistory> MemoryHistorySP;
3620b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoUP;
363fe6060f1SDimitry Andric typedef std::shared_ptr<lldb_private::MemoryRegionInfo> MemoryRegionInfoSP;
3640b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Module> ModuleSP;
3650b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Module> ModuleWP;
3660b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
367bdd1243dSDimitry Andric typedef std::shared_ptr<lldb_private::ObjectContainer> ObjectContainerSP;
3680b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ObjectFileJITDelegate>
3690b57cec5SDimitry Andric     ObjectFileJITDelegateSP;
3700b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::ObjectFileJITDelegate>
3710b57cec5SDimitry Andric     ObjectFileJITDelegateWP;
3720b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::OperatingSystem> OperatingSystemUP;
3735f757f3fSDimitry Andric typedef std::shared_ptr<lldb_private::OperatingSystemInterface>
3745f757f3fSDimitry Andric     OperatingSystemInterfaceSP;
3750b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::OptionValue> OptionValueSP;
3760b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::OptionValue> OptionValueWP;
3770b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::OptionValueProperties>
3780b57cec5SDimitry Andric     OptionValuePropertiesSP;
3790b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Platform> PlatformSP;
3800b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Process> ProcessSP;
3810b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
382bdd1243dSDimitry Andric typedef std::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
3830b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Process> ProcessWP;
3840b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::RegisterCheckpoint> RegisterCheckpointSP;
3850b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
38606c3fb27SDimitry Andric typedef std::shared_ptr<lldb_private::RegisterTypeBuilder>
38706c3fb27SDimitry Andric     RegisterTypeBuilderSP;
3880b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
3890b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Queue> QueueSP;
3900b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Queue> QueueWP;
3910b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::QueueItem> QueueItemSP;
3920b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::REPL> REPLSP;
3930b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::RecognizedStackFrame>
3940b57cec5SDimitry Andric     RecognizedStackFrameSP;
3950b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ScriptSummaryFormat>
3960b57cec5SDimitry Andric     ScriptSummaryFormatSP;
3970b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ScriptInterpreter> ScriptInterpreterSP;
39806c3fb27SDimitry Andric typedef std::shared_ptr<lldb_private::ScriptedMetadata> ScriptedMetadataSP;
399bdd1243dSDimitry Andric typedef std::unique_ptr<lldb_private::ScriptedPlatformInterface>
400bdd1243dSDimitry Andric     ScriptedPlatformInterfaceUP;
401fe6060f1SDimitry Andric typedef std::unique_ptr<lldb_private::ScriptedProcessInterface>
402fe6060f1SDimitry Andric     ScriptedProcessInterfaceUP;
403349cc55cSDimitry Andric typedef std::shared_ptr<lldb_private::ScriptedThreadInterface>
404349cc55cSDimitry Andric     ScriptedThreadInterfaceSP;
4050b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Section> SectionSP;
4060b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::SectionList> SectionListUP;
4070b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Section> SectionWP;
4080b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::SectionLoadList> SectionLoadListSP;
4090b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
4100b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::SourceManager> SourceManagerUP;
4110b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StackFrame> StackFrameSP;
4120b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::StackFrame> StackFrameWP;
4130b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
4140b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StackFrameRecognizer>
4150b57cec5SDimitry Andric     StackFrameRecognizerSP;
416e8d8bef9SDimitry Andric typedef std::unique_ptr<lldb_private::StackFrameRecognizerManager>
417e8d8bef9SDimitry Andric     StackFrameRecognizerManagerUP;
4180b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StopInfo> StopInfoSP;
4190b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Stream> StreamSP;
4200b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
4210b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StringSummaryFormat>
4220b57cec5SDimitry Andric     StringTypeSummaryImplSP;
4230b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
4240b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
4250b57cec5SDimitry Andric     StructuredDataPluginSP;
4260b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
4270b57cec5SDimitry Andric     StructuredDataPluginWP;
4280b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
4290b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::SymbolContextSpecifier>
4300b57cec5SDimitry Andric     SymbolContextSpecifierSP;
4310b57cec5SDimitry Andric typedef std::unique_ptr<lldb_private::SymbolVendor> SymbolVendorUP;
4320b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
4330b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::SyntheticChildrenFrontEnd>
4340b57cec5SDimitry Andric     SyntheticChildrenFrontEndSP;
4350b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Target> TargetSP;
4360b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Target> TargetWP;
4370b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Thread> ThreadSP;
4380b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Thread> ThreadWP;
4390b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
4400b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
441fe6060f1SDimitry Andric typedef std::shared_ptr<lldb_private::ThreadPostMortemTrace>
442fe6060f1SDimitry Andric     ThreadPostMortemTraceSP;
443e8d8bef9SDimitry Andric typedef std::weak_ptr<lldb_private::ThreadPlan> ThreadPlanWP;
4440b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
445e8d8bef9SDimitry Andric typedef std::shared_ptr<lldb_private::Trace> TraceSP;
446fe6060f1SDimitry Andric typedef std::unique_ptr<lldb_private::TraceExporter> TraceExporterUP;
447bdd1243dSDimitry Andric typedef std::shared_ptr<lldb_private::TraceCursor> TraceCursorSP;
4480b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Type> TypeSP;
4490b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::Type> TypeWP;
4500b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
4510b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
4520b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeMemberFunctionImpl>
4530b57cec5SDimitry Andric     TypeMemberFunctionImplSP;
4540b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeEnumMemberImpl> TypeEnumMemberImplSP;
4550b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
4560b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeSystem> TypeSystemSP;
457bdd1243dSDimitry Andric typedef std::shared_ptr<lldb_private::TypeSystemClang> TypeSystemClangSP;
458bdd1243dSDimitry Andric typedef std::weak_ptr<lldb_private::TypeSystem> TypeSystemWP;
4590b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
4600b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeNameSpecifierImpl>
4610b57cec5SDimitry Andric     TypeNameSpecifierImplSP;
4620b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
4630b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP;
4640b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren>
4650b57cec5SDimitry Andric     ScriptedSyntheticChildrenSP;
4667a6dacacSDimitry Andric typedef std::shared_ptr<lldb_private::SupportFile> SupportFileSP;
4670b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP;
4680b57cec5SDimitry Andric typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP;
4690b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP;
4700b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
4715ffd83dbSDimitry Andric typedef std::shared_ptr<lldb_private::ValueObject> ValueObjectSP;
4720b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Value> ValueSP;
4730b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Variable> VariableSP;
4740b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::VariableList> VariableListSP;
4750b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
4760b57cec5SDimitry Andric typedef std::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
4775f757f3fSDimitry Andric typedef std::shared_ptr<lldb_private::WatchpointResource> WatchpointResourceSP;
4780b57cec5SDimitry Andric 
4790b57cec5SDimitry Andric } // namespace lldb
4800b57cec5SDimitry Andric 
4815ffd83dbSDimitry Andric #endif // LLDB_LLDB_FORWARD_H
482