LLDB mainline
|
#include <DWARFASTParserClang.h>
Classes | |
class | DelayedAddObjCClassProperty |
struct | FieldInfo |
Protected Member Functions | |
clang::DeclContext * | GetDeclContextForBlock (const DWARFDIE &die) |
clang::BlockDecl * | ResolveBlockDIE (const DWARFDIE &die) |
clang::NamespaceDecl * | ResolveNamespaceDIE (const DWARFDIE &die) |
clang::NamespaceDecl * | ResolveImportedDeclarationDIE (const DWARFDIE &die) |
Returns the namespace decl that a DW_TAG_imported_declaration imports. | |
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) |
std::string | GetCPlusPlusQualifiedName (const DWARFDIE &die) |
bool | ParseChildMembers (const DWARFDIE &die, lldb_private::CompilerType &class_compiler_type, std::vector< std::unique_ptr< clang::CXXBaseSpecifier > > &base_classes, std::vector< DWARFDIE > &member_function_dies, DelayedPropertyList &delayed_properties, const lldb::AccessType default_accessibility, 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. | |
lldb_private::Type * | GetTypeForDIE (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. | |
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. | |
lldb::ModuleSP | GetModuleForType (const DWARFDIE &die) |
Private Member Functions | |
bool | ShouldCreateUnnamedBitfield (FieldInfo const &last_field_info, uint64_t last_field_end, FieldInfo const &this_field_info, lldb_private::ClangASTImporter::LayoutInfo const &layout_info) const |
Returns 'true' if we should create an unnamed bitfield and add it to the parser's current AST. | |
void | ParseObjCProperty (const DWARFDIE &die, const DWARFDIE &parent_die, const lldb_private::CompilerType &class_clang_type, DelayedPropertyList &delayed_properties) |
Parses a DW_TAG_APPLE_property DIE and appends the parsed data to the list of delayed Objective-C properties. | |
void | ParseSingleMember (const DWARFDIE &die, const DWARFDIE &parent_die, const lldb_private::CompilerType &class_clang_type, lldb::AccessType default_accessibility, 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, const ParsedDWARFTypeAttributes &attrs) |
lldb::TypeSP | ParsePointerToMemberType (const DWARFDIE &die, const ParsedDWARFTypeAttributes &attrs) |
void | ParseInheritance (const DWARFDIE &die, const DWARFDIE &parent_die, const lldb_private::CompilerType class_clang_type, const lldb::AccessType default_accessibility, const lldb::ModuleSP &module_sp, std::vector< std::unique_ptr< clang::CXXBaseSpecifier > > &base_classes, lldb_private::ClangASTImporter::LayoutInfo &layout_info) |
Parses a DW_TAG_inheritance DIE into a base/super class. | |
void | ParseRustVariantPart (DWARFDIE &die, const DWARFDIE &parent_die, lldb_private::CompilerType &class_clang_type, const lldb::AccessType default_accesibility, lldb_private::ClangASTImporter::LayoutInfo &layout_info) |
Parses DW_TAG_variant_part DIE into a structure that encodes all variants Note that this is currently being emitted by rustc and not Clang. | |
typedef std::vector< DelayedAddObjCClassProperty > | DelayedPropertyList |
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, clang::DeclContext * > | DIEToDeclContextMap |
typedef std::multimap< const clang::DeclContext *, const DWARFDIE > | DeclContextToDIEMap |
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, lldb_private::OptionalClangModuleID > | DIEToModuleMap |
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, clang::Decl * > | DIEToDeclMap |
lldb_private::TypeSystemClang & | m_ast |
DIEToDeclMap | m_die_to_decl |
DIEToDeclContextMap | m_die_to_decl_ctx |
DeclContextToDIEMap | m_decl_ctx_to_die |
DIEToModuleMap | m_die_to_module |
std::unique_ptr< lldb_private::ClangASTImporter > | m_clang_ast_importer_up |
Additional Inherited Members | |
![]() | |
static std::optional< lldb_private::SymbolFile::ArrayInfo > | ParseChildArrayInfo (const DWARFDIE &parent_die, const lldb_private::ExecutionContext *exe_ctx=nullptr) |
static lldb::AccessType | GetAccessTypeFromDWARF (uint32_t dwarf_accessibility) |
Definition at line 39 of file DWARFASTParserClang.h.
|
protected |
Definition at line 114 of file DWARFASTParserClang.h.
|
protected |
Definition at line 109 of file DWARFASTParserClang.h.
|
protected |
Definition at line 112 of file DWARFASTParserClang.h.
|
protected |
Definition at line 119 of file DWARFASTParserClang.h.
|
protected |
Definition at line 117 of file DWARFASTParserClang.h.
DWARFASTParserClang::DWARFASTParserClang | ( | lldb_private::TypeSystemClang & | ast | ) |
Definition at line 63 of file DWARFASTParserClang.cpp.
|
overridedefault |
|
private |
Definition at line 2214 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::Type::GetByteSize(), DWARFBaseDIE::HasChildren(), lldb_private::CompilerType::IsIntegerType(), ParseChildEnumerators(), and lldb_private::TypeSystemClang::StartTagDeclarationDefinition().
Referenced by CompleteTypeFromDWARF().
|
private |
Definition at line 2125 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::AddMethodOverridesForCXXRecordType(), lldb_private::ClangASTImporter::LayoutInfo::base_offsets, lldb_private::ClangASTImporter::LayoutInfo::bit_size, lldb_private::TypeSystemClang::BuildIndirectFields(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb::eAccessNone, lldb::eAccessPrivate, lldb::eAccessPublic, lldb_private::ClangASTImporter::LayoutInfo::field_offsets, lldb_private::TypeSystemClang::GetAsCXXRecordDecl(), DWARFBaseDIE::GetAttributeValueAsUnsigned(), lldb_private::Type::GetByteSize(), GetClangASTImporter(), DWARFBaseDIE::GetDWARF(), lldb_private::CompilerType::GetOpaqueQualType(), lldb_private::TypeSystemClang::GetType(), lldb_private::CompilerType::GetTypeName(), DWARFBaseDIE::HasChildren(), lldb_private::TypeSystemClang::IsObjCObjectOrInterfaceType(), m_ast, ParseChildMembers(), lldb_private::TypeSystemClang::RequireCompleteType(), DWARFDIE::ResolveType(), lldb_private::ClangASTImporter::SetRecordLayout(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), DWARFBaseDIE::Tag(), lldb_private::TypeSystemClang::TransferBaseClasses(), and lldb_private::ClangASTImporter::LayoutInfo::vbase_offsets.
Referenced by CompleteTypeFromDWARF().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2229 of file DWARFASTParserClang.cpp.
References CompleteEnumType(), CompleteRecordType(), DWARFBaseDIE::GetDWARF(), lldb_private::CompilerType::GetOpaqueQualType(), m_ast, lldb_private::TypeSystemClang::SetHasExternalStorage(), and DWARFBaseDIE::Tag().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2364 of file DWARFASTParserClang.cpp.
References GetClangDeclContextContainingDIE(), SymbolFileDWARF::GetDWARFDeclContext(), DWARFDeclContext::GetQualifiedName(), lldb_private::StreamString::GetString(), and ParseChildParameters().
Referenced by ParseFunctionFromDWARF().
|
protected |
Definition at line 3710 of file DWARFASTParserClang.cpp.
References lldb_private::UniqueCStringMap< T >::Find(), DWARFBaseDIE::GetAttributeValueAsUnsigned(), lldb_private::UniqueCStringMap< T >::GetCStringAtIndex(), DWARFBaseDIE::GetCU(), DWARFDIE::GetDIE(), SymbolFileDWARF::GetDIEToType(), DWARFBaseDIE::GetDWARF(), SymbolFileDWARF::GetDWARFParser(), DWARFDIE::GetFirstChild(), lldb_private::Type::GetFullCompilerType(), DWARFDIE::GetMangledName(), lldb_private::UniqueCStringMap< T >::GetSize(), lldb_private::UniqueCStringMap< T >::GetValueAtIndexUnchecked(), lldb_private::UniqueCStringMap< T >::IsEmpty(), DWARFBaseDIE::IsValid(), LinkDeclContextToDIE(), m_die_to_decl_ctx, lldb_private::UniqueCStringMap< T >::Sort(), and DWARFBaseDIE::Tag().
Referenced by ParseSubroutine().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2262 of file DWARFASTParserClang.cpp.
References DWARFDIE::children(), GetClangDeclForDIE(), lldb_private::CompilerDeclContext::GetOpaqueDeclContext(), and m_decl_ctx_to_die.
llvm::Expected< llvm::APInt > DWARFASTParserClang::ExtractIntFromFormValue | ( | const lldb_private::CompilerType & | int_type, |
const DWARFFormValue & | form_value | ||
) | const |
Extracts an value for a given Clang integer type from a DWARFFormValue.
int_type | The Clang type that defines the bit size and signedness of the integer that should be extracted. Has to be either an integer type or an enum type. For enum types the underlying integer type will be considered as the expected integer type that should be extracted. |
form_value | The DWARFFormValue that contains the integer value. |
Definition at line 2842 of file DWARFASTParserClang.cpp.
References lldb_private::CompilerType::TypeSystemSPWrapper::dyn_cast_or_null(), lldb_private::TypeSystemClang::getASTContext(), lldb_private::ClangUtil::GetQualType(), lldb_private::CompilerType::GetTypeSystem(), DWARFFormValue::Signed(), and DWARFFormValue::Unsigned().
Referenced by ParseSingleMember().
|
protected |
Definition at line 3693 of file DWARFASTParserClang.cpp.
References DWARFDIE::GetDIE(), and m_die_to_decl_ctx.
Referenced by GetClangDeclContextForDIE(), ParseEnum(), ParseStructureLikeDIE(), ParseSubroutine(), ParseTypeFromClangModule(), and ParseTypeFromDWARF().
ClangASTImporter & DWARFASTParserClang::GetClangASTImporter | ( | ) |
Definition at line 80 of file DWARFASTParserClang.cpp.
References m_clang_ast_importer_up.
Referenced by CompleteRecordType(), SymbolFileDWARF::CompleteType(), SymbolFileDWARF::HasForwardDeclForClangType(), ParseStructureLikeDIE(), ParseTypeFromClangModule(), and ParseTypeModifier().
|
protected |
Definition at line 3674 of file DWARFASTParserClang.cpp.
References GetClangDeclContextForDIE(), DWARFBaseDIE::GetDWARF(), lldb_private::TypeSystemClang::GetTranslationUnitDecl(), and m_ast.
Referenced by ConstructDemangledNameFromDWARF(), GetDeclContextContainingUIDFromDWARF(), ParseEnum(), ParseStructureLikeDIE(), ParseSubroutine(), ParseTypeFromDWARF(), ParseTypeModifier(), ResolveBlockDIE(), and ResolveNamespaceDIE().
|
protected |
Definition at line 3453 of file DWARFASTParserClang.cpp.
References GetCachedClangDeclContextForDIE(), GetDeclContextForBlock(), DWARFBaseDIE::GetDWARF(), lldb_private::TypeSystemClang::GetTranslationUnitDecl(), LinkDeclContextToDIE(), m_ast, ResolveImportedDeclarationDIE(), ResolveNamespaceDIE(), SymbolFileDWARF::ResolveType(), and DWARFBaseDIE::Tag().
Referenced by GetClangDeclContextContainingDIE(), GetDeclContextForUIDFromDWARF(), and ParseSubroutine().
|
protected |
Definition at line 3355 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::CreateUsingDeclaration(), lldb_private::TypeSystemClang::CreateUsingDirectiveDeclaration(), lldb_private::TypeSystemClang::CreateVariableDeclaration(), lldb_private::TypeSystemClang::DeclContextGetAsDeclContext(), lldb_private::TypeSystemClang::DeclContextGetAsNamespaceDecl(), DWARFDIE::GetAttributeValueAsReferenceDIE(), GetClangDeclForDIE(), SymbolFileDWARF::GetDecl(), SymbolFileDWARF::GetDeclContext(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), DWARFBaseDIE::GetID(), DWARFDIE::GetName(), lldb_private::CompilerDecl::GetOpaqueDecl(), GetOwningClangModule(), lldb_private::ClangUtil::GetQualType(), DWARFDIE::GetReferencedDIE(), GetTypeForDIE(), m_ast, m_die_to_decl, and DWARFBaseDIE::Tag().
Referenced by EnsureAllDIEsInDeclContextHaveBeenParsed(), GetClangDeclForDIE(), and GetDeclForUIDFromDWARF().
|
protected |
Definition at line 1524 of file DWARFASTParserClang.cpp.
References DWARFBaseDIE::Clear(), GetDIEClassTemplateParams(), DWARFDIE::GetName(), DWARFDIE::GetParentDeclContextDIE(), DWARFBaseDIE::IsValid(), and DWARFBaseDIE::Tag().
Referenced by ParseStructureLikeDIE().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2289 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::CreateDeclContext(), GetClangDeclContextContainingDIE(), and m_ast.
Referenced by GetDeclContextForBlock().
|
protected |
Definition at line 3575 of file DWARFASTParserClang.cpp.
References FindFirstChildWithAbstractOrigin(), GetContainingFunctionWithAbstractOrigin(), GetDeclContextContainingUIDFromDWARF(), lldb_private::CompilerDeclContext::GetOpaqueDeclContext(), ResolveBlockDIE(), and DWARFBaseDIE::Tag().
Referenced by GetClangDeclContextForDIE().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2281 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::CreateDeclContext(), GetClangDeclContextForDIE(), and m_ast.
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2273 of file DWARFASTParserClang.cpp.
References GetClangDeclForDIE(), lldb_private::TypeSystemClang::GetCompilerDecl(), and m_ast.
|
overridevirtual |
Returns the template parameters of a class DWARFDIE as a string.
This is mostly useful for -gsimple-template-names which omits template parameters from the DIE name and instead always adds template parameter children DIEs.
die | The struct/class DWARFDIE containing template parameters. |
Implements DWARFASTParser.
Definition at line 746 of file DWARFASTParserClang.cpp.
References DWARFDIE::GetName(), m_ast, ParseTemplateParameterInfos(), and lldb_private::TypeSystemClang::PrintTemplateParams().
Referenced by GetCPlusPlusQualifiedName().
|
protected |
|
protected |
Definition at line 3501 of file DWARFASTParserClang.cpp.
References DWARFBaseDIE::GetAttributeValueAsString(), DWARFDIE::GetDIE(), lldb_private::TypeSystemClang::GetOrCreateClangModule(), GetOwningClangModule(), DWARFDIE::GetParent(), DWARFBaseDIE::IsValid(), m_ast, and m_die_to_module.
Referenced by GetClangDeclForDIE(), GetOwningClangModule(), ParseChildParameters(), ParseEnum(), ParseStructureLikeDIE(), ParseSubroutine(), ParseTypeFromClangModule(), ParseTypeModifier(), ResolveBlockDIE(), and ResolveNamespaceDIE().
Definition at line 3331 of file DWARFASTParserClang.cpp.
References DWARFAttributes::AttributeAtIndex(), DWARFAttributes::ExtractFormValueAtIndex(), DWARFBaseDIE::GetAttributes(), DWARFBaseDIE::GetDWARF(), DWARFFormValue::Reference(), and DWARFAttributes::Size().
Referenced by GetClangDeclForDIE().
|
protected |
Definition at line 3702 of file DWARFASTParserClang.cpp.
References DWARFDIE::GetDIE(), m_decl_ctx_to_die, and m_die_to_decl_ctx.
Referenced by CopyUniqueClassMethodTypes(), GetClangDeclContextForDIE(), ParseEnum(), ParseStructureLikeDIE(), ParseSubroutine(), ParseTypeFromClangModule(), ParseTypeFromDWARF(), ResolveBlockDIE(), ResolveImportedDeclarationDIE(), and ResolveNamespaceDIE().
|
protected |
|
private |
Definition at line 1297 of file DWARFASTParserClang.cpp.
References ParsedDWARFTypeAttributes::bit_stride, ParsedDWARFTypeAttributes::byte_stride, lldb_private::TypeSystemClang::CreateArrayType(), DEBUG_PRINTF, ParsedDWARFTypeAttributes::decl, lldb_private::DW_TAG_value_to_name(), lldb_private::Type::eEncodingIsUID, lldb_private::Type::GetByteSize(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), DWARFBaseDIE::GetID(), lldb_private::ClangUtil::GetQualType(), ParsedDWARFTypeAttributes::is_vector, m_ast, DWARFASTParser::ParseChildArrayInfo(), DWARFFormValue::Reference(), lldb_private::TypeSystemClang::RequireCompleteType(), lldb_private::TypeSystemClang::SetMetadataAsUserID(), and ParsedDWARFTypeAttributes::type.
Referenced by ParseTypeFromDWARF().
|
protected |
Definition at line 2297 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), DWARFFormValue::AsCString(), DWARFAttributes::AttributeAtIndex(), DWARFDIE::children(), DWARFAttributes::CompileUnitAtIndex(), DWARFAttributes::ExtractFormValueAtIndex(), DWARFUnit::GetFile(), m_ast, lldb_private::Declaration::SetColumn(), lldb_private::Declaration::SetFile(), lldb_private::Declaration::SetLine(), DWARFFormValue::Signed(), DWARFAttributes::Size(), and DWARFFormValue::Unsigned().
Referenced by CompleteEnumType(), and ParseEnum().
|
protected |
Definition at line 3153 of file DWARFASTParserClang.cpp.
References DWARFDIE::children(), lldb_private::CompilerType::TypeSystemSPWrapper::dyn_cast_or_null(), lldb::eLanguageTypeRust, DWARFBaseDIE::GetCU(), DWARFBaseDIE::GetDWARF(), DWARFUnit::GetDWARFLanguageType(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::CompilerType::GetTypeSystem(), ParseInheritance(), ParseObjCProperty(), ParseRustVariantPart(), ParseSingleMember(), and DWARFBaseDIE::Tag().
Referenced by CompleteRecordType().
|
protected |
Definition at line 3209 of file DWARFASTParserClang.cpp.
References DWARFFormValue::AsCString(), DWARFAttributes::AttributeAtIndex(), DWARFFormValue::Boolean(), DWARFDIE::children(), lldb_private::TypeSystemClang::CreateParameterDeclaration(), DeclKindIsCXXClass(), lldb_private::Type::eEncodingIsConstUID, lldb_private::Type::eEncodingIsPointerUID, lldb_private::Type::eEncodingIsVolatileUID, DWARFAttributes::ExtractFormValueAtIndex(), DWARFBaseDIE::GetAttributes(), lldb_private::Type::GetEncodingMask(), lldb_private::Type::GetForwardCompilerType(), DWARFBaseDIE::GetID(), GetOwningClangModule(), m_ast, DWARFFormValue::Reference(), DWARFDIE::ResolveTypeUID(), lldb_private::TypeSystemClang::SetMetadataAsUserID(), DWARFAttributes::Size(), and DWARFBaseDIE::Tag().
Referenced by ConstructDemangledNameFromDWARF(), and ParseSubroutine().
|
private |
Definition at line 757 of file DWARFASTParserClang.cpp.
References ParsedDWARFTypeAttributes::byte_size, lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::TypeSystemClang::CreateEnumerationType(), DEBUG_PRINTF, ParsedDWARFTypeAttributes::decl, lldb_private::DW_TAG_value_to_name(), lldb::eBasicTypeInt, lldb_private::Type::eEncodingIsUID, SymbolFileDWARFDebugMap::FindDefinitionTypeForDWARFDeclContext(), lldb_private::TypeSystemClang::GetBasicType(), lldb_private::TypeSystemClang::GetBuiltinTypeForDWARFEncodingAndBitSize(), lldb_private::CompilerType::GetByteSize(), GetCachedClangDeclContextForDIE(), GetClangDeclContextContainingDIE(), lldb_private::ConstString::GetCString(), lldb_private::TypeSystemClang::GetDeclContextForType(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), lldb_private::TypeSystemClang::GetEnumerationIntegerType(), lldb_private::Type::GetFullCompilerType(), DWARFBaseDIE::GetID(), lldb_private::GetLog(), DWARFBaseDIE::GetOffset(), GetOwningClangModule(), lldb_private::ConstString::GetStringRef(), DWARFBaseDIE::HasChildren(), ParsedDWARFTypeAttributes::is_forward_declaration, ParsedDWARFTypeAttributes::is_scoped_enum, lldb_private::CompilerType::IsIntegerType(), DWARFFormValue::IsValid(), LinkDeclContextToDIE(), m_ast, ParsedDWARFTypeAttributes::name, ParseChildEnumerators(), ParseTypeFromClangModule(), DWARFFormValue::Reference(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), DWARFBaseDIE::Tag(), and ParsedDWARFTypeAttributes::type.
Referenced by ParseTypeFromDWARF().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 2397 of file DWARFASTParserClang.cpp.
References lldb_private::CompileUnit::AddFunction(), ConstructDemangledNameFromDWARF(), DIE_IS_BEING_PARSED, lldb_private::AddressRange::GetBaseAddress(), DWARFBaseDIE::GetCU(), DWARFDIE::GetDIE(), DWARFDIE::GetDIENamesAndRanges(), DWARFBaseDIE::GetDWARF(), DWARFUnit::GetFile(), DWARFBaseDIE::GetID(), SymbolFileDWARF::GetLanguage(), DWARFDIE::GetParent(), lldb_private::Address::IsValid(), lldb_private::DWARFExpressionList::IsValid(), lldb_private::Language::LanguageIsCPlusPlus(), lldb_private::Language::LanguageIsObjC(), lldb_private::Mangled::SetValue(), and DWARFBaseDIE::Tag().
|
private |
Parses a DW_TAG_inheritance DIE into a base/super class.
die | The DW_TAG_inheritance DIE to parse. |
parent_die | The parent DIE of the given DIE. |
class_clang_type | The C++/Objective-C class representing parent_die. For an Objective-C class this method sets the super class on success. For a C++ class this will not add the result as a base class. |
default_accessibility | The default accessibility that is given to base classes if they don't have an explicit accessibility set. |
module_sp | The current Module. |
base_classes | The list of C++ base classes that will be appended with the parsed base class on success. |
layout_info | The layout information that will be updated for C++ base classes with the base offset. |
Definition at line 1378 of file DWARFASTParserClang.cpp.
References DWARFAttributes::AttributeAtIndex(), lldb_private::ClangASTImporter::LayoutInfo::base_offsets, DWARFFormValue::BlockData(), DWARFFormValue::Boolean(), lldb_private::CompilerType::TypeSystemSPWrapper::dyn_cast_or_null(), lldb::eRegisterKindDWARF, lldb_private::DWARFExpression::Evaluate(), DWARFAttributes::ExtractFormValueAtIndex(), DWARFASTParser::GetAccessTypeFromDWARF(), DWARFBaseDIE::GetAttributes(), DWARFBaseDIE::GetCU(), DWARFBaseDIE::GetData(), lldb_private::DataExtractor::GetDataStart(), lldb_private::Type::GetFullCompilerType(), DWARFBaseDIE::GetOffset(), lldb_private::CompilerType::GetOpaqueQualType(), lldb_private::CompilerType::GetTypeSystem(), lldb_private::TypeSystemClang::IsObjCObjectOrInterfaceType(), DWARFFormValue::Reference(), DWARFDIE::ResolveTypeUID(), lldb_private::Value::ResolveValue(), DWARFAttributes::Size(), lldb_private::Scalar::UInt(), and DWARFFormValue::Unsigned().
Referenced by ParseChildMembers().
|
private |
Parses a DW_TAG_APPLE_property DIE and appends the parsed data to the list of delayed Objective-C properties.
Note: The delayed property needs to be finalized to actually create the property declarations in the module AST.
die | The DW_TAG_APPLE_property DIE that will be parsed. |
parent_die | The parent DIE. |
class_clang_type | The Objective-C class that will contain the created property. |
delayed_properties | The list of delayed properties that the result will be appended to. |
Definition at line 2806 of file DWARFASTParserClang.cpp.
References DWARFBaseDIE::GetDWARF(), DWARFBaseDIE::GetID(), lldb_private::Type::GetLayoutCompilerType(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), DWARFDIE::ResolveTypeUID(), lldb_private::ClangASTMetadata::SetUserID(), and DWARFBaseDIE::Tag().
Referenced by ParseChildMembers().
|
private |
Definition at line 1351 of file DWARFASTParserClang.cpp.
References ParsedDWARFTypeAttributes::containing_type, lldb_private::TypeSystemClang::CreateMemberPointerType(), lldb_private::Type::eEncodingIsUID, lldb_private::CompilerType::GetByteSize(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), DWARFBaseDIE::GetID(), LLDB_INVALID_UID, ParsedDWARFTypeAttributes::name, DWARFFormValue::Reference(), and ParsedDWARFTypeAttributes::type.
Referenced by ParseTypeFromDWARF().
|
private |
Parses DW_TAG_variant_part DIE into a structure that encodes all variants Note that this is currently being emitted by rustc and not Clang.
die | DW_TAG_variant_part DIE to parse |
parent_die | The parent DW_TAG_structure_type to parse |
class_clang_type | The Rust struct representing parent_die. |
default_accesibility | The default accessibility that is given to base classes if they don't have an explicit accessibility set |
layout_info | The layout information that will be updated for |
Definition at line 3894 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::TypeSystemClang::CreateRecordType(), lldb::eAccessPublic, lldb::eLanguageTypeRust, lldb_private::ClangASTImporter::LayoutInfo::field_offsets, DWARFBaseDIE::GetCU(), lldb_private::TypeSystemClang::GetDeclContextForType(), DWARFBaseDIE::GetDWARF(), SymbolFileDWARF::GetLanguage(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::CompilerType::GetTypeName(), m_ast, DWARFDIE::ResolveTypeUID(), lldb_private::TypeSystemClang::SetIsPacked(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), and DWARFBaseDIE::Tag().
Referenced by ParseChildMembers().
|
private |
Definition at line 2898 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::TypeSystemClang::AddVariableToRecordType(), DWARFASTParserClang::FieldInfo::bit_offset, DWARFASTParserClang::FieldInfo::bit_size, lldb_private::TypeSystemClang::CreateArrayType(), lldb_private::DW_TAG_value_to_name(), lldb::eAccessNone, lldb::eAccessPublic, lldb::eByteOrderLittle, lldb::eEncodingSint, ExtractIntFromFormValue(), lldb_private::ClangASTImporter::LayoutInfo::field_offsets, DWARFBaseDIE::GetAttributeValueAsUnsigned(), lldb_private::TypeSystemClang::GetBuiltinTypeForEncodingAndBitSize(), lldb_private::ObjectFile::GetByteOrder(), lldb_private::Type::GetByteSize(), lldb_private::CompilerType::GetCompleteType(), DWARFBaseDIE::GetCU(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), DWARFBaseDIE::GetID(), lldb_private::Type::GetLayoutCompilerType(), lldb_private::GetLog(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), GetUnitName(), lldb_private::CompilerType::IsArrayType(), DWARFASTParserClang::FieldInfo::IsBitfield(), lldb_private::CompilerType::IsCompleteType(), lldb_private::CompilerType::IsIntegerOrEnumerationType(), lldb_private::TypeSystemClang::IsObjCObjectOrInterfaceType(), LLDB_LOG, LLDB_LOG_ERROR, m_ast, DWARFASTParserClang::FieldInfo::NextBitfieldOffsetIsValid(), lldb_private::TypeSystemClang::RequireCompleteType(), DWARFDIE::ResolveTypeUID(), lldb_private::TypeSystemClang::SetIntegerInitializerForVariable(), DWARFASTParserClang::FieldInfo::SetIsArtificial(), DWARFASTParserClang::FieldInfo::SetIsBitfield(), lldb_private::TypeSystemClang::SetMetadataAsUserID(), ShouldCreateUnnamedBitfield(), DWARFUnit::Supports_unnamed_objc_bitfields(), DWARFBaseDIE::Tag(), UINT32_MAX, and UINT64_MAX.
Referenced by ParseChildMembers().
|
protected |
Parse a structure, class, or union type DIE.
Definition at line 1579 of file DWARFASTParserClang.cpp.
References ParsedDWARFTypeAttributes::accessibility, lldb_private::ClangASTImporter::LayoutInfo::bit_size, ParsedDWARFTypeAttributes::byte_size, ParsedDWARFTypeAttributes::calling_convention, ParsedDWARFTypeAttributes::class_language, lldb_private::Declaration::Clear(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::TypeSystemClang::CreateClassTemplateSpecializationDecl(), lldb_private::TypeSystemClang::CreateClassTemplateSpecializationType(), lldb_private::TypeSystemClang::CreateRecordType(), DEBUG_PRINTF, ParsedDWARFTypeAttributes::decl, DeclKindIsCXXClass(), lldb_private::DW_TAG_value_to_name(), lldb::eAccessNone, lldb::eAccessPrivate, lldb::eAccessPublic, lldb_private::Type::eEncodingIsUID, lldb::eLanguageTypeObjC, lldb::eLanguageTypeObjC_plus_plus, ParsedDWARFTypeAttributes::exports_symbols, SymbolFileDWARFDebugMap::FindCompleteObjCDefinitionTypeForDIE(), SymbolFileDWARFDebugMap::FindDefinitionTypeForDWARFDeclContext(), lldb_private::TypeSystemClang::GetAsCXXRecordDecl(), lldb_private::TypeSystemClang::GetAsRecordDecl(), GetCachedClangDeclContextForDIE(), GetClangASTImporter(), GetClangDeclContextContainingDIE(), GetCPlusPlusQualifiedName(), lldb_private::ConstString::GetCString(), DWARFBaseDIE::GetCU(), lldb_private::TypeSystemClang::GetDeclContextForType(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDIERef(), DWARFBaseDIE::GetDWARF(), DWARFBaseDIE::GetID(), SymbolFileDWARF::GetLanguage(), lldb_private::GetLog(), DWARFBaseDIE::GetOffset(), lldb_private::CompilerType::GetOpaqueQualType(), GetOwningClangModule(), DWARFBaseDIE::HasChildren(), ParsedDWARFTypeAttributes::is_complete_objc_class, ParsedDWARFTypeAttributes::is_forward_declaration, lldb_private::Language::LanguageIsCPlusPlus(), LinkDeclContextToDIE(), LLDB_INVALID_UID, m_ast, ParsedDWARFTypeAttributes::name, lldb_private::TypeSystemClang::ParseClassTemplateDecl(), ParseTemplateParameterInfos(), ParseTypeFromClangModule(), PrepareContextToReceiveMembers(), lldb_private::ClangUtil::RemoveFastQualifiers(), lldb_private::TypeSystemClang::SetHasExternalStorage(), lldb_private::ClangASTMetadata::SetIsDynamicCXXType(), lldb_private::TypeSystemClang::SetMetadata(), lldb_private::ClangASTImporter::SetRecordLayout(), lldb_private::ClangASTMetadata::SetUserID(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), DWARFBaseDIE::Supports_DW_AT_APPLE_objc_complete_type(), and DWARFBaseDIE::Tag().
Referenced by ParseTypeFromDWARF().
|
private |
Definition at line 893 of file DWARFASTParserClang.cpp.
References ParsedDWARFTypeAttributes::abstract_origin, ParsedDWARFTypeAttributes::accessibility, lldb_private::TypeSystemClang::AddMethodToCXXRecordType(), lldb_private::TypeSystemClang::AddMethodToObjCObjectType(), ConvertDWARFCallingConventionToClang(), CopyUniqueClassMethodTypes(), lldb_private::ObjCLanguage::MethodName::Create(), 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(), lldb::eAccessNone, lldb::eAccessPublic, lldb::eBasicTypeVoid, lldb_private::Type::eEncodingIsUID, lldb_private::TypeSystemClang::getASTContext(), lldb_private::TypeSystemClang::GetBasicType(), GetCachedClangDeclContextForDIE(), GetClangDeclContextContainingDIE(), GetClangDeclContextForDIE(), lldb_private::ConstString::GetCString(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), lldb_private::Type::GetForwardCompilerType(), lldb_private::Type::GetFullCompilerType(), lldb_private::UserID::GetID(), DWARFBaseDIE::GetID(), lldb_private::GetLog(), lldb_private::Type::GetName(), DWARFDIE::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::TypeSystemClang::IsCXXClassType(), lldb_private::TypeSystemClang::IsObjCObjectOrInterfaceType(), DWARFFormValue::IsValid(), LinkDeclContextToDIE(), LLDB_INVALID_UID, LLDB_LOGF, lldbassert, m_ast, ParsedDWARFTypeAttributes::mangled_name, ParsedDWARFTypeAttributes::name, ParsedDWARFTypeAttributes::object_pointer, ParseChildParameters(), ParseTemplateParameterInfos(), ParsedDWARFTypeAttributes::ref_qual, 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, DWARFBaseDIE::Tag(), and ParsedDWARFTypeAttributes::type.
Referenced by ParseTypeFromDWARF().
|
protected |
Definition at line 1984 of file DWARFASTParserClang.cpp.
References DWARFFormValue::AsCString(), DWARFAttributes::AttributeAtIndex(), DWARFFormValue::Boolean(), DWARFDIE::children(), lldb_private::TypeSystemClang::CreateTemplateTemplateParmDecl(), lldb::eBasicTypeVoid, DWARFAttributes::ExtractFormValueAtIndex(), lldb_private::TypeSystemClang::getASTContext(), DWARFBaseDIE::GetAttributes(), lldb_private::TypeSystemClang::GetBasicType(), lldb_private::CompilerType::GetBitSize(), lldb_private::Type::GetForwardCompilerType(), DWARFDIE::GetName(), lldb_private::TypeSystemClang::TemplateParameterInfos::GetParameterPack(), lldb_private::ClangUtil::GetQualType(), lldb_private::TypeSystemClang::TemplateParameterInfos::InsertArg(), lldb_private::CompilerType::IsIntegerOrEnumerationType(), m_ast, ParseTemplateDIE(), DWARFFormValue::Reference(), DWARFDIE::ResolveTypeUID(), lldb_private::TypeSystemClang::TemplateParameterInfos::SetPackName(), lldb_private::TypeSystemClang::TemplateParameterInfos::SetParameterPack(), DWARFAttributes::Size(), DWARFBaseDIE::Tag(), and DWARFFormValue::Unsigned().
Referenced by ParseTemplateDIE(), and ParseTemplateParameterInfos().
|
protected |
Definition at line 2098 of file DWARFASTParserClang.cpp.
References DWARFDIE::children(), lldb_private::TypeSystemClang::TemplateParameterInfos::hasParameterPack(), lldb_private::TypeSystemClang::TemplateParameterInfos::IsEmpty(), and ParseTemplateDIE().
Referenced by GetDIEClassTemplateParams(), ParseStructureLikeDIE(), and ParseSubroutine().
|
protected |
Follow Clang Module Skeleton CU references to find a type definition.
Definition at line 133 of file DWARFASTParserClang.cpp.
References lldb_private::SymbolContext::comp_unit, lldb_private::ClangASTImporter::CopyType(), lldb_private::Type::eEncodingInvalid, lldb_private::TypeMap::Empty(), SymbolFileDWARF::ForEachExternalModule(), lldb_private::TypeSystemClang::GetAsTagDecl(), GetCachedClangDeclContextForDIE(), GetClangASTImporter(), GetContainingClangModule(), DWARFBaseDIE::GetCU(), DWARFDIE::GetDeclContext(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), DWARFBaseDIE::GetID(), SymbolFileDWARF::GetLanguageFamily(), GetOwningClangModule(), lldb_private::ClangUtil::GetQualType(), lldb_private::TypeMap::GetSize(), DWARFUnit::GetSymbolFileDWARF(), lldb_private::TypeMap::GetTypeAtIndex(), lldb_private::LanguageSet::Insert(), lldb_private::CompilerType::IsDefined(), LinkDeclContextToDIE(), LLDB_INVALID_UID, m_ast, and lldb_private::ClangASTImporter::RequireCompleteType().
Referenced by ParseEnum(), ParseStructureLikeDIE(), and ParseTypeModifier().
|
overridevirtual |
Implements DWARFASTParser.
Definition at line 411 of file DWARFASTParserClang.cpp.
References DIE_IS_BEING_PARSED, lldb_private::DW_TAG_value_to_name(), GetCachedClangDeclContextForDIE(), GetClangDeclContextContainingDIE(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), lldb_private::GetLog(), DWARFDIE::GetName(), DWARFBaseDIE::GetOffset(), DWARFBaseDIE::GetTagAsCString(), LinkDeclContextToDIE(), ParseArrayType(), ParseEnum(), ParsePointerToMemberType(), ParseStructureLikeDIE(), ParseSubroutine(), ParseTypeFromDWARF(), ParseTypeModifier(), DWARFFormValue::Reference(), ParsedDWARFTypeAttributes::signature, DWARFBaseDIE::Tag(), and UpdateSymbolContextScopeForType().
Referenced by ParseTypeFromDWARF(), and ParseTypeModifier().
|
private |
Definition at line 523 of file DWARFASTParserClang.cpp.
References ParsedDWARFTypeAttributes::byte_size, DWARFDIE::children(), DWARFFormValue::Clear(), lldb_private::TypeSystemClang::CreateBlockPointerType(), DEBUG_PRINTF, ParsedDWARFTypeAttributes::decl, lldb_private::DW_TAG_value_to_name(), lldb::eBasicTypeNullPtr, lldb::eBasicTypeObjCClass, lldb::eBasicTypeObjCID, lldb::eBasicTypeObjCSel, lldb_private::Type::eEncodingIsAtomicUID, lldb_private::Type::eEncodingIsConstUID, lldb_private::Type::eEncodingIsLValueReferenceUID, lldb_private::Type::eEncodingIsPointerUID, lldb_private::Type::eEncodingIsRestrictUID, lldb_private::Type::eEncodingIsRValueReferenceUID, lldb_private::Type::eEncodingIsTypedefUID, lldb_private::Type::eEncodingIsUID, lldb_private::Type::eEncodingIsVolatileUID, lldb::eLanguageTypeObjC, lldb::eLanguageTypeObjC_plus_plus, ParsedDWARFTypeAttributes::encoding, DWARFBaseDIE::GetAttributeValueAsUnsigned(), lldb_private::TypeSystemClang::GetBasicType(), lldb_private::TypeSystemClang::GetBuiltinTypeForDWARFEncodingAndBitSize(), GetClangASTImporter(), GetClangDeclContextContainingDIE(), lldb_private::ConstString::GetCString(), DWARFBaseDIE::GetCU(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), DWARFBaseDIE::GetID(), SymbolFileDWARF::GetLanguage(), lldb_private::GetLog(), DWARFDIE::GetName(), DWARFBaseDIE::GetOffset(), GetOwningClangModule(), DWARFDIE::GetReferencedDIE(), lldb_private::ConstString::GetStringRef(), DWARFBaseDIE::GetTagAsCString(), DWARFFormValue::IsValid(), m_ast, ParsedDWARFTypeAttributes::name, ParseTypeFromClangModule(), ParseTypeFromDWARF(), PrepareContextToReceiveMembers(), DWARFFormValue::Reference(), DWARFBaseDIE::Tag(), and ParsedDWARFTypeAttributes::type.
Referenced by ParseTypeFromDWARF().
|
protected |
Definition at line 3589 of file DWARFASTParserClang.cpp.
References lldb_private::TypeSystemClang::CreateBlockDeclaration(), GetClangDeclContextContainingDIE(), DWARFDIE::GetDIE(), GetOwningClangModule(), LinkDeclContextToDIE(), m_ast, m_die_to_decl_ctx, and DWARFBaseDIE::Tag().
Referenced by GetDeclContextForBlock().
|
protected |
Returns the namespace decl that a DW_TAG_imported_declaration imports.
[in] | die | The import declaration to resolve. If the DIE is not a DW_TAG_imported_declaration the behaviour is undefined. |
Definition at line 3639 of file DWARFASTParserClang.cpp.
References DWARFDIE::GetAttributeValueAsReferenceDIE(), DWARFDIE::GetDIE(), LinkDeclContextToDIE(), m_die_to_decl_ctx, ResolveImportedDeclarationDIE(), ResolveNamespaceDIE(), and DWARFBaseDIE::Tag().
Referenced by GetClangDeclContextForDIE(), and ResolveImportedDeclarationDIE().
|
protected |
Definition at line 3611 of file DWARFASTParserClang.cpp.
References DWARFBaseDIE::GetAttributeValueAsUnsigned(), GetClangDeclContextContainingDIE(), DWARFDIE::GetDIE(), DWARFDIE::GetName(), GetOwningClangModule(), lldb_private::TypeSystemClang::GetUniqueNamespaceDeclaration(), LinkDeclContextToDIE(), m_ast, m_die_to_decl_ctx, and DWARFBaseDIE::Tag().
Referenced by GetClangDeclContextForDIE(), and ResolveImportedDeclarationDIE().
|
private |
Returns 'true' if we should create an unnamed bitfield and add it to the parser's current AST.
[in] | last_field_info | FieldInfo of the previous DW_TAG_member we parsed. |
[in] | last_field_end | Offset (in bits) where the last parsed field ended. |
[in] | this_field_info | FieldInfo of the current DW_TAG_member being parsed. |
[in] | layout_info | Layout information of all decls parsed by the current parser. |
Definition at line 3862 of file DWARFASTParserClang.cpp.
References lldb_private::ClangASTImporter::LayoutInfo::base_offsets, DWARFASTParserClang::FieldInfo::bit_offset, DWARFASTParserClang::FieldInfo::bit_size, and DWARFASTParserClang::FieldInfo::IsArtificial().
Referenced by ParseSingleMember().
|
protected |
If type_sp
is valid, calculate and set its symbol context scope, and update the type list for its backing symbol file.
Returns type_sp
.
Definition at line 1494 of file DWARFASTParserClang.cpp.
References lldb_private::SymbolContext::comp_unit, lldb_private::Block::FindBlockByID(), lldb_private::SymbolContext::function, lldb_private::Function::GetBlock(), DWARFDIE::GetDIE(), DWARFBaseDIE::GetDWARF(), DWARFBaseDIE::GetID(), SymbolFileDWARF::GetParentSymbolContextDIE(), lldb_private::SymbolContext::module_sp, and DWARFBaseDIE::Tag().
Referenced by ParseTypeFromDWARF().
|
protected |
Definition at line 121 of file DWARFASTParserClang.h.
Referenced by CompleteRecordType(), CompleteTypeFromDWARF(), GetClangDeclContextContainingDIE(), GetClangDeclContextForDIE(), GetClangDeclForDIE(), GetDeclContextContainingUIDFromDWARF(), GetDeclContextForUIDFromDWARF(), GetDeclForUIDFromDWARF(), GetDIEClassTemplateParams(), GetOwningClangModule(), ParseArrayType(), ParseChildEnumerators(), ParseChildParameters(), ParseEnum(), ParseRustVariantPart(), ParseSingleMember(), ParseStructureLikeDIE(), ParseSubroutine(), ParseTemplateDIE(), ParseTypeFromClangModule(), ParseTypeModifier(), ResolveBlockDIE(), and ResolveNamespaceDIE().
|
protected |
Definition at line 126 of file DWARFASTParserClang.h.
Referenced by GetClangASTImporter().
|
protected |
Definition at line 124 of file DWARFASTParserClang.h.
Referenced by EnsureAllDIEsInDeclContextHaveBeenParsed(), and LinkDeclContextToDIE().
|
protected |
Definition at line 122 of file DWARFASTParserClang.h.
Referenced by GetClangDeclForDIE().
|
protected |
Definition at line 123 of file DWARFASTParserClang.h.
Referenced by CopyUniqueClassMethodTypes(), GetCachedClangDeclContextForDIE(), LinkDeclContextToDIE(), ResolveBlockDIE(), ResolveImportedDeclarationDIE(), and ResolveNamespaceDIE().
|
protected |
Definition at line 125 of file DWARFASTParserClang.h.
Referenced by GetOwningClangModule().