lldb-forward.h revision f3ec4617297810223deb545cb68214ca4dd8009c
1342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//===-- lldb-forward.h ------------------------------------------*- C++ -*-===//
2342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//
3342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//                     The LLVM Compiler Infrastructure
4342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//
5342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch// This file is distributed under the University of Illinois Open Source
6342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch// License. See LICENSE.TXT for details.
7342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//
8342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//===----------------------------------------------------------------------===//
9342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
10342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#ifndef LLDB_lldb_forward_h_
11342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define LLDB_lldb_forward_h_
12342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
13342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#if defined(__cplusplus)
14342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
15342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#include <ciso646>  // detect C++ lib
16342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
17342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#ifdef _LIBCPP_VERSION
18342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#include <memory>
19342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_SHARED_PTR(T) std::shared_ptr<T>
20342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_WEAK_PTR(T) std::weak_ptr<T>
21342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_ENABLE_SHARED_FROM_THIS(T) std::enable_shared_from_this<T>
22342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_STATIC_POINTER_CAST(T,V) std::static_pointer_cast<T>(V)
23342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#else
24342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#include <tr1/memory>
25342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_SHARED_PTR(T) std::tr1::shared_ptr<T>
26342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_WEAK_PTR(T) std::tr1::weak_ptr<T>
27342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_ENABLE_SHARED_FROM_THIS(T) std::tr1::enable_shared_from_this<T>
28342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#define STD_STATIC_POINTER_CAST(T,V) std::tr1::static_pointer_cast<T>(V)
29342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#endif
30342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
31342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch#include "lldb/Utility/SharingPtr.h"
32342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
33342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//----------------------------------------------------------------------
34342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch// lldb forward declarations
35342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch//----------------------------------------------------------------------
36342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochnamespace lldb_private {
37342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdoch
38342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ABI;
39342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Address;
40342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   AddressImpl;
41342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   AddressRange;
42342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   AddressResolver;
43342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ArchSpec;
44342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Args;
45342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ASTResultSynthesizer;
46342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Baton;
47342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Block;
48342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Breakpoint;
49342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointID;
50342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointIDList;
51342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointList;
52342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointLocation;
53342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointLocationCollection;
54342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointLocationList;
55342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointOptions;
56342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointResolver;
57342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointSite;
58342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BreakpointSiteList;
59342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BroadcastEventSpec;
60342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Broadcaster;
61342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   BroadcasterManager;
62342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   CPPLanguageRuntime;
63342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangASTContext;
64342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangASTImporter;
65342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangASTSource;
66342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangASTType;
67342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangNamespaceDecl;
68342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpression;
69342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpressionDeclMap;
70342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpressionParser;
71342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpressionVariable;
72342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpressionVariableList;
73342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpressionVariableList;
74342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangExpressionVariables;
75342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangFunction;
76342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangPersistentVariables;
77342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangUserExpression;
78342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ClangUtilityFunction;
79342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   CommandInterpreter;
80342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   CommandObject;
81342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   CommandReturnObject;
82342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Communication;
83342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   CompileUnit;
84342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Condition;
85342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Connection;
86342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ConnectionFileDescriptor;
87342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ConstString;
88342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   DWARFCallFrameInfo;
89342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   DWARFExpression;
90342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   DataBuffer;
91342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   DataEncoder;
92342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   DataExtractor;
93342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Debugger;
94342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Declaration;
95342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Disassembler;
96342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   DynamicLoader;
97342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   EmulateInstruction;
98342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Error;
99342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Event;
100342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   EventData;
101342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ExecutionContext;
102342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ExecutionContextRef;
103342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ExecutionContextRefLocker;
104342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ExecutionContextScope;
105342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   FileSpec;
106342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   FileSpecList;
107342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Flags;
108342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   TypeCategoryImpl;
109342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   FormatManager;
110342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   FuncUnwinders;
111342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Function;
112342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   FunctionInfo;
113342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   InlineFunctionInfo;
114342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   InputReader;
115342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   InstanceSettings;
116342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Instruction;
117342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   InstructionList;
118342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   LanguageRuntime;
119342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   LineTable;
120342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Listener;
121342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Log;
122342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   LogChannel;
123342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Mangled;
124342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Module;
125342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ModuleList;
126342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ModuleSpec;
127342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Mutex;
128342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochstruct  NameSearchContext;
129342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ObjCLanguageRuntime;
130342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ObjectContainer;
131342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   OptionGroup;
132342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   OptionGroupPlatform;
133342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ObjectFile;
134342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   OperatingSystem;
135342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Options;
136342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   OptionValue;
137342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   NamedOption;
138342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   PathMappingList;
139342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Platform;
140342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   Process;
141342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessAttachInfo;
142342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessModID;
143342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessInfo;
144342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessInstanceInfo;
145342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessInstanceInfoList;
146342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessInstanceInfoMatch;
147342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   ProcessLaunchInfo;
148342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   RegisterContext;
149342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   RegisterLocation;
150342c50ce1624b485728b9a4fc41d8bbf37eb46cfBen Murdochclass   RegisterLocationList;
151class   RegisterValue;
152class   RegularExpression;
153class   Scalar;
154class   ScriptInterpreter;
155class   ScriptInterpreterObject;
156#ifndef LLDB_DISABLE_PYTHON
157class   ScriptInterpreterPython;
158struct  ScriptSummaryFormat;
159#endif
160class   SearchFilter;
161class   Section;
162class   SectionImpl;
163class   SectionList;
164class   SourceManager;
165class   SourceManagerImpl;
166class   StackFrame;
167class   StackFrameImpl;
168class   StackFrameList;
169class   StackID;
170class   StopInfo;
171class   Stoppoint;
172class   StoppointCallbackContext;
173class   StoppointLocation;
174class   Stream;
175template <unsigned N> class StreamBuffer;
176class   StreamFile;
177class   StreamString;
178class   StringList;
179struct  StringSummaryFormat;
180class   TypeSummaryImpl;
181class   Symbol;
182class   SymbolContext;
183class   SymbolContextList;
184class   SymbolContextScope;
185class   SymbolContextSpecifier;
186class   SymbolFile;
187class   SymbolFileType;
188class   SymbolVendor;
189class   Symtab;
190class   SyntheticChildren;
191class   SyntheticChildrenFrontEnd;
192class   TypeFilterImpl;
193#ifndef LLDB_DISABLE_PYTHON
194class   TypeSyntheticImpl;
195#endif
196class   Target;
197class   TargetList;
198class   Thread;
199class   ThreadList;
200class   ThreadPlan;
201class   ThreadPlanBase;
202class   ThreadPlanRunToAddress;
203class   ThreadPlanStepInstruction;
204class   ThreadPlanStepOut;
205class   ThreadPlanStepOverBreakpoint;
206class   ThreadPlanStepRange;
207class   ThreadPlanStepThrough;
208class   ThreadPlanTracer;
209class   ThreadSpec;
210class   TimeValue;
211class   Type;
212class   TypeImpl;
213class   TypeAndOrName;
214class   TypeList;
215class   TypeListImpl;
216class   TypeMemberImpl;
217class   TypeNameSpecifierImpl;
218class   UUID;
219class   Unwind;
220class   UnwindAssembly;
221class   UnwindPlan;
222class   UnwindTable;
223class   UserSettingsController;
224class   VMRange;
225class   Value;
226class   TypeFormatImpl;
227class   ValueList;
228class   ValueObject;
229class   ValueObjectChild;
230class   ValueObjectConstResult;
231class   ValueObjectConstResultChild;
232class   ValueObjectConstResultImpl;
233class   ValueObjectList;
234class   Variable;
235class   VariableList;
236class   Watchpoint;
237class   WatchpointList;
238class   WatchpointOptions;
239struct  LineEntry;
240
241} // namespace lldb_private
242
243//----------------------------------------------------------------------
244// lldb forward declarations
245//----------------------------------------------------------------------
246namespace lldb {
247
248    typedef STD_SHARED_PTR(lldb_private::ABI) ABISP;
249    typedef STD_SHARED_PTR(lldb_private::Baton) BatonSP;
250    typedef STD_SHARED_PTR(lldb_private::Block) BlockSP;
251    typedef STD_SHARED_PTR(lldb_private::Breakpoint) BreakpointSP;
252    typedef STD_WEAK_PTR(lldb_private::Breakpoint) BreakpointWP;
253    typedef STD_SHARED_PTR(lldb_private::BreakpointSite) BreakpointSiteSP;
254    typedef STD_WEAK_PTR(lldb_private::BreakpointSite) BreakpointSiteWP;
255    typedef STD_SHARED_PTR(lldb_private::BreakpointLocation) BreakpointLocationSP;
256    typedef STD_WEAK_PTR(lldb_private::BreakpointLocation) BreakpointLocationWP;
257    typedef STD_SHARED_PTR(lldb_private::BreakpointResolver) BreakpointResolverSP;
258    typedef STD_SHARED_PTR(lldb_private::Broadcaster) BroadcasterSP;
259    typedef STD_SHARED_PTR(lldb_private::ClangExpressionVariable) ClangExpressionVariableSP;
260    typedef STD_SHARED_PTR(lldb_private::CommandObject) CommandObjectSP;
261    typedef STD_SHARED_PTR(lldb_private::Communication) CommunicationSP;
262    typedef STD_SHARED_PTR(lldb_private::Connection) ConnectionSP;
263    typedef STD_SHARED_PTR(lldb_private::CompileUnit) CompUnitSP;
264    typedef STD_SHARED_PTR(lldb_private::DataBuffer) DataBufferSP;
265    typedef STD_SHARED_PTR(lldb_private::DataExtractor) DataExtractorSP;
266    typedef STD_SHARED_PTR(lldb_private::Debugger) DebuggerSP;
267    typedef STD_WEAK_PTR(lldb_private::Debugger) DebuggerWP;
268    typedef STD_SHARED_PTR(lldb_private::Disassembler) DisassemblerSP;
269    typedef STD_SHARED_PTR(lldb_private::DynamicLoader) DynamicLoaderSP;
270    typedef STD_SHARED_PTR(lldb_private::Event) EventSP;
271    typedef STD_SHARED_PTR(lldb_private::ExecutionContextRef) ExecutionContextRefSP;
272    typedef STD_SHARED_PTR(lldb_private::TypeCategoryImpl) TypeCategoryImplSP;
273    typedef STD_SHARED_PTR(lldb_private::Function) FunctionSP;
274    typedef STD_SHARED_PTR(lldb_private::InlineFunctionInfo) InlineFunctionInfoSP;
275    typedef STD_SHARED_PTR(lldb_private::InputReader) InputReaderSP;
276    typedef STD_SHARED_PTR(lldb_private::InstanceSettings) InstanceSettingsSP;
277    typedef STD_SHARED_PTR(lldb_private::Instruction) InstructionSP;
278    typedef STD_SHARED_PTR(lldb_private::LanguageRuntime) LanguageRuntimeSP;
279    typedef STD_SHARED_PTR(lldb_private::LineTable) LineTableSP;
280    typedef STD_SHARED_PTR(lldb_private::Listener) ListenerSP;
281    typedef STD_SHARED_PTR(lldb_private::Log) LogSP;
282    typedef STD_SHARED_PTR(lldb_private::LogChannel) LogChannelSP;
283    typedef STD_SHARED_PTR(lldb_private::Module) ModuleSP;
284    typedef STD_WEAK_PTR(lldb_private::Module) ModuleWP;
285    typedef STD_SHARED_PTR(lldb_private::ObjectFile) ObjectFileSP;
286    typedef STD_WEAK_PTR(lldb_private::ObjectFile) ObjectFileWP;
287    typedef STD_SHARED_PTR(lldb_private::OptionValue) OptionValueSP;
288    typedef STD_SHARED_PTR(lldb_private::Platform) PlatformSP;
289    typedef STD_SHARED_PTR(lldb_private::Process) ProcessSP;
290    typedef STD_SHARED_PTR(lldb_private::ProcessAttachInfo) ProcessAttachInfoSP;
291    typedef STD_SHARED_PTR(lldb_private::ProcessLaunchInfo) ProcessLaunchInfoSP;
292    typedef STD_WEAK_PTR(lldb_private::Process) ProcessWP;
293    typedef STD_SHARED_PTR(lldb_private::RegisterContext) RegisterContextSP;
294    typedef STD_SHARED_PTR(lldb_private::RegularExpression) RegularExpressionSP;
295    typedef STD_SHARED_PTR(lldb_private::Section) SectionSP;
296    typedef STD_WEAK_PTR(lldb_private::Section) SectionWP;
297    typedef STD_SHARED_PTR(lldb_private::SearchFilter) SearchFilterSP;
298    typedef STD_SHARED_PTR(lldb_private::ScriptInterpreterObject) ScriptInterpreterObjectSP;
299#ifndef LLDB_DISABLE_PYTHON
300    typedef STD_SHARED_PTR(lldb_private::ScriptSummaryFormat) ScriptSummaryFormatSP;
301#endif // #ifndef LLDB_DISABLE_PYTHON
302    typedef STD_SHARED_PTR(lldb_private::StackFrame) StackFrameSP;
303    typedef STD_WEAK_PTR(lldb_private::StackFrame) StackFrameWP;
304    typedef STD_SHARED_PTR(lldb_private::StackFrameList) StackFrameListSP;
305    typedef STD_SHARED_PTR(lldb_private::StopInfo) StopInfoSP;
306    typedef STD_SHARED_PTR(lldb_private::StoppointLocation) StoppointLocationSP;
307    typedef STD_SHARED_PTR(lldb_private::Stream) StreamSP;
308    typedef STD_SHARED_PTR(lldb_private::StringSummaryFormat) StringTypeSummaryImplSP;
309    typedef STD_SHARED_PTR(lldb_private::TypeSummaryImpl) TypeSummaryImplSP;
310    typedef STD_SHARED_PTR(lldb_private::TypeNameSpecifierImpl) TypeNameSpecifierImplSP;
311    typedef STD_SHARED_PTR(lldb_private::SymbolFile) SymbolFileSP;
312    typedef STD_SHARED_PTR(lldb_private::SymbolFileType) SymbolFileTypeSP;
313    typedef STD_WEAK_PTR(lldb_private::SymbolFileType) SymbolFileTypeWP;
314    typedef STD_SHARED_PTR(lldb_private::SymbolContextSpecifier) SymbolContextSpecifierSP;
315    typedef STD_SHARED_PTR(lldb_private::SyntheticChildren) SyntheticChildrenSP;
316    typedef STD_SHARED_PTR(lldb_private::SyntheticChildrenFrontEnd) SyntheticChildrenFrontEndSP;
317    typedef STD_SHARED_PTR(lldb_private::TypeFilterImpl) TypeFilterImplSP;
318#ifndef LLDB_DISABLE_PYTHON
319    typedef STD_SHARED_PTR(lldb_private::TypeSyntheticImpl) TypeSyntheticImplSP;
320#endif
321    typedef STD_SHARED_PTR(lldb_private::Target) TargetSP;
322    typedef STD_WEAK_PTR(lldb_private::Target) TargetWP;
323    typedef STD_SHARED_PTR(lldb_private::Thread) ThreadSP;
324    typedef STD_WEAK_PTR(lldb_private::Thread) ThreadWP;
325    typedef STD_SHARED_PTR(lldb_private::ThreadPlan) ThreadPlanSP;
326    typedef STD_SHARED_PTR(lldb_private::ThreadPlanTracer) ThreadPlanTracerSP;
327    typedef STD_SHARED_PTR(lldb_private::Type) TypeSP;
328    typedef STD_WEAK_PTR(lldb_private::Type) TypeWP;
329    typedef STD_SHARED_PTR(lldb_private::TypeImpl) TypeImplSP;
330    typedef STD_SHARED_PTR(lldb_private::FuncUnwinders) FuncUnwindersSP;
331    typedef STD_SHARED_PTR(lldb_private::UserSettingsController) UserSettingsControllerSP;
332    typedef STD_WEAK_PTR(lldb_private::UserSettingsController) UserSettingsControllerWP;
333    typedef STD_SHARED_PTR(lldb_private::UnwindPlan) UnwindPlanSP;
334    typedef lldb_private::SharingPtr<lldb_private::ValueObject> ValueObjectSP;
335    typedef STD_SHARED_PTR(lldb_private::Value) ValueSP;
336    typedef STD_SHARED_PTR(lldb_private::TypeFormatImpl) TypeFormatImplSP;
337    typedef STD_SHARED_PTR(lldb_private::ValueList) ValueListSP;
338    typedef STD_SHARED_PTR(lldb_private::Variable) VariableSP;
339    typedef STD_SHARED_PTR(lldb_private::VariableList) VariableListSP;
340    typedef STD_SHARED_PTR(lldb_private::ValueObjectList) ValueObjectListSP;
341    typedef STD_SHARED_PTR(lldb_private::Watchpoint) WatchpointSP;
342
343} // namespace lldb
344
345
346#endif  // #if defined(__cplusplus)
347#endif  // LLDB_lldb_forward_h_
348