|
LLDB mainline
|
#include <UdtRecordCompleter.h>
Classes | |
| struct | Member |
| struct | Record |
Public Types | |
| using | MemberUP = std::unique_ptr<Member> |
Public Member Functions | |
| UdtRecordCompleter (PdbTypeSymId id, CompilerType &derived_ct, clang::TagDecl &tag_decl, PdbAstBuilder &ast_builder, PdbIndex &index, llvm::DenseMap< clang::Decl *, DeclStatus > &decl_to_status, llvm::DenseMap< lldb::opaque_compiler_type_t, llvm::SmallSet< std::pair< llvm::StringRef, CompilerType >, 8 > > &cxx_record_map) | |
| void | complete () |
Private Types | |
| using | IndexedBase |
Private Member Functions | |
| clang::QualType | AddBaseClassForTypeIndex (llvm::codeview::TypeIndex ti, llvm::codeview::MemberAccess access, std::optional< uint64_t > vtable_idx=std::optional< uint64_t >()) |
| void | AddMethod (llvm::StringRef name, llvm::codeview::TypeIndex type_idx, llvm::codeview::MemberAccess access, llvm::codeview::MethodOptions options, llvm::codeview::MemberAttributes attrs) |
| void | FinishRecord () |
| uint64_t | AddMember (TypeSystemClang &clang, Member *field, uint64_t bit_offset, CompilerType parent_ct, ClangASTImporter::LayoutInfo &parent_layout, clang::DeclContext *decl_ctx) |
Private Attributes | |
| CVTagRecord | m_cv_tag_record |
| PdbTypeSymId | m_id |
| CompilerType & | m_derived_ct |
| clang::TagDecl & | m_tag_decl |
| PdbAstBuilder & | m_ast_builder |
| PdbIndex & | m_index |
| std::vector< IndexedBase > | m_bases |
| ClangASTImporter::LayoutInfo | m_layout |
| llvm::DenseMap< clang::Decl *, DeclStatus > & | m_decl_to_status |
| llvm::DenseMap< lldb::opaque_compiler_type_t, llvm::SmallSet< std::pair< llvm::StringRef, CompilerType >, 8 > > & | m_cxx_record_map |
| Record | m_record |
Definition at line 41 of file UdtRecordCompleter.h.
|
private |
Definition at line 42 of file UdtRecordCompleter.h.
| using lldb_private::npdb::UdtRecordCompleter::MemberUP = std::unique_ptr<Member> |
Definition at line 74 of file UdtRecordCompleter.h.
| UdtRecordCompleter::UdtRecordCompleter | ( | PdbTypeSymId | id, |
| CompilerType & | derived_ct, | ||
| clang::TagDecl & | tag_decl, | ||
| PdbAstBuilder & | ast_builder, | ||
| PdbIndex & | index, | ||
| llvm::DenseMap< clang::Decl *, DeclStatus > & | decl_to_status, | ||
| llvm::DenseMap< lldb::opaque_compiler_type_t, llvm::SmallSet< std::pair< llvm::StringRef, CompilerType >, 8 > > & | cxx_record_map ) |
Definition at line 37 of file UdtRecordCompleter.cpp.
References m_ast_builder, m_cv_tag_record, m_cxx_record_map, m_decl_to_status, m_derived_ct, m_id, m_index, and m_tag_decl.
|
private |
Definition at line 63 of file UdtRecordCompleter.cpp.
References m_ast_builder, m_bases, m_index, and lldb_private::npdb::TranslateMemberAccess().
|
private |
Definition at line 364 of file UdtRecordCompleter.cpp.
References lldb_private::npdb::UdtRecordCompleter::Member::access, lldb_private::TypeSystemClang::AddFieldToRecordType(), AddMember(), lldb_private::npdb::UdtRecordCompleter::Member::base_offset, lldb_private::ClangASTImporter::LayoutInfo::bit_size, lldb_private::npdb::UdtRecordCompleter::Member::bit_size, lldb_private::npdb::UdtRecordCompleter::Member::bitfield_width, lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb::eAccessPublic, lldb::eLanguageTypeC_plus_plus, lldb_private::npdb::UdtRecordCompleter::Member::Field, lldb_private::ClangASTImporter::LayoutInfo::field_offsets, lldb_private::npdb::UdtRecordCompleter::Member::fields, lldb_private::npdb::UdtRecordCompleter::Member::kind, m_ast_builder, m_decl_to_status, lldb_private::npdb::UdtRecordCompleter::Member::name, lldb_private::npdb::UdtRecordCompleter::Member::qt, lldb_private::npdb::DeclStatus::resolved, lldb_private::ClangASTMetadata::SetIsDynamicCXXType(), lldb_private::ClangASTMetadata::SetUserID(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), lldb_private::npdb::UdtRecordCompleter::Member::Struct, lldb_private::npdb::DeclStatus::uid, and lldb_private::npdb::UdtRecordCompleter::Member::Union.
Referenced by AddMember(), and FinishRecord().
|
private |
Definition at line 84 of file UdtRecordCompleter.cpp.
References m_ast_builder, m_cxx_record_map, m_derived_ct, lldb_private::TypeSystemClang::RequireCompleteType(), and lldb_private::npdb::TranslateMemberAccess().
| void UdtRecordCompleter::complete | ( | ) |
Definition at line 329 of file UdtRecordCompleter.cpp.
References lldb_private::TypeSystemClang::BuildIndirectFields(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), FinishRecord(), m_ast_builder, m_bases, m_derived_ct, m_layout, m_tag_decl, and lldb_private::TypeSystemClang::RequireCompleteType().
Referenced by lldb_private::npdb::PdbAstBuilder::CompleteTagDecl().
|
private |
Definition at line 425 of file UdtRecordCompleter.cpp.
References AddMember(), m_ast_builder, m_derived_ct, m_id, m_layout, and m_record.
Referenced by complete().
|
private |
Definition at line 49 of file UdtRecordCompleter.h.
Referenced by AddBaseClassForTypeIndex(), AddMember(), AddMethod(), complete(), FinishRecord(), and UdtRecordCompleter().
|
private |
Definition at line 51 of file UdtRecordCompleter.h.
Referenced by AddBaseClassForTypeIndex(), and complete().
|
private |
Definition at line 45 of file UdtRecordCompleter.h.
Referenced by UdtRecordCompleter().
|
private |
Definition at line 56 of file UdtRecordCompleter.h.
Referenced by AddMethod(), and UdtRecordCompleter().
|
private |
Definition at line 53 of file UdtRecordCompleter.h.
Referenced by AddMember(), and UdtRecordCompleter().
|
private |
Definition at line 47 of file UdtRecordCompleter.h.
Referenced by AddMethod(), complete(), FinishRecord(), and UdtRecordCompleter().
|
private |
Definition at line 46 of file UdtRecordCompleter.h.
Referenced by FinishRecord(), and UdtRecordCompleter().
|
private |
Definition at line 50 of file UdtRecordCompleter.h.
Referenced by AddBaseClassForTypeIndex(), and UdtRecordCompleter().
|
private |
Definition at line 52 of file UdtRecordCompleter.h.
Referenced by complete(), and FinishRecord().
|
private |
Definition at line 123 of file UdtRecordCompleter.h.
Referenced by FinishRecord().
|
private |
Definition at line 48 of file UdtRecordCompleter.h.
Referenced by complete(), and UdtRecordCompleter().