#include "ClangPersistentVariables.h"
#include "ClangASTImporter.h"
#include "ClangModulesDeclVendor.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Value.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "clang/AST/Decl.h"
#include "llvm/ADT/StringMap.h"
#include <optional>
#include <memory>
usingnamespacelldb;
usingnamespacelldb_private;
char ClangPersistentVariables::ID;
ClangPersistentVariables::ClangPersistentVariables(
std::shared_ptr<Target> target_sp)
: … { … }
ExpressionVariableSP ClangPersistentVariables::CreatePersistentVariable(
const lldb::ValueObjectSP &valobj_sp) { … }
ExpressionVariableSP ClangPersistentVariables::CreatePersistentVariable(
ExecutionContextScope *exe_scope, ConstString name,
const CompilerType &compiler_type, lldb::ByteOrder byte_order,
uint32_t addr_byte_size) { … }
void ClangPersistentVariables::RemovePersistentVariable(
lldb::ExpressionVariableSP variable) { … }
std::optional<CompilerType>
ClangPersistentVariables::GetCompilerTypeFromPersistentDecl(
ConstString type_name) { … }
void ClangPersistentVariables::RegisterPersistentDecl(
ConstString name, clang::NamedDecl *decl,
std::shared_ptr<TypeSystemClang> ctx) { … }
clang::NamedDecl *
ClangPersistentVariables::GetPersistentDecl(ConstString name) { … }
std::shared_ptr<ClangASTImporter>
ClangPersistentVariables::GetClangASTImporter() { … }
std::shared_ptr<ClangModulesDeclVendor>
ClangPersistentVariables::GetClangModulesDeclVendor() { … }
ConstString
ClangPersistentVariables::GetNextPersistentVariableName(bool is_error) { … }