//===-- lldb-forward.h ------------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLDB_lldb_forward_h_ #define LLDB_lldb_forward_h_ #if defined(__cplusplus) #include "lldb/Utility/SharingPtr.h" //---------------------------------------------------------------------- // lldb forward declarations //---------------------------------------------------------------------- namespace lldb_private { class ABI; class Address; class AddressImpl; class AddressRange; class AddressResolver; class ArchSpec; class Args; class ASTResultSynthesizer; class Baton; class Block; class Breakpoint; class BreakpointID; class BreakpointIDList; class BreakpointList; class BreakpointLocation; class BreakpointLocationCollection; class BreakpointLocationList; class BreakpointOptions; class BreakpointResolver; class BreakpointSite; class BreakpointSiteList; class BroadcastEventSpec; class Broadcaster; class BroadcasterManager; class CPPLanguageRuntime; class ClangASTContext; class ClangASTImporter; class ClangASTMetadata; class ClangASTSource; class ClangASTType; class ClangNamespaceDecl; class ClangExpression; class ClangExpressionDeclMap; class ClangExpressionParser; class ClangExpressionVariable; class ClangExpressionVariableList; class ClangExpressionVariableList; class ClangExpressionVariables; class ClangFunction; class ClangPersistentVariables; class ClangUserExpression; class ClangUtilityFunction; class CommandInterpreter; class CommandObject; class CommandReturnObject; class Communication; class CompileUnit; class Condition; class Connection; class ConnectionFileDescriptor; class ConstString; class CXXSyntheticChildren; class DWARFCallFrameInfo; class DWARFExpression; class DataBuffer; class DataEncoder; class DataExtractor; class Debugger; class Declaration; class Disassembler; struct DumpValueObjectOptions; class DynamicLibrary; class DynamicLoader; class Editline; class EmulateInstruction; class Error; class EvaluateExpressionOptions; class Event; class EventData; class ExecutionContext; class ExecutionContextRef; class ExecutionContextRefLocker; class ExecutionContextScope; class File; class FileSpec; class FileSpecList; class Flags; class TypeCategoryImpl; class FormatManager; class FormattersMatchCandidate; class FuncUnwinders; class Function; class FunctionInfo; class InlineFunctionInfo; class Instruction; class InstructionList; class IOHandler; class IRExecutionUnit; class LanguageRuntime; class SystemRuntime; class LineTable; class Listener; class Log; class LogChannel; class Mangled; class Materializer; class Module; class ModuleList; class ModuleSpec; class ModuleSpecList; class Mutex; struct NameSearchContext; class ObjCLanguageRuntime; class ObjectContainer; class OptionGroup; class OptionGroupOptions; class OptionGroupPlatform; class ObjectFile; class OperatingSystem; class Options; class OptionValue; class OptionValueArch; class OptionValueArgs; class OptionValueArray; class OptionValueBoolean; class OptionValueDictionary; class OptionValueEnumeration; class OptionValueFileSpec; class OptionValueFileSpecList; class OptionValueFormat; class OptionValuePathMappings; class OptionValueProperties; class OptionValueRegex; class OptionValueSInt64; class OptionValueString; class OptionValueUInt64; class OptionValueUUID; class NamedOption; class PathMappingList; class Platform; class Process; class ProcessAttachInfo; class ProcessModID; class ProcessInfo; class ProcessInstanceInfo; class ProcessInstanceInfoList; class ProcessInstanceInfoMatch; class ProcessLaunchInfo; class Property; struct PropertyDefinition; class PythonArray; class PythonDictionary; class PythonInteger; class PythonObject; class PythonString; class RegisterCheckpoint; class RegisterContext; class RegisterLocation; class RegisterLocationList; class RegisterValue; class RegularExpression; class Scalar; class ScriptInterpreter; class ScriptInterpreterLocker; class ScriptInterpreterObject; #ifndef LLDB_DISABLE_PYTHON class ScriptInterpreterPython; struct ScriptSummaryFormat; #endif class SearchFilter; class Section; class SectionImpl; class SectionList; class SectionLoadHistory; class SectionLoadList; class Settings; class SourceManager; class SourceManagerImpl; class StackFrame; class StackFrameImpl; class StackFrameList; class StackID; class StopInfo; class Stoppoint; class StoppointCallbackContext; class StoppointLocation; class Stream; template class StreamBuffer; class StreamFile; class StreamString; class StringList; struct StringSummaryFormat; class TypeSummaryImpl; class Symbol; class SymbolContext; class SymbolContextList; class SymbolContextScope; class SymbolContextSpecifier; class SymbolFile; class SymbolFileType; class SymbolVendor; class Symtab; class SyntheticChildren; class SyntheticChildrenFrontEnd; class TypeFilterImpl; #ifndef LLDB_DISABLE_PYTHON class ScriptedSyntheticChildren; #endif class Queue; class QueueItem; class QueueImpl; class Target; class TargetList; class Thread; class ThreadList; class ThreadPlan; class ThreadPlanBase; class ThreadPlanRunToAddress; class ThreadPlanStepInstruction; class ThreadPlanStepOut; class ThreadPlanStepOverBreakpoint; class ThreadPlanStepRange; class ThreadPlanStepThrough; class ThreadPlanTracer; class ThreadSpec; class TimeValue; class Type; class TypeAndOrName; class TypeCategoryMap; class TypeImpl; class TypeList; class TypeListImpl; class TypeMemberImpl; class TypeNameSpecifierImpl; class TypePair; class UUID; class Unwind; class UnwindAssembly; class UnwindPlan; class UnwindTable; class VMRange; class Value; class TypeFormatImpl; class ValueList; class ValueObject; class ValueObjectChild; class ValueObjectConstResult; class ValueObjectConstResultChild; class ValueObjectConstResultImpl; class ValueObjectList; class ValueObjectPrinter; class Variable; class VariableList; class Watchpoint; class WatchpointList; class WatchpointOptions; struct LineEntry; } // namespace lldb_private //---------------------------------------------------------------------- // lldb forward declarations //---------------------------------------------------------------------- namespace lldb { typedef std::shared_ptr ABISP; typedef std::shared_ptr BatonSP; typedef std::shared_ptr BlockSP; typedef std::shared_ptr BreakpointSP; typedef std::weak_ptr BreakpointWP; typedef std::shared_ptr BreakpointSiteSP; typedef std::weak_ptr BreakpointSiteWP; typedef std::shared_ptr BreakpointLocationSP; typedef std::weak_ptr BreakpointLocationWP; typedef std::shared_ptr BreakpointResolverSP; typedef std::shared_ptr BroadcasterSP; typedef std::shared_ptr ClangExpressionVariableSP; typedef std::shared_ptr CommandObjectSP; typedef std::shared_ptr CommunicationSP; typedef std::shared_ptr ConnectionSP; typedef std::shared_ptr CompUnitSP; typedef std::shared_ptr DataBufferSP; typedef std::shared_ptr DataExtractorSP; typedef std::shared_ptr DebuggerSP; typedef std::weak_ptr DebuggerWP; typedef std::shared_ptr DisassemblerSP; typedef std::shared_ptr DynamicLibrarySP; typedef std::shared_ptr DynamicLoaderSP; typedef std::shared_ptr EventSP; typedef std::shared_ptr ExecutionContextRefSP; typedef std::shared_ptr FileSP; typedef std::shared_ptr FunctionSP; typedef std::shared_ptr FuncUnwindersSP; typedef std::shared_ptr InlineFunctionInfoSP; typedef std::shared_ptr InstructionSP; typedef std::shared_ptr IOHandlerSP; typedef std::shared_ptr LanguageRuntimeSP; typedef std::shared_ptr SystemRuntimeSP; typedef std::shared_ptr LineTableSP; typedef std::shared_ptr ListenerSP; typedef std::shared_ptr LogChannelSP; typedef std::shared_ptr ModuleSP; typedef std::weak_ptr ModuleWP; typedef std::shared_ptr ObjectFileSP; typedef std::weak_ptr ObjectFileWP; typedef std::shared_ptr OptionValueSP; typedef std::weak_ptr OptionValueWP; typedef std::shared_ptr OptionValueArchSP; typedef std::shared_ptr OptionValueArgsSP; typedef std::shared_ptr OptionValueArraySP; typedef std::shared_ptr OptionValueBooleanSP; typedef std::shared_ptr OptionValueDictionarySP; typedef std::shared_ptr OptionValueFileSpecSP; typedef std::shared_ptr OptionValueFileSpecListSP; typedef std::shared_ptr OptionValueFormatSP; typedef std::shared_ptr OptionValuePathMappingsSP; typedef std::shared_ptr OptionValuePropertiesSP; typedef std::shared_ptr OptionValueRegexSP; typedef std::shared_ptr OptionValueSInt64SP; typedef std::shared_ptr OptionValueStringSP; typedef std::shared_ptr OptionValueUInt64SP; typedef std::shared_ptr OptionValueUUIDSP; typedef std::shared_ptr PlatformSP; typedef std::shared_ptr ProcessSP; typedef std::shared_ptr ProcessAttachInfoSP; typedef std::shared_ptr ProcessLaunchInfoSP; typedef std::weak_ptr ProcessWP; typedef std::shared_ptr PropertySP; typedef std::shared_ptr RegisterCheckpointSP; typedef std::shared_ptr RegisterContextSP; typedef std::shared_ptr RegularExpressionSP; typedef std::shared_ptr QueueSP; typedef std::weak_ptr QueueWP; typedef std::shared_ptr QueueItemSP; typedef std::shared_ptr ScriptInterpreterObjectSP; #ifndef LLDB_DISABLE_PYTHON typedef std::shared_ptr ScriptSummaryFormatSP; #endif // #ifndef LLDB_DISABLE_PYTHON typedef std::shared_ptr SectionSP; typedef std::weak_ptr SectionWP; typedef std::shared_ptr SectionLoadListSP; typedef std::shared_ptr SearchFilterSP; typedef std::shared_ptr SettingsSP; typedef std::shared_ptr StackFrameSP; typedef std::weak_ptr StackFrameWP; typedef std::shared_ptr StackFrameListSP; typedef std::shared_ptr StopInfoSP; typedef std::shared_ptr StoppointLocationSP; typedef std::shared_ptr StreamSP; typedef std::weak_ptr StreamWP; typedef std::shared_ptr StreamFileSP; typedef std::shared_ptr StringTypeSummaryImplSP; typedef std::shared_ptr SymbolFileSP; typedef std::shared_ptr SymbolFileTypeSP; typedef std::weak_ptr SymbolFileTypeWP; typedef std::shared_ptr SymbolContextSpecifierSP; typedef std::shared_ptr SyntheticChildrenSP; typedef std::shared_ptr SyntheticChildrenFrontEndSP; typedef std::shared_ptr TargetSP; typedef std::weak_ptr TargetWP; typedef std::shared_ptr ThreadSP; typedef std::weak_ptr ThreadWP; typedef std::shared_ptr ThreadPlanSP; typedef std::shared_ptr ThreadPlanTracerSP; typedef std::shared_ptr TypeSP; typedef std::weak_ptr TypeWP; typedef std::shared_ptr TypeCategoryImplSP; typedef std::shared_ptr TypeImplSP; typedef std::shared_ptr TypeFilterImplSP; typedef std::shared_ptr TypeFormatImplSP; typedef std::shared_ptr TypeNameSpecifierImplSP; typedef std::shared_ptr TypeSummaryImplSP; #ifndef LLDB_DISABLE_PYTHON typedef std::shared_ptr ScriptedSyntheticChildrenSP; #endif typedef std::shared_ptr UnwindAssemblySP; typedef std::shared_ptr UnwindPlanSP; typedef lldb_private::SharingPtr ValueObjectSP; typedef std::shared_ptr ValueSP; typedef std::shared_ptr ValueListSP; typedef std::shared_ptr VariableSP; typedef std::shared_ptr VariableListSP; typedef std::shared_ptr ValueObjectListSP; typedef std::shared_ptr WatchpointSP; } // namespace lldb #endif // #if defined(__cplusplus) #endif // LLDB_lldb_forward_h_