Changeset View
Changeset View
Standalone View
Standalone View
source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Context not available. | |||||
#include "clang/AST/CharUnits.h" | #include "clang/AST/CharUnits.h" | ||||
// Project includes | // Project includes | ||||
#include "DWARFASTParser.h" | |||||
#include "DWARFDefines.h" | |||||
#include "lldb/Core/ClangForward.h" | #include "lldb/Core/ClangForward.h" | ||||
#include "lldb/Core/PluginInterface.h" | #include "lldb/Core/PluginInterface.h" | ||||
#include "lldb/Symbol/ClangASTContext.h" | #include "lldb/Symbol/ClangASTContext.h" | ||||
#include "DWARFDefines.h" | #include "lldb/Symbol/ClangASTImporter.h" | ||||
#include "DWARFASTParser.h" | |||||
class DWARFDebugInfoEntry; | class DWARFDebugInfoEntry; | ||||
class DWARFDIECollection; | class DWARFDIECollection; | ||||
Context not available. | |||||
~DWARFASTParserClang() override; | ~DWARFASTParserClang() override; | ||||
// DWARFASTParser interface. | |||||
lldb::TypeSP | lldb::TypeSP | ||||
ParseTypeFromDWARF (const lldb_private::SymbolContext& sc, | ParseTypeFromDWARF (const lldb_private::SymbolContext& sc, | ||||
const DWARFDIE &die, | const DWARFDIE &die, | ||||
Context not available. | |||||
const DWARFDIE &die) override; | const DWARFDIE &die) override; | ||||
bool | bool | ||||
CanCompleteType (const lldb_private::CompilerType &compiler_type) override; | |||||
bool | |||||
CompleteType (const lldb_private::CompilerType &compiler_type) override; | |||||
bool | |||||
CompleteTypeFromDWARF (const DWARFDIE &die, | CompleteTypeFromDWARF (const DWARFDIE &die, | ||||
lldb_private::Type *type, | lldb_private::Type *type, | ||||
lldb_private::CompilerType &compiler_type) override; | lldb_private::CompilerType &compiler_type) override; | ||||
Context not available. | |||||
lldb_private::CompilerDeclContext | lldb_private::CompilerDeclContext | ||||
GetDeclContextContainingUIDFromDWARF (const DWARFDIE &die) override; | GetDeclContextContainingUIDFromDWARF (const DWARFDIE &die) override; | ||||
bool | lldb_private::ClangASTImporter & | ||||
LayoutRecordType(const clang::RecordDecl *record_decl, | GetClangASTImporter(); | ||||
uint64_t &bit_size, | |||||
uint64_t &alignment, | |||||
llvm::DenseMap<const clang::FieldDecl *, uint64_t> &field_offsets, | |||||
llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> &base_offsets, | |||||
llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> &vbase_offsets); | |||||
protected: | protected: | ||||
class DelayedAddObjCClassProperty; | class DelayedAddObjCClassProperty; | ||||
typedef std::vector <DelayedAddObjCClassProperty> DelayedPropertyList; | typedef std::vector <DelayedAddObjCClassProperty> DelayedPropertyList; | ||||
struct LayoutInfo | |||||
{ | |||||
LayoutInfo () : | |||||
bit_size(0), | |||||
alignment(0), | |||||
field_offsets(), | |||||
base_offsets(), | |||||
vbase_offsets() | |||||
{ | |||||
} | |||||
uint64_t bit_size; | |||||
uint64_t alignment; | |||||
llvm::DenseMap<const clang::FieldDecl *, uint64_t> field_offsets; | |||||
llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> base_offsets; | |||||
llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> vbase_offsets; | |||||
}; | |||||
clang::BlockDecl * | clang::BlockDecl * | ||||
ResolveBlockDIE (const DWARFDIE &die); | ResolveBlockDIE (const DWARFDIE &die); | ||||
clang::NamespaceDecl * | clang::NamespaceDecl * | ||||
ResolveNamespaceDIE (const DWARFDIE &die); | ResolveNamespaceDIE (const DWARFDIE &die); | ||||
typedef llvm::DenseMap<const clang::RecordDecl *, LayoutInfo> RecordDeclToLayoutMap; | |||||
bool | bool | ||||
ParseTemplateDIE (const DWARFDIE &die, | ParseTemplateDIE (const DWARFDIE &die, | ||||
lldb_private::ClangASTContext::TemplateParameterInfos &template_param_infos); | lldb_private::ClangASTContext::TemplateParameterInfos &template_param_infos); | ||||
Context not available. | |||||
lldb_private::ClangASTContext::TemplateParameterInfos &template_param_infos); | lldb_private::ClangASTContext::TemplateParameterInfos &template_param_infos); | ||||
bool | bool | ||||
ParseChildMembers (const lldb_private::SymbolContext& sc, | ParseChildMembers(const lldb_private::SymbolContext &sc, const DWARFDIE &die, | ||||
const DWARFDIE &die, | lldb_private::CompilerType &class_compiler_type, const lldb::LanguageType class_language, | ||||
lldb_private::CompilerType &class_compiler_type, | std::vector<clang::CXXBaseSpecifier *> &base_classes, std::vector<int> &member_accessibilities, | ||||
const lldb::LanguageType class_language, | DWARFDIECollection &member_function_dies, DelayedPropertyList &delayed_properties, | ||||
std::vector<clang::CXXBaseSpecifier *>& base_classes, | lldb::AccessType &default_accessibility, bool &is_a_class, | ||||
std::vector<int>& member_accessibilities, | lldb_private::ClangASTImporter::LayoutInfo &layout_info); | ||||
DWARFDIECollection& member_function_dies, | |||||
DelayedPropertyList& delayed_properties, | |||||
lldb::AccessType &default_accessibility, | |||||
bool &is_a_class, | |||||
LayoutInfo &layout_info); | |||||
size_t | size_t | ||||
ParseChildParameters (const lldb_private::SymbolContext& sc, | ParseChildParameters (const lldb_private::SymbolContext& sc, | ||||
Context not available. | |||||
void | void | ||||
LinkDeclToDIE (clang::Decl *decl, const DWARFDIE &die); | LinkDeclToDIE (clang::Decl *decl, const DWARFDIE &die); | ||||
lldb_private::ClangASTImporter & | |||||
GetClangASTImporter(); | |||||
lldb::TypeSP | lldb::TypeSP | ||||
ParseTypeFromDWO (const DWARFDIE &die, lldb_private::Log *log); | ParseTypeFromDWO (const DWARFDIE &die, lldb_private::Log *log); | ||||
Context not available. | |||||
DeclToDIEMap m_decl_to_die; | DeclToDIEMap m_decl_to_die; | ||||
DIEToDeclContextMap m_die_to_decl_ctx; | DIEToDeclContextMap m_die_to_decl_ctx; | ||||
DeclContextToDIEMap m_decl_ctx_to_die; | DeclContextToDIEMap m_decl_ctx_to_die; | ||||
RecordDeclToLayoutMap m_record_decl_to_layout_map; | |||||
std::unique_ptr<lldb_private::ClangASTImporter> m_clang_ast_importer_ap; | std::unique_ptr<lldb_private::ClangASTImporter> m_clang_ast_importer_ap; | ||||
}; | }; | ||||
Context not available. |