#include "SymbolFileSymtab.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/Symtab.h"
#include "lldb/Symbol/TypeList.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Timer.h"
#include <memory>
#include <optional>
usingnamespacelldb;
usingnamespacelldb_private;
LLDB_PLUGIN_DEFINE(…)
char SymbolFileSymtab::ID;
void SymbolFileSymtab::Initialize() { … }
void SymbolFileSymtab::Terminate() { … }
llvm::StringRef SymbolFileSymtab::GetPluginDescriptionStatic() { … }
SymbolFile *SymbolFileSymtab::CreateInstance(ObjectFileSP objfile_sp) { … }
void SymbolFileSymtab::GetTypes(SymbolContextScope *sc_scope,
TypeClass type_mask,
lldb_private::TypeList &type_list) { … }
SymbolFileSymtab::SymbolFileSymtab(ObjectFileSP objfile_sp)
: … { … }
uint32_t SymbolFileSymtab::CalculateAbilities() { … }
uint32_t SymbolFileSymtab::CalculateNumCompileUnits() { … }
CompUnitSP SymbolFileSymtab::ParseCompileUnitAtIndex(uint32_t idx) { … }
lldb::LanguageType SymbolFileSymtab::ParseLanguage(CompileUnit &comp_unit) { … }
size_t SymbolFileSymtab::ParseFunctions(CompileUnit &comp_unit) { … }
size_t SymbolFileSymtab::ParseTypes(CompileUnit &comp_unit) { … }
bool SymbolFileSymtab::ParseLineTable(CompileUnit &comp_unit) { … }
bool SymbolFileSymtab::ParseDebugMacros(CompileUnit &comp_unit) { … }
bool SymbolFileSymtab::ParseSupportFiles(CompileUnit &comp_unit,
SupportFileList &support_files) { … }
bool SymbolFileSymtab::ParseImportedModules(
const SymbolContext &sc, std::vector<SourceModule> &imported_modules) { … }
size_t SymbolFileSymtab::ParseBlocksRecursive(Function &func) { … }
size_t SymbolFileSymtab::ParseVariablesForContext(const SymbolContext &sc) { … }
Type *SymbolFileSymtab::ResolveTypeUID(lldb::user_id_t type_uid) { … }
std::optional<SymbolFile::ArrayInfo>
SymbolFileSymtab::GetDynamicArrayInfoForUID(
lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx) { … }
bool SymbolFileSymtab::CompleteType(lldb_private::CompilerType &compiler_type) { … }
uint32_t SymbolFileSymtab::ResolveSymbolContext(const Address &so_addr,
SymbolContextItem resolve_scope,
SymbolContext &sc) { … }