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

//===-- lldb-private-types.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_TYPES_H
#define LLDB_LLDB_PRIVATE_TYPES_H

#include "lldb/lldb-private.h"

#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallString.h"

#include <type_traits>

namespace llvm {
namespace sys {
class DynamicLibrary;
}
}

namespace lldb_private {
class Platform;
class ExecutionContext;
class RegisterFlags;

PathSmallString;

LoadPluginCallbackType;

/// Every register is described in detail including its name, alternate name
/// (optional), encoding, size in bytes and the default display format.
struct RegisterInfo {};
static_assert;

/// Registers are grouped into register sets
struct RegisterSet {};

/// A type-erased pair of llvm::dwarf::SourceLanguageName and version.
struct SourceLanguage {};

struct OptionEnumValueElement {};

OptionEnumValues;

struct OptionValidator {};

type128;
type256;

/// Functor that returns a ValueObjectSP for a variable given its name
/// and the StackFrame of interest. Used primarily in the Materializer
/// to refetch a ValueObject when the ExecutionContextScope changes.
ValueObjectProviderTy;

DebuggerDestroyCallback;
CommandOverrideCallbackWithResult;
} // namespace lldb_private

#endif // LLDB_LLDB_PRIVATE_TYPES_H