LLDB  mainline
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
DWARFASTParserClang Class Reference

#include <DWARFASTParserClang.h>

Inheritance diagram for DWARFASTParserClang:
Inheritance graph
[legend]
Collaboration diagram for DWARFASTParserClang:
Collaboration graph
[legend]

Classes

class  DelayedAddObjCClassProperty
 
struct  FieldInfo
 

Public Member Functions

 DWARFASTParserClang (lldb_private::TypeSystemClang &ast)
 
 ~DWARFASTParserClang () override
 
lldb::TypeSP ParseTypeFromDWARF (const lldb_private::SymbolContext &sc, const DWARFDIE &die, bool *type_is_new_ptr) override
 
lldb_private::FunctionParseFunctionFromDWARF (lldb_private::CompileUnit &comp_unit, const DWARFDIE &die) override
 
bool CompleteTypeFromDWARF (const DWARFDIE &die, lldb_private::Type *type, lldb_private::CompilerType &compiler_type) override
 
lldb_private::CompilerDecl GetDeclForUIDFromDWARF (const DWARFDIE &die) override
 
void EnsureAllDIEsInDeclContextHaveBeenParsed (lldb_private::CompilerDeclContext decl_context) override
 
lldb_private::CompilerDeclContext GetDeclContextForUIDFromDWARF (const DWARFDIE &die) override
 
lldb_private::CompilerDeclContext GetDeclContextContainingUIDFromDWARF (const DWARFDIE &die) override
 
lldb_private::ClangASTImporterGetClangASTImporter ()
 
- Public Member Functions inherited from DWARFASTParser
virtual ~DWARFASTParser ()
 

Protected Member Functions

clang::DeclContext * GetDeclContextForBlock (const DWARFDIE &die)
 
clang::BlockDecl * ResolveBlockDIE (const DWARFDIE &die)
 
clang::NamespaceDecl * ResolveNamespaceDIE (const DWARFDIE &die)
 
bool ParseTemplateDIE (const DWARFDIE &die, lldb_private::TypeSystemClang::TemplateParameterInfos &template_param_infos)
 
bool ParseTemplateParameterInfos (const DWARFDIE &parent_die, lldb_private::TypeSystemClang::TemplateParameterInfos &template_param_infos)
 
bool ParseChildMembers (const DWARFDIE &die, lldb_private::CompilerType &class_compiler_type, std::vector< std::unique_ptr< clang::CXXBaseSpecifier >> &base_classes, std::vector< int > &member_accessibilities, std::vector< DWARFDIE > &member_function_dies, DelayedPropertyList &delayed_properties, lldb::AccessType &default_accessibility, bool &is_a_class, lldb_private::ClangASTImporter::LayoutInfo &layout_info)
 
size_t ParseChildParameters (clang::DeclContext *containing_decl_ctx, const DWARFDIE &parent_die, bool skip_artificial, bool &is_static, bool &is_variadic, bool &has_template_params, std::vector< lldb_private::CompilerType > &function_args, std::vector< clang::ParmVarDecl * > &function_param_decls, unsigned &type_quals)
 
size_t ParseChildEnumerators (lldb_private::CompilerType &compiler_type, bool is_signed, uint32_t enumerator_byte_size, const DWARFDIE &parent_die)
 
lldb::TypeSP ParseStructureLikeDIE (const lldb_private::SymbolContext &sc, const DWARFDIE &die, ParsedDWARFTypeAttributes &attrs)
 Parse a structure, class, or union type DIE. More...
 
lldb_private::TypeGetTypeForDIE (const DWARFDIE &die)
 
clang::Decl * GetClangDeclForDIE (const DWARFDIE &die)
 
clang::DeclContext * GetClangDeclContextForDIE (const DWARFDIE &die)
 
clang::DeclContext * GetClangDeclContextContainingDIE (const DWARFDIE &die, DWARFDIE *decl_ctx_die)
 
lldb_private::OptionalClangModuleID GetOwningClangModule (const DWARFDIE &die)
 
bool CopyUniqueClassMethodTypes (const DWARFDIE &src_class_die, const DWARFDIE &dst_class_die, lldb_private::Type *class_type, std::vector< DWARFDIE > &failures)
 
clang::DeclContext * GetCachedClangDeclContextForDIE (const DWARFDIE &die)
 
void LinkDeclContextToDIE (clang::DeclContext *decl_ctx, const DWARFDIE &die)
 
void LinkDeclToDIE (clang::Decl *decl, const DWARFDIE &die)
 
lldb::TypeSP UpdateSymbolContextScopeForType (const lldb_private::SymbolContext &sc, const DWARFDIE &die, lldb::TypeSP type_sp)
 If type_sp is valid, calculate and set its symbol context scope, and update the type list for its backing symbol file. More...
 
lldb::TypeSP ParseTypeFromClangModule (const lldb_private::SymbolContext &sc, const DWARFDIE &die, lldb_private::Log *log)
 Follow Clang Module Skeleton CU references to find a type definition. More...
 
lldb::ModuleSP GetModuleForType (const DWARFDIE &die)
 

Private Member Functions

void ParseSingleMember (const DWARFDIE &die, const DWARFDIE &parent_die, const lldb_private::CompilerType &class_clang_type, std::vector< int > &member_accessibilities, lldb::AccessType default_accessibility, DelayedPropertyList &delayed_properties, lldb_private::ClangASTImporter::LayoutInfo &layout_info, FieldInfo &last_field_info)
 
bool CompleteRecordType (const DWARFDIE &die, lldb_private::Type *type, lldb_private::CompilerType &clang_type)
 
bool CompleteEnumType (const DWARFDIE &die, lldb_private::Type *type, lldb_private::CompilerType &clang_type)
 
lldb::TypeSP ParseTypeModifier (const lldb_private::SymbolContext &sc, const DWARFDIE &die, ParsedDWARFTypeAttributes &attrs)
 
lldb::TypeSP ParseEnum (const lldb_private::SymbolContext &sc, const DWARFDIE &die, ParsedDWARFTypeAttributes &attrs)
 
lldb::TypeSP ParseSubroutine (const DWARFDIE &die, ParsedDWARFTypeAttributes &attrs)
 
lldb::TypeSP ParseArrayType (const DWARFDIE &die, ParsedDWARFTypeAttributes &attrs)
 
lldb::TypeSP ParsePointerToMemberType (const DWARFDIE &die, const ParsedDWARFTypeAttributes &attrs)
 
typedef std::vector< DelayedAddObjCClassPropertyDelayedPropertyList
 
typedef llvm::SmallPtrSet< const DWARFDebugInfoEntry *, 4 > DIEPointerSet
 
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, clang::DeclContext * > DIEToDeclContextMap
 
typedef std::multimap< const clang::DeclContext *, const DWARFDIEDeclContextToDIEMap
 
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, lldb_private::OptionalClangModuleIDDIEToModuleMap
 
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, clang::Decl * > DIEToDeclMap
 
typedef llvm::DenseMap< const clang::Decl *, DIEPointerSetDeclToDIEMap
 
lldb_private::TypeSystemClangm_ast
 
DIEToDeclMap m_die_to_decl
 
DeclToDIEMap m_decl_to_die
 
DIEToDeclContextMap m_die_to_decl_ctx
 
DeclContextToDIEMap m_decl_ctx_to_die
 
DIEToModuleMap m_die_to_module
 
std::unique_ptr< lldb_private::ClangASTImporterm_clang_ast_importer_up
 

Additional Inherited Members

- Static Public Member Functions inherited from DWARFASTParser
static llvm::Optional< lldb_private::SymbolFile::ArrayInfoParseChildArrayInfo (const DWARFDIE &parent_die, const lldb_private::ExecutionContext *exe_ctx=nullptr)
 

Detailed Description

Definition at line 37 of file DWARFASTParserClang.h.

Member Typedef Documentation

◆ DeclContextToDIEMap

typedef std::multimap<const clang::DeclContext *, const DWARFDIE> DWARFASTParserClang::DeclContextToDIEMap
protected

Definition at line 80 of file DWARFASTParserClang.h.

◆ DeclToDIEMap

typedef llvm::DenseMap<const clang::Decl *, DIEPointerSet> DWARFASTParserClang::DeclToDIEMap
protected

Definition at line 86 of file DWARFASTParserClang.h.

◆ DelayedPropertyList

Definition at line 73 of file DWARFASTParserClang.h.

◆ DIEPointerSet

typedef llvm::SmallPtrSet<const DWARFDebugInfoEntry *, 4> DWARFASTParserClang::DIEPointerSet
protected

Definition at line 76 of file DWARFASTParserClang.h.

◆ DIEToDeclContextMap

typedef llvm::DenseMap<const DWARFDebugInfoEntry *, clang::DeclContext *> DWARFASTParserClang::DIEToDeclContextMap
protected

Definition at line 78 of file DWARFASTParserClang.h.

◆ DIEToDeclMap

typedef llvm::DenseMap<const DWARFDebugInfoEntry *, clang::Decl *> DWARFASTParserClang::DIEToDeclMap
protected

Definition at line 85 of file DWARFASTParserClang.h.

◆ DIEToModuleMap

Definition at line 83 of file DWARFASTParserClang.h.

Constructor & Destructor Documentation

◆ DWARFASTParserClang()

DWARFASTParserClang::DWARFASTParserClang ( lldb_private::TypeSystemClang ast)

Definition at line 60 of file DWARFASTParserClang.cpp.

◆ ~DWARFASTParserClang()

DWARFASTParserClang::~DWARFASTParserClang ( )
override

Definition at line 63 of file DWARFASTParserClang.cpp.

Member Function Documentation

◆ CompleteEnumType()

bool DWARFASTParserClang::CompleteEnumType ( const DWARFDIE die,
lldb_private::Type type,
lldb_private::CompilerType clang_type 
)
private

◆ CompleteRecordType()

bool DWARFASTParserClang::CompleteRecordType ( const DWARFDIE die,
lldb_private::Type type,
lldb_private::CompilerType clang_type 
)
private

◆ CompleteTypeFromDWARF()

bool DWARFASTParserClang::CompleteTypeFromDWARF ( const DWARFDIE die,
lldb_private::Type type,
lldb_private::CompilerType compiler_type 
)
overridevirtual

◆ CopyUniqueClassMethodTypes()

bool DWARFASTParserClang::CopyUniqueClassMethodTypes ( const DWARFDIE src_class_die,
const DWARFDIE dst_class_die,
lldb_private::Type class_type,
std::vector< DWARFDIE > &  failures 
)
protected

◆ EnsureAllDIEsInDeclContextHaveBeenParsed()

void DWARFASTParserClang::EnsureAllDIEsInDeclContextHaveBeenParsed ( lldb_private::CompilerDeclContext  decl_context)
overridevirtual

◆ GetCachedClangDeclContextForDIE()

clang::DeclContext * DWARFASTParserClang::GetCachedClangDeclContextForDIE ( const DWARFDIE die)
protected

◆ GetClangASTImporter()

ClangASTImporter & DWARFASTParserClang::GetClangASTImporter ( )

◆ GetClangDeclContextContainingDIE()

clang::DeclContext * DWARFASTParserClang::GetClangDeclContextContainingDIE ( const DWARFDIE die,
DWARFDIE decl_ctx_die 
)
protected

◆ GetClangDeclContextForDIE()

clang::DeclContext * DWARFASTParserClang::GetClangDeclContextForDIE ( const DWARFDIE die)
protected

◆ GetClangDeclForDIE()

clang::Decl * DWARFASTParserClang::GetClangDeclForDIE ( const DWARFDIE die)
protected

◆ GetDeclContextContainingUIDFromDWARF()

CompilerDeclContext DWARFASTParserClang::GetDeclContextContainingUIDFromDWARF ( const DWARFDIE die)
overridevirtual

◆ GetDeclContextForBlock()

clang::DeclContext * DWARFASTParserClang::GetDeclContextForBlock ( const DWARFDIE die)
protected

◆ GetDeclContextForUIDFromDWARF()

CompilerDeclContext DWARFASTParserClang::GetDeclContextForUIDFromDWARF ( const DWARFDIE die)
overridevirtual

◆ GetDeclForUIDFromDWARF()

CompilerDecl DWARFASTParserClang::GetDeclForUIDFromDWARF ( const DWARFDIE die)
overridevirtual

◆ GetModuleForType()

lldb::ModuleSP DWARFASTParserClang::GetModuleForType ( const DWARFDIE die)
protected

◆ GetOwningClangModule()

OptionalClangModuleID DWARFASTParserClang::GetOwningClangModule ( const DWARFDIE die)
protected

◆ GetTypeForDIE()

Type * DWARFASTParserClang::GetTypeForDIE ( const DWARFDIE die)
protected

◆ LinkDeclContextToDIE()

void DWARFASTParserClang::LinkDeclContextToDIE ( clang::DeclContext *  decl_ctx,
const DWARFDIE die 
)
protected

◆ LinkDeclToDIE()

void DWARFASTParserClang::LinkDeclToDIE ( clang::Decl *  decl,
const DWARFDIE die 
)
protected

◆ ParseArrayType()

TypeSP DWARFASTParserClang::ParseArrayType ( const DWARFDIE die,
ParsedDWARFTypeAttributes attrs 
)
private

◆ ParseChildEnumerators()

size_t DWARFASTParserClang::ParseChildEnumerators ( lldb_private::CompilerType compiler_type,
bool  is_signed,
uint32_t  enumerator_byte_size,
const DWARFDIE parent_die 
)
protected

◆ ParseChildMembers()

bool DWARFASTParserClang::ParseChildMembers ( const DWARFDIE die,
lldb_private::CompilerType class_compiler_type,
std::vector< std::unique_ptr< clang::CXXBaseSpecifier >> &  base_classes,
std::vector< int > &  member_accessibilities,
std::vector< DWARFDIE > &  member_function_dies,
DelayedPropertyList delayed_properties,
lldb::AccessType default_accessibility,
bool &  is_a_class,
lldb_private::ClangASTImporter::LayoutInfo layout_info 
)
protected

◆ ParseChildParameters()

size_t DWARFASTParserClang::ParseChildParameters ( clang::DeclContext *  containing_decl_ctx,
const DWARFDIE parent_die,
bool  skip_artificial,
bool &  is_static,
bool &  is_variadic,
bool &  has_template_params,
std::vector< lldb_private::CompilerType > &  function_args,
std::vector< clang::ParmVarDecl * > &  function_param_decls,
unsigned &  type_quals 
)
protected

◆ ParseEnum()

TypeSP DWARFASTParserClang::ParseEnum ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
ParsedDWARFTypeAttributes attrs 
)
private

◆ ParseFunctionFromDWARF()

Function * DWARFASTParserClang::ParseFunctionFromDWARF ( lldb_private::CompileUnit comp_unit,
const DWARFDIE die 
)
overridevirtual

◆ ParsePointerToMemberType()

TypeSP DWARFASTParserClang::ParsePointerToMemberType ( const DWARFDIE die,
const ParsedDWARFTypeAttributes attrs 
)
private

◆ ParseSingleMember()

void DWARFASTParserClang::ParseSingleMember ( const DWARFDIE die,
const DWARFDIE parent_die,
const lldb_private::CompilerType class_clang_type,
std::vector< int > &  member_accessibilities,
lldb::AccessType  default_accessibility,
DelayedPropertyList delayed_properties,
lldb_private::ClangASTImporter::LayoutInfo layout_info,
FieldInfo last_field_info 
)
private

Definition at line 2348 of file DWARFASTParserClang.cpp.

References DWARFFormValue::AsCString(), DWARFAttributes::AttributeAtIndex(), lldb_private::ClangASTImporter::LayoutInfo::base_offsets, DWARFASTParserClang::FieldInfo::bit_offset, DWARFASTParserClang::FieldInfo::bit_size, DWARFFormValue::BlockData(), DWARFFormValue::Boolean(), lldb_private::TypeSystemClang::CreateArrayType(), DW_ACCESS_to_AccessType(), lldb_private::DW_TAG_value_to_name(), lldb::eAccessNone, lldb::eAccessPublic, lldb::eByteOrderLittle, lldb::eEncodingSint, lldb::eRegisterKindDWARF, DWARFAttributes::ExtractFormValueAtIndex(), lldb_private::ClangASTImporter::LayoutInfo::field_offsets, DWARFBaseDIE::GetAttributes(), DWARFBaseDIE::GetAttributeValueAsUnsigned(), lldb_private::TypeSystemClang::GetBuiltinTypeForEncodingAndBitSize(), lldb_private::ObjectFile::GetByteOrder(), lldb_private::Type::GetByteSize(), lldb_private::CompilerType::GetCompleteType(), lldb_private::ConstString::GetCString(), DWARFBaseDIE::GetCU(), DWARFBaseDIE::GetData(), lldb_private::DataExtractor::GetDataStart(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), DWARFBaseDIE::GetID(), lldb_private::Type::GetLayoutCompilerType(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFile::GetObjectFile(), DWARFBaseDIE::GetOffset(), lldb_private::ObjCLanguage::MethodName::GetSelector(), lldb_private::StreamString::GetString(), GetUnitName(), lldb_private::CompilerType::IsArrayType(), DWARFASTParserClang::FieldInfo::IsBitfield(), lldb_private::CompilerType::IsCompleteType(), m_ast, DWARFASTParserClang::FieldInfo::NextBitfieldOffsetIsValid(), lldb_private::Stream::Printf(), DWARFFormValue::Reference(), RequireCompleteType(), DWARFDIE::ResolveTypeUID(), lldb_private::Value::ResolveValue(), DWARFASTParserClang::FieldInfo::SetIsBitfield(), lldb_private::TypeSystemClang::SetMetadataAsUserID(), lldb_private::ConstString::SetString(), lldb_private::ClangASTMetadata::SetUserID(), DWARFFormValue::Signed(), DWARFUnit::Supports_unnamed_objc_bitfields(), DWARFBaseDIE::Tag(), lldb_private::Scalar::UInt(), UINT32_MAX, UINT64_MAX, and DWARFFormValue::Unsigned().

Referenced by ParseChildMembers().

◆ ParseStructureLikeDIE()

TypeSP DWARFASTParserClang::ParseStructureLikeDIE ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
ParsedDWARFTypeAttributes attrs 
)
protected

Parse a structure, class, or union type DIE.

Definition at line 1414 of file DWARFASTParserClang.cpp.

References ParsedDWARFTypeAttributes::accessibility, ParsedDWARFTypeAttributes::byte_size, ParsedDWARFTypeAttributes::calling_convention, ParsedDWARFTypeAttributes::class_language, lldb_private::Declaration::Clear(), lldb_private::TypeSystemClang::CreateClassTemplateSpecializationDecl(), lldb_private::TypeSystemClang::CreateClassTemplateSpecializationType(), lldb_private::TypeSystemClang::CreateRecordType(), DEBUG_PRINTF, ParsedDWARFTypeAttributes::decl, DeclKindIsCXXClass(), lldb_private::DW_TAG_value_to_name(), DWARF_LOG_LOOKUPS, DWARF_LOG_TYPE_COMPLETION, lldb::eAccessNone, lldb::eAccessPrivate, lldb::eAccessPublic, lldb::eLanguageTypeObjC, lldb::eLanguageTypeObjC_plus_plus, ParsedDWARFTypeAttributes::exports_symbols, SymbolFileDWARFDebugMap::FindCompleteObjCDefinitionTypeForDIE(), SymbolFileDWARFDebugMap::FindDefinitionTypeForDWARFDeclContext(), lldb_private::TypeSystemClang::GetAsCXXRecordDecl(), GetCachedClangDeclContextForDIE(), GetClangASTImporter(), GetClangDeclContextContainingDIE(), lldb_private::ConstString::GetCString(), DWARFBaseDIE::GetCU(), lldb_private::TypeSystemClang::GetDeclContextForType(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDIERef(), DWARFBaseDIE::GetDWARF(), SymbolFileDWARF::GetDWARFDeclContext(), DWARFBaseDIE::GetID(), SymbolFileDWARF::GetLanguage(), DWARFBaseDIE::GetOffset(), lldb_private::CompilerType::GetOpaqueQualType(), GetOwningClangModule(), DWARFDIE::GetQualifiedName(), lldb_private::ConstString::GetStringRef(), DWARFBaseDIE::HasChildren(), ParsedDWARFTypeAttributes::is_complete_objc_class, ParsedDWARFTypeAttributes::is_forward_declaration, LinkDeclContextToDIE(), LLDB_INVALID_UID, m_ast, ParsedDWARFTypeAttributes::name, lldb_private::TypeSystemClang::ParseClassTemplateDecl(), ParseTemplateParameterInfos(), ParseTypeFromClangModule(), PrepareContextToReceiveMembers(), lldb_private::CompilerType::SetCompilerType(), lldb_private::TypeSystemClang::SetHasExternalStorage(), lldb_private::ClangASTMetadata::SetIsDynamicCXXType(), lldb_private::TypeSystemClang::SetMetadata(), lldb_private::ClangASTImporter::SetRecordLayout(), lldb_private::ClangASTMetadata::SetUserID(), string(), DWARFBaseDIE::Supports_DW_AT_APPLE_objc_complete_type(), and DWARFBaseDIE::Tag().

Referenced by ParseTypeFromDWARF().

◆ ParseSubroutine()

TypeSP DWARFASTParserClang::ParseSubroutine ( const DWARFDIE die,
ParsedDWARFTypeAttributes attrs 
)
private

Definition at line 880 of file DWARFASTParserClang.cpp.

References ParsedDWARFTypeAttributes::abstract_origin, ParsedDWARFTypeAttributes::accessibility, lldb_private::TypeSystemClang::AddMethodToCXXRecordType(), lldb_private::TypeSystemClang::AddMethodToObjCObjectType(), CopyUniqueClassMethodTypes(), lldb_private::TypeSystemClang::CreateFunctionDeclaration(), lldb_private::TypeSystemClang::CreateFunctionTemplateDecl(), lldb_private::TypeSystemClang::CreateFunctionTemplateSpecializationInfo(), lldb_private::TypeSystemClang::CreateFunctionType(), DEBUG_PRINTF, ParsedDWARFTypeAttributes::decl, DeclKindIsCXXClass(), DIE_IS_BEING_PARSED, lldb_private::DW_TAG_value_to_name(), DWARF_LOG_LOOKUPS, DWARF_LOG_TYPE_COMPLETION, lldb::eAccessNone, lldb::eAccessPublic, lldb::eBasicTypeVoid, lldb_private::TypeSystemClang::GetAsCXXRecordDecl(), lldb_private::TypeSystemClang::GetBasicType(), GetCachedClangDeclContextForDIE(), GetClangDeclContextContainingDIE(), GetClangDeclContextForDIE(), lldb_private::ObjCLanguage::MethodName::GetClassName(), lldb_private::ConstString::GetCString(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), lldb_private::Type::GetFullCompilerType(), lldb_private::UserID::GetID(), DWARFBaseDIE::GetID(), DWARFDIE::GetName(), lldb_private::Type::GetName(), DWARFBaseDIE::GetOffset(), lldb_private::CompilerType::GetOpaqueQualType(), GetOwningClangModule(), lldb_private::ConstString::GetStringRef(), lldb_private::TypeSystemClang::GetTranslationUnitDecl(), DWARFBaseDIE::HasChildren(), ParsedDWARFTypeAttributes::is_artificial, ParsedDWARFTypeAttributes::is_explicit, ParsedDWARFTypeAttributes::is_inline, ParsedDWARFTypeAttributes::is_objc_direct_call, ParsedDWARFTypeAttributes::is_virtual, lldb_private::CompilerType::IsBeingDefined(), IsClangModuleFwdDecl(), lldb_private::ObjCLanguage::MethodName::IsValid(), DWARFFormValue::IsValid(), LinkDeclContextToDIE(), LLDB_INVALID_UID, LLDB_LOGF, lldbassert, m_ast, ParsedDWARFTypeAttributes::mangled_name, ParsedDWARFTypeAttributes::name, ParsedDWARFTypeAttributes::object_pointer, ParseChildParameters(), ParseTemplateParameterInfos(), DWARFFormValue::Reference(), lldb_private::TypeSystemClang::SetFunctionParameters(), lldb_private::TypeSystemClang::SetMetadata(), lldb_private::TypeSystemClang::SetMetadataAsUserID(), lldb_private::ClangASTMetadata::SetObjectPtrName(), lldb_private::ClangASTMetadata::SetUserID(), ParsedDWARFTypeAttributes::specification, ParsedDWARFTypeAttributes::storage, string(), DWARFBaseDIE::Tag(), and ParsedDWARFTypeAttributes::type.

Referenced by ParseTypeFromDWARF().

◆ ParseTemplateDIE()

bool DWARFASTParserClang::ParseTemplateDIE ( const DWARFDIE die,
lldb_private::TypeSystemClang::TemplateParameterInfos template_param_infos 
)
protected

◆ ParseTemplateParameterInfos()

bool DWARFASTParserClang::ParseTemplateParameterInfos ( const DWARFDIE parent_die,
lldb_private::TypeSystemClang::TemplateParameterInfos template_param_infos 
)
protected

◆ ParseTypeFromClangModule()

TypeSP DWARFASTParserClang::ParseTypeFromClangModule ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
lldb_private::Log log 
)
protected

◆ ParseTypeFromDWARF()

TypeSP DWARFASTParserClang::ParseTypeFromDWARF ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
bool *  type_is_new_ptr 
)
overridevirtual

◆ ParseTypeModifier()

lldb::TypeSP DWARFASTParserClang::ParseTypeModifier ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
ParsedDWARFTypeAttributes attrs 
)
private

◆ ResolveBlockDIE()

clang::BlockDecl * DWARFASTParserClang::ResolveBlockDIE ( const DWARFDIE die)
protected

◆ ResolveNamespaceDIE()

clang::NamespaceDecl * DWARFASTParserClang::ResolveNamespaceDIE ( const DWARFDIE die)
protected

◆ UpdateSymbolContextScopeForType()

TypeSP DWARFASTParserClang::UpdateSymbolContextScopeForType ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
lldb::TypeSP  type_sp 
)
protected

Member Data Documentation

◆ m_ast

lldb_private::TypeSystemClang& DWARFASTParserClang::m_ast
protected

◆ m_clang_ast_importer_up

std::unique_ptr<lldb_private::ClangASTImporter> DWARFASTParserClang::m_clang_ast_importer_up
protected

Definition at line 94 of file DWARFASTParserClang.h.

Referenced by GetClangASTImporter().

◆ m_decl_ctx_to_die

DeclContextToDIEMap DWARFASTParserClang::m_decl_ctx_to_die
protected

◆ m_decl_to_die

DeclToDIEMap DWARFASTParserClang::m_decl_to_die
protected

Definition at line 90 of file DWARFASTParserClang.h.

Referenced by GetClangDeclForDIE().

◆ m_die_to_decl

DIEToDeclMap DWARFASTParserClang::m_die_to_decl
protected

Definition at line 89 of file DWARFASTParserClang.h.

Referenced by GetClangDeclForDIE().

◆ m_die_to_decl_ctx

DIEToDeclContextMap DWARFASTParserClang::m_die_to_decl_ctx
protected

◆ m_die_to_module

DIEToModuleMap DWARFASTParserClang::m_die_to_module
protected

Definition at line 93 of file DWARFASTParserClang.h.

Referenced by GetOwningClangModule().


The documentation for this class was generated from the following files: