llvm/lldb/include/lldb/lldb-forward.h

//===-- lldb-forward.h ------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLDB_LLDB_FORWARD_H
#define LLDB_LLDB_FORWARD_H

#include <memory>

// lldb forward declarations
namespace lldb_private {

class ABI;
class ASTResultSynthesizer;
class ASTStructExtractor;
class Address;
class AddressRange;
class AddressRanges;
class AddressRangeList;
class AddressResolver;
class ArchSpec;
class Architecture;
class Args;
class ArmUnwindInfo;
class Baton;
class Block;
class Breakpoint;
class BreakpointID;
class BreakpointIDList;
class BreakpointList;
class BreakpointLocation;
class BreakpointLocationCollection;
class BreakpointLocationList;
class BreakpointName;
class BreakpointOptionGroup;
class BreakpointOptions;
class BreakpointPrecondition;
class BreakpointResolver;
class BreakpointSite;
class BroadcastEventSpec;
class Broadcaster;
class BroadcasterManager;
class CXXSyntheticChildren;
struct CacheSignature;
class CallFrameInfo;
class CommandInterpreter;
class CommandInterpreterRunOptions;
class CommandObject;
class CommandObjectMultiword;
class CommandReturnObject;
class Communication;
class CompactUnwindInfo;
class CompileUnit;
class CompilerDecl;
class CompilerDeclContext;
class CompilerType;
class Connection;
class ConnectionFileDescriptor;
class ConstString;
class ConstStringTable;
class DWARFCallFrameInfo;
class DWARFDataExtractor;
class DWARFExpression;
class DWARFExpressionList;
class DataBuffer;
class WritableDataBuffer;
class DataBufferHeap;
class DataEncoder;
class DataExtractor;
class DataFileCache;
class Debugger;
class Declaration;
class DiagnosticManager;
class Disassembler;
class DumpValueObjectOptions;
class DynamicCheckerFunctions;
class DynamicLoader;
class Editline;
class EmulateInstruction;
class Environment;
class EvaluateExpressionOptions;
class Event;
class EventData;
class EventDataStructuredData;
class ExecutionContext;
class ExecutionContextRef;
class ExecutionContextScope;
class Expression;
class ExpressionTypeSystemHelper;
class ExpressionVariable;
class ExpressionVariableList;
class File;
class FileSpec;
class FileSpecList;
class Flags;
namespace FormatEntity {
struct Entry;
} // namespace FormatEntity
class FormatManager;
class FormattersMatchCandidate;
class FuncUnwinders;
class Function;
class FunctionCaller;
class FunctionInfo;
class IOHandler;
class IOObject;
class IRExecutionUnit;
class InlineFunctionInfo;
class Instruction;
class InstructionList;
class InstrumentationRuntime;
class JITLoader;
class JITLoaderList;
class Language;
class LanguageCategory;
class LanguageRuntime;
class LineTable;
class Listener;
class Log;
class Mangled;
class Materializer;
class MemoryHistory;
class MemoryRegionInfo;
class MemoryRegionInfos;
class Module;
class ModuleList;
class ModuleSpec;
class ModuleSpecList;
class ObjectContainer;
class ObjectFile;
class ObjectFileJITDelegate;
class OperatingSystem;
class OperatingSystemInterface;
class OptionGroup;
class OptionGroupOptions;
class OptionGroupPlatform;
class OptionValue;
class OptionValueArch;
class OptionValueArgs;
class OptionValueArray;
class OptionValueBoolean;
class OptionValueChar;
class OptionValueDictionary;
class OptionValueEnumeration;
class OptionValueFileSpec;
class OptionValueFileSpecList;
class OptionValueFormat;
class OptionValueFormatEntity;
class OptionValueLanguage;
class OptionValuePathMappings;
class OptionValueProperties;
class OptionValueRegex;
class OptionValueSInt64;
class OptionValueString;
class OptionValueUInt64;
class OptionValueUUID;
class Options;
class PathMappingList;
class PersistentExpressionState;
class Platform;
class Process;
class ProcessAttachInfo;
class ProcessLaunchInfo;
class ProcessInfo;
class ProcessInstanceInfo;
class ProcessInstanceInfoMatch;
class ProcessLaunchInfo;
class ProcessModID;
class Property;
class Queue;
class QueueImpl;
class QueueItem;
class REPL;
class RealpathPrefixes;
class RecognizedStackFrame;
class RegisterCheckpoint;
class RegisterContext;
class RegisterTypeBuilder;
class RegisterValue;
class RegularExpression;
class RichManglingContext;
class SaveCoreOptions;
class Scalar;
class ScriptInterpreter;
class ScriptInterpreterLocker;
class ScriptedMetadata;
class ScriptedPlatformInterface;
class ScriptedProcessInterface;
class ScriptedThreadInterface;
class ScriptedThreadPlanInterface;
class ScriptedSyntheticChildren;
class SearchFilter;
class Section;
class SectionList;
class SectionLoadHistory;
class SectionLoadList;
class Settings;
class SourceManager;
class SourceManagerImpl;
class StackFrame;
class StackFrameList;
class StackFrameRecognizer;
class StackFrameRecognizerManager;
class StackID;
class Status;
class SaveCoreOptions;
class StopInfo;
class Stoppoint;
class StoppointCallbackContext;
class Stream;
class StreamFile;
class StreamString;
class StringList;
class StringTableReader;
class StructuredDataImpl;
class StructuredDataPlugin;
class SupportFile;
class Symbol;
class SymbolContext;
class SymbolContextList;
class SymbolContextScope;
class SymbolContextSpecifier;
class SymbolFile;
class SymbolFileType;
class SymbolLocator;
class SymbolVendor;
class Symtab;
class SyntheticChildren;
class SyntheticChildrenFrontEnd;
class SystemRuntime;
class Target;
class TargetList;
class TargetProperties;
class Thread;
class ThreadCollection;
class ThreadList;
class ThreadPlan;
class ThreadPlanBase;
class ThreadPlanRunToAddress;
class ThreadPlanStepInstruction;
class ThreadPlanStepOut;
class ThreadPlanStepOverBreakpoint;
class ThreadPlanStepRange;
class ThreadPlanStepThrough;
class ThreadPlanTracer;
class ThreadSpec;
class ThreadPostMortemTrace;
class ThreadedCommunication;
class Trace;
class TraceCursor;
class TraceExporter;
class Type;
class TypeAndOrName;
class TypeCategoryImpl;
class TypeCategoryMap;
class TypeEnumMemberImpl;
class TypeEnumMemberListImpl;
class TypeFilterImpl;
class TypeFormatImpl;
class TypeImpl;
class TypeList;
class TypeListImpl;
class TypeMap;
class TypeQuery;
class TypeMemberFunctionImpl;
class TypeMemberImpl;
class TypeNameSpecifierImpl;
class TypeResults;
class TypeSummaryImpl;
class TypeSummaryOptions;
class TypeSystem;
class TypeSystemClang;
class UUID;
class UnixSignals;
class Unwind;
class UnwindAssembly;
class UnwindPlan;
class UnwindTable;
class UserExpression;
class UtilityFunction;
class VMRange;
class Value;
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;
class WatchpointResource;
class WatchpointResourceCollection;
class WatchpointSetOptions;
struct CompilerContext;
struct LineEntry;
struct PropertyDefinition;
struct ScriptSummaryFormat;
struct StatisticsOptions;
struct StringSummaryFormat;
template <unsigned N> class StreamBuffer;

} // namespace lldb_private

// lldb forward declarations
namespace lldb {

ABISP;
AddressRangeUP;
BatonSP;
BlockSP;
BreakpointSP;
BreakpointWP;
BreakpointSiteSP;
BreakpointLocationSP;
BreakpointLocationWP;
BreakpointPreconditionSP;
BreakpointResolverSP;
BroadcasterSP;
BroadcasterManagerSP;
BroadcasterManagerWP;
UserExpressionSP;
CommandObjectSP;
ConnectionSP;
CompUnitSP;
DataBufferSP;
WritableDataBufferSP;
DataExtractorSP;
DebuggerSP;
DebuggerWP;
DisassemblerSP;
DynamicCheckerFunctionsUP;
DynamicLoaderUP;
EventSP;
EventDataSP;
EventDataStructuredDataSP;
ExecutionContextRefSP;
ExpressionVariableSP;
FileUP;
FileSP;
FormatEntrySP;
FunctionSP;
FuncUnwindersSP;
InlineFunctionInfoSP;
InstructionSP;
InstrumentationRuntimeSP;
IOHandlerSP;
IOObjectSP;
IRExecutionUnitSP;
JITLoaderSP;
JITLoaderListUP;
LanguageRuntimeSP;
SystemRuntimeUP;
ListenerSP;
ListenerWP;
MemoryHistorySP;
MemoryRegionInfoUP;
MemoryRegionInfoSP;
ModuleSP;
ModuleWP;
ObjectFileSP;
ObjectContainerSP;
ObjectFileJITDelegateSP;
ObjectFileJITDelegateWP;
OperatingSystemUP;
OperatingSystemInterfaceSP;
OptionValueSP;
OptionValueWP;
OptionValuePropertiesSP;
PlatformSP;
ProcessSP;
ProcessAttachInfoSP;
ProcessLaunchInfoSP;
ProcessWP;
RegisterCheckpointSP;
RegisterContextSP;
RegisterTypeBuilderSP;
RegularExpressionSP;
QueueSP;
QueueWP;
QueueItemSP;
REPLSP;
RecognizedStackFrameSP;
ScriptSummaryFormatSP;
ScriptInterpreterSP;
ScriptedMetadataSP;
ScriptedPlatformInterfaceUP;
ScriptedProcessInterfaceUP;
ScriptedThreadInterfaceSP;
ScriptedThreadPlanInterfaceSP;
SectionSP;
SectionListUP;
SectionWP;
SectionLoadListSP;
SearchFilterSP;
SourceManagerUP;
StackFrameSP;
StackFrameWP;
StackFrameListSP;
StackFrameRecognizerSP;
StackFrameRecognizerManagerUP;
StopInfoSP;
StreamSP;
StreamFileSP;
StringTypeSummaryImplSP;
StructuredDataImplUP;
StructuredDataPluginSP;
StructuredDataPluginWP;
SymbolFileTypeSP;
SymbolContextSpecifierSP;
SymbolVendorUP;
SyntheticChildrenSP;
SyntheticChildrenFrontEndSP;
TargetSP;
TargetWP;
ThreadSP;
ThreadWP;
ThreadCollectionSP;
ThreadPlanSP;
ThreadPostMortemTraceSP;
ThreadPlanWP;
ThreadPlanTracerSP;
TraceSP;
TraceExporterUP;
TraceCursorSP;
TypeSP;
TypeWP;
TypeCategoryImplSP;
TypeImplSP;
TypeMemberFunctionImplSP;
TypeEnumMemberImplSP;
TypeFilterImplSP;
TypeSystemSP;
TypeSystemClangSP;
TypeSystemWP;
TypeFormatImplSP;
TypeNameSpecifierImplSP;
TypeSummaryImplSP;
TypeSummaryOptionsSP;
ScriptedSyntheticChildrenSP;
SupportFileSP;
UnixSignalsSP;
UnixSignalsWP;
UnwindAssemblySP;
UnwindPlanSP;
ValueObjectSP;
ValueSP;
VariableSP;
VariableListSP;
ValueObjectListSP;
WatchpointSP;
WatchpointResourceSP;

} // namespace lldb

#endif // LLDB_LLDB_FORWARD_H