llvm/lldb/include/lldb/lldb-private-interfaces.h

//===-- lldb-private-interfaces.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_PRIVATE_INTERFACES_H
#define LLDB_LLDB_PRIVATE_INTERFACES_H

#include "lldb/lldb-enumerations.h"
#include "lldb/lldb-forward.h"
#include "lldb/lldb-private-enumerations.h"
#include "lldb/lldb-types.h"
#include <memory>
#include <set>

namespace llvm {
namespace json {
class Object;
class Value;
}
} // namespace llvm

namespace lldb_private {
class ScriptedInterfaceUsages;
ABICreateInstance;
ArchitectureCreateInstance;
DisassemblerCreateInstance;
DynamicLoaderCreateInstance;
JITLoaderCreateInstance;
ObjectContainerCreateInstance;
ObjectContainerCreateMemoryInstance;
ObjectFileGetModuleSpecifications;
ObjectFileCreateInstance;
ObjectFileCreateMemoryInstance;
ObjectFileSaveCore;
EmulateInstructionCreateInstance;
OperatingSystemCreateInstance;
LanguageCreateInstance;
LanguageRuntimeCreateInstance;
LanguageRuntimeGetCommandObject;
LanguageRuntimeGetExceptionPrecondition;
StructuredDataPluginCreateInstance;
StructuredDataFilterLaunchInfo;
SystemRuntimeCreateInstance;
PlatformCreateInstance;
ProcessCreateInstance;
RegisterTypeBuilderCreateInstance;
ScriptInterpreterCreateInstance;
SymbolFileCreateInstance;
SymbolVendorCreateInstance; // Module can be NULL for default system symbol vendor
SymbolLocatorCreateInstance;
SymbolLocatorLocateExecutableObjectFile;
SymbolLocatorFindSymbolFileInBundle;
SymbolLocatorLocateExecutableSymbolFile;
SymbolLocatorDownloadObjectAndSymbolFile;
BreakpointHitCallback;

WatchpointHitCallback;
ThreadPlanShouldStopHereCallback;
ThreadPlanStepFromHereCallback;
UnwindAssemblyCreateInstance;
MemoryHistoryCreateInstance;
InstrumentationRuntimeGetType;
InstrumentationRuntimeCreateInstance;
TypeSystemCreateInstance;
REPLCreateInstance;
ScriptedInterfaceCreateInstance;
ComparisonFunction;
DebuggerInitializeCallback;
/// Trace
/// \{
TraceCreateInstanceFromBundle;
TraceCreateInstanceForLiveProcess;
TraceExporterCreateInstance;
ThreadTraceExportCommandCreator;
/// \}
} // namespace lldb_private

#endif // LLDB_LLDB_PRIVATE_INTERFACES_H