LLDB mainline
|
#include <PdbAstBuilder.h>
Private Types | |
using | TypeIndex = llvm::codeview::TypeIndex |
Private Member Functions | |
clang::Decl * | TryGetDecl (PdbSymUid uid) const |
clang::QualType | CreatePointerType (const llvm::codeview::PointerRecord &pointer) |
clang::QualType | CreateModifierType (const llvm::codeview::ModifierRecord &modifier) |
clang::QualType | CreateArrayType (const llvm::codeview::ArrayRecord &array) |
clang::QualType | CreateRecordType (PdbTypeSymId id, const llvm::codeview::TagRecord &record) |
clang::QualType | CreateEnumType (PdbTypeSymId id, const llvm::codeview::EnumRecord &record) |
clang::QualType | CreateFunctionType (TypeIndex args_type_idx, TypeIndex return_type_idx, llvm::codeview::CallingConvention calling_convention) |
clang::QualType | CreateType (PdbTypeSymId type) |
void | CreateFunctionParameters (PdbCompilandSymId func_id, clang::FunctionDecl &function_decl, uint32_t param_count) |
clang::Decl * | GetOrCreateSymbolForId (PdbCompilandSymId id) |
clang::VarDecl * | CreateVariableDecl (PdbSymUid uid, llvm::codeview::CVSymbol sym, clang::DeclContext &scope) |
clang::NamespaceDecl * | GetOrCreateNamespaceDecl (const char *name, clang::DeclContext &context) |
clang::FunctionDecl * | CreateFunctionDeclFromId (PdbTypeSymId func_tid, PdbCompilandSymId func_sid) |
clang::FunctionDecl * | CreateFunctionDecl (PdbCompilandSymId func_id, llvm::StringRef func_name, TypeIndex func_ti, CompilerType func_ct, uint32_t param_count, clang::StorageClass func_storage, bool is_inline, clang::DeclContext *parent) |
void | ParseNamespace (clang::DeclContext &parent) |
void | ParseAllTypes () |
void | ParseAllFunctionsAndNonLocalVars () |
void | ParseDeclsForSimpleContext (clang::DeclContext &context) |
void | ParseBlockChildren (PdbCompilandSymId block_id) |
std::pair< clang::DeclContext *, std::string > | CreateDeclInfoForType (const llvm::codeview::TagRecord &record, TypeIndex ti) |
std::pair< clang::DeclContext *, std::string > | CreateDeclInfoForUndecoratedName (llvm::StringRef uname) |
clang::QualType | CreateSimpleType (TypeIndex ti) |
Private Attributes | |
TypeSystemClang & | m_clang |
ClangASTImporter | m_importer |
llvm::once_flag | m_parse_functions_and_non_local_vars |
llvm::once_flag | m_parse_all_types |
llvm::DenseMap< clang::Decl *, DeclStatus > | m_decl_to_status |
llvm::DenseMap< lldb::user_id_t, clang::Decl * > | m_uid_to_decl |
llvm::DenseMap< lldb::user_id_t, clang::QualType > | m_uid_to_type |
llvm::DenseMap< lldb::opaque_compiler_type_t, llvm::SmallSet< std::pair< llvm::StringRef, CompilerType >, 8 > > | m_cxx_record_map |
llvm::DenseSet< clang::NamespaceDecl * > | m_parsed_namespaces |
Definition at line 53 of file PdbAstBuilder.h.
|
private |
Definition at line 95 of file PdbAstBuilder.h.
PdbAstBuilder::PdbAstBuilder | ( | TypeSystemClang & | clang | ) |
Definition at line 162 of file PdbAstBuilder.cpp.
|
inline |
Definition at line 87 of file PdbAstBuilder.h.
References m_clang.
Referenced by lldb_private::npdb::UdtRecordCompleter::AddBaseClassForTypeIndex(), lldb_private::npdb::UdtRecordCompleter::AddMethod(), lldb_private::npdb::UdtRecordCompleter::complete(), and lldb_private::npdb::UdtRecordCompleter::FinishRecord().
bool PdbAstBuilder::CompleteTagDecl | ( | clang::TagDecl & | tag | ) |
Definition at line 435 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbSymUid::asTypeSym(), lldb_private::npdb::UdtRecordCompleter::complete(), error(), lldb_private::TypeSystemClang::getASTContext(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::GetBestPossibleDecl(), lldb_private::npdb::GetFieldListIndex(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsForwardRefUdt(), lldb_private::npdb::IsTagRecord(), lldbassert, lldb_private::npdb::LookThroughModifierRecord(), m_clang, m_cxx_record_map, m_decl_to_status, lldb_private::npdb::DeclStatus::resolved, lldb_private::TypeSystemClang::SetHasExternalStorage(), ToCompilerType(), lldb_private::npdb::PdbIndex::tpi(), and lldb_private::npdb::DeclStatus::uid.
Referenced by CompleteType(), and ParseDeclsForSimpleContext().
bool PdbAstBuilder::CompleteType | ( | clang::QualType | qt | ) |
Definition at line 421 of file PdbAstBuilder.cpp.
References CompleteTagDecl().
Referenced by lldb_private::npdb::SymbolFileNativePDB::CompleteType().
|
private |
Definition at line 1164 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::CreateArrayType(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateType(), lldb_private::npdb::GetSizeOfType(), lldb_private::TypeSystem::GetSymbolFile(), m_clang, ToCompilerType(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateType().
|
private |
Definition at line 169 of file PdbAstBuilder.cpp.
References AnyScopesHaveTemplateParams(), CreateDeclInfoForUndecoratedName(), lldb_private::SymbolFile::GetBackingSymbolFile(), GetOrCreateNamespaceDecl(), GetOrCreateType(), lldb_private::npdb::SymbolFileNativePDB::GetParentType(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::TypeSystemClang::GetTranslationUnitDecl(), and m_clang.
Referenced by CreateEnumType(), CreateRecordType(), and ParseNamespace().
|
private |
Definition at line 322 of file PdbAstBuilder.cpp.
References FromCompilerDeclContext(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateNamespaceDecl(), GetOrCreateType(), MSVCUndecoratedNameParser::GetSpecifiers(), lldb_private::TypeSystem::GetSymbolFile(), GetTranslationUnitDecl(), m_clang, and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateDeclInfoForType(), and GetParentDeclContext().
|
private |
Definition at line 1141 of file PdbAstBuilder.cpp.
References CreateDeclInfoForType(), lldb_private::TypeSystemClang::CreateEnumerationType(), lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateType(), m_clang, lldb_private::TypeSystemClang::SetHasExternalStorage(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), and ToCompilerType().
Referenced by CreateType().
|
private |
Definition at line 850 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::AddMethodToCXXRecordType(), lldb_private::npdb::CVTagRecord::asTag(), lldb_private::npdb::CVTagRecord::create(), lldb_private::TypeSystemClang::CreateFunctionDeclaration(), CreateFunctionParameters(), lldb::eAccessPublic, error(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::CompilerType::GetOpaqueQualType(), lldb_private::TypeSystem::GetSymbolFile(), m_clang, m_cxx_record_map, ToCompilerType(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateFunctionDeclFromId(), and GetOrCreateFunctionDecl().
|
private |
Definition at line 960 of file PdbAstBuilder.cpp.
References CreateFunctionDecl(), FromCompilerDeclContext(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateDeclContextForUid(), GetOrCreateNamespaceDecl(), GetOrCreateType(), lldb_private::TypeSystem::GetSymbolFile(), GetTranslationUnitDecl(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::PdbIndex::ipi(), lldb_private::npdb::PdbTypeSymId::is_ipi, lldbassert, m_clang, and ToCompilerType().
Referenced by GetOrCreateInlinedFunctionDecl().
|
private |
Definition at line 1066 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbIndex::compilands(), lldb_private::TypeSystemClang::CreateParameterDeclaration(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::CompileUnitIndex::GetCompiland(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateType(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::TypeSystemClang::GetType(), lldbassert, m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_uid_to_decl, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbCompilandSymId::offset, lldb_private::TypeSystemClang::SetFunctionParameters(), and lldb_private::npdb::toOpaqueUid().
Referenced by CreateFunctionDecl().
|
private |
Definition at line 1180 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::CreateFunctionType(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateType(), lldb_private::TypeSystem::GetSymbolFile(), IsCVarArgsFunction(), m_clang, ToCompilerType(), lldb_private::npdb::PdbIndex::tpi(), and TranslateCallingConvention().
Referenced by CreateType().
|
private |
Definition at line 588 of file PdbAstBuilder.cpp.
References GetOrCreateType().
Referenced by CreateType().
|
private |
Definition at line 516 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::getASTContext(), GetOrCreateType(), and m_clang.
Referenced by CreateType().
|
private |
Definition at line 601 of file PdbAstBuilder.cpp.
References CreateDeclInfoForType(), lldb_private::TypeSystemClang::CreateRecordType(), lldb::eAccessPrivate, lldb::eAccessPublic, lldb::eLanguageTypeC_plus_plus, lldb_private::CompilerType::GetOpaqueQualType(), lldb_private::CompilerType::IsValid(), lldbassert, m_clang, lldb_private::TypeSystemClang::SetHasExternalStorage(), lldb_private::ClangASTMetadata::SetIsDynamicCXXType(), lldb_private::ClangASTMetadata::SetUserID(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), lldb_private::npdb::toOpaqueUid(), and TranslateUdtKind().
Referenced by CreateType().
|
private |
Definition at line 495 of file PdbAstBuilder.cpp.
References lldb::eBasicTypeInvalid, lldb::eBasicTypeNullPtr, lldb_private::TypeSystemClang::getASTContext(), GetBasicType(), lldb_private::npdb::GetCompilerTypeForSimpleKind(), GetOrCreateType(), and m_clang.
Referenced by CreateType().
|
private |
Definition at line 752 of file PdbAstBuilder.cpp.
References lldb_private::npdb::CVTagRecord::asClass(), lldb_private::npdb::CVTagRecord::asEnum(), lldb_private::npdb::CVTagRecord::asUnion(), lldb_private::npdb::CVTagRecord::create(), CreateArrayType(), CreateEnumType(), CreateFunctionType(), CreateModifierType(), CreatePointerType(), CreateRecordType(), CreateSimpleType(), lldb_private::npdb::CVTagRecord::Enum, lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsTagRecord(), lldb_private::npdb::CVTagRecord::kind(), m_clang, lldb_private::npdb::PdbIndex::tpi(), and lldb_private::npdb::CVTagRecord::Union.
Referenced by GetOrCreateType().
|
private |
Definition at line 669 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::CreateVariableDeclaration(), GetOrCreateType(), lldb_private::npdb::GetVariableNameInfo(), m_clang, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::VariableInfo::name, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), lldb_private::npdb::VariableInfo::type, and lldb_private::npdb::DeclStatus::uid.
Referenced by GetOrCreateVariableDecl().
void PdbAstBuilder::Dump | ( | Stream & | stream | ) |
Definition at line 1450 of file PdbAstBuilder.cpp.
References lldb_private::Stream::AsRawOstream(), lldb_private::TypeSystemClang::Dump(), and m_clang.
clang::Decl * PdbAstBuilder::FromCompilerDecl | ( | CompilerDecl | decl | ) |
Definition at line 1441 of file PdbAstBuilder.cpp.
References lldb_private::ClangUtil::GetDecl().
Referenced by GetOrCreateDeclContextForUid().
clang::DeclContext * PdbAstBuilder::FromCompilerDeclContext | ( | CompilerDeclContext | context | ) |
Definition at line 1446 of file PdbAstBuilder.cpp.
References lldb_private::CompilerDeclContext::GetOpaqueDeclContext().
Referenced by CreateDeclInfoForUndecoratedName(), CreateFunctionDeclFromId(), GetOrCreateDeclContextForUid(), GetOrCreateVariableDecl(), GetParentDeclContext(), and lldb_private::npdb::SymbolFileNativePDB::ParseDeclsForContext().
clang::QualType PdbAstBuilder::GetBasicType | ( | lldb::BasicType | type | ) |
Definition at line 747 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::GetBasicType(), lldb_private::CompilerType::GetOpaqueQualType(), and m_clang.
Referenced by CreateSimpleType().
|
inline |
Definition at line 88 of file PdbAstBuilder.h.
References m_importer.
Referenced by lldb_private::npdb::UdtRecordCompleter::AddMember(), lldb_private::npdb::UdtRecordCompleter::complete(), and lldb_private::npdb::SymbolFileNativePDB::CompleteType().
clang::BlockDecl * PdbAstBuilder::GetOrCreateBlockDecl | ( | PdbCompilandSymId | block_id | ) |
Definition at line 651 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::CreateBlockDeclaration(), GetParentDeclContext(), m_clang, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
Referenced by lldb_private::npdb::SymbolFileNativePDB::CreateBlock(), and GetOrCreateSymbolForId().
clang::DeclContext * PdbAstBuilder::GetOrCreateDeclContextForUid | ( | PdbSymUid | uid | ) |
Definition at line 306 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::npdb::CompilandSym, FromCompilerDecl(), FromCompilerDeclContext(), GetOrCreateDeclForUid(), GetTranslationUnitDecl(), lldb_private::npdb::PdbSymUid::kind(), and lldb_private::npdb::PdbCompilandSymId::offset.
Referenced by CreateFunctionDeclFromId(), lldb_private::npdb::UdtRecordCompleter::FinishRecord(), lldb_private::npdb::SymbolFileNativePDB::GetDeclContextForUID(), GetOrCreateVariableDecl(), and GetParentDeclContext().
std::optional< CompilerDecl > PdbAstBuilder::GetOrCreateDeclForUid | ( | PdbSymUid | uid | ) |
Definition at line 277 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::npdb::PdbSymUid::asTypeSym(), lldb_private::npdb::CompilandSym, GetOrCreateSymbolForId(), GetOrCreateType(), lldb_private::npdb::PdbSymUid::kind(), m_uid_to_decl, ToCompilerDecl(), lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::Type.
Referenced by GetOrCreateDeclContextForUid().
clang::FunctionDecl * PdbAstBuilder::GetOrCreateFunctionDecl | ( | PdbCompilandSymId | func_id | ) |
Definition at line 1012 of file PdbAstBuilder.cpp.
References CreateFunctionDecl(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateType(), GetParentDeclContext(), lldb_private::TypeSystem::GetSymbolFile(), lldbassert, m_clang, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), lldb_private::npdb::DeclStatus::resolved, ToCompilerType(), lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
Referenced by GetOrCreateSymbolForId(), and ParseAllFunctionsAndNonLocalVars().
clang::FunctionDecl * PdbAstBuilder::GetOrCreateInlinedFunctionDecl | ( | PdbCompilandSymId | inlinesite_id | ) |
Definition at line 921 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbIndex::compilands(), CreateFunctionDeclFromId(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::CompileUnitIndex::GetCompiland(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::TypeSystem::GetSymbolFile(), lldbassert, m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbCompilandSymId::offset, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
Referenced by lldb_private::npdb::SymbolFileNativePDB::CreateBlock(), and GetOrCreateSymbolForId().
|
private |
Definition at line 643 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::GetUniqueNamespaceDeclaration(), IsAnonymousNamespaceName(), and m_clang.
Referenced by CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), and CreateFunctionDeclFromId().
|
private |
Definition at line 241 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateBlockDecl(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateVariableDecl(), GetParentDeclContext(), lldb_private::TypeSystem::GetSymbolFile(), isLocalVariableType(), m_clang, m_decl_to_status, and lldb_private::npdb::PdbIndex::ReadSymbolRecord().
Referenced by GetOrCreateDeclForUid(), and ParseBlockChildren().
clang::QualType PdbAstBuilder::GetOrCreateType | ( | PdbTypeSymId | type | ) |
Definition at line 806 of file PdbAstBuilder.cpp.
References CreateType(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::GetBestPossibleDecl(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateType(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsTagRecord(), lldbassert, m_clang, m_decl_to_status, m_uid_to_type, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), lldb_private::npdb::PdbIndex::tpi(), and lldb_private::npdb::DeclStatus::uid.
Referenced by lldb_private::npdb::UdtRecordCompleter::AddBaseClassForTypeIndex(), lldb_private::npdb::UdtRecordCompleter::AddMethod(), lldb_private::npdb::SymbolFileNativePDB::CreateAndCacheType(), CreateArrayType(), CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), CreateEnumType(), CreateFunctionDeclFromId(), CreateFunctionParameters(), CreateFunctionType(), CreateModifierType(), CreatePointerType(), CreateSimpleType(), CreateVariableDecl(), GetOrCreateDeclForUid(), GetOrCreateFunctionDecl(), GetOrCreateType(), GetOrCreateTypedefDecl(), ParseAllTypes(), and ParseNamespace().
clang::TypedefNameDecl * PdbAstBuilder::GetOrCreateTypedefDecl | ( | PdbGlobalSymId | id | ) |
Definition at line 717 of file PdbAstBuilder.cpp.
References lldb_private::CompilerType::CreateTypedef(), lldb_private::npdb::DropNameScope(), lldb_private::TypeSystemClang::GetAsTypedefDecl(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateType(), GetParentDeclContext(), lldb_private::TypeSystem::GetSymbolFile(), lldbassert, m_clang, m_decl_to_status, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), lldb_private::npdb::DeclStatus::resolved, ToCompilerDeclContext(), ToCompilerType(), lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
clang::VarDecl * PdbAstBuilder::GetOrCreateVariableDecl | ( | PdbCompilandSymId | scope_id, |
PdbCompilandSymId | var_id | ||
) |
Definition at line 688 of file PdbAstBuilder.cpp.
References CreateVariableDecl(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateDeclContextForUid(), lldb_private::TypeSystem::GetSymbolFile(), m_clang, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), and TryGetDecl().
Referenced by GetOrCreateSymbolForId(), and ParseAllFunctionsAndNonLocalVars().
clang::VarDecl * PdbAstBuilder::GetOrCreateVariableDecl | ( | PdbGlobalSymId | var_id | ) |
Definition at line 704 of file PdbAstBuilder.cpp.
References CreateVariableDecl(), FromCompilerDeclContext(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::TypeSystem::GetSymbolFile(), GetTranslationUnitDecl(), m_clang, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), and TryGetDecl().
clang::DeclContext * PdbAstBuilder::GetParentDeclContext | ( | PdbSymUid | uid | ) |
Definition at line 358 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::npdb::PdbSymUid::asGlobalSym(), lldb_private::npdb::PdbSymUid::asTypeSym(), lldb_private::npdb::CompilandSym, CreateDeclInfoForUndecoratedName(), lldb_private::npdb::FieldListMember, lldb_private::npdb::SymbolFileNativePDB::FindSymbolScope(), FromCompilerDeclContext(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateDeclContextForUid(), GetParentDeclContext(), lldb_private::npdb::SymbolFileNativePDB::GetParentType(), lldb_private::TypeSystem::GetSymbolFile(), GetTranslationUnitDecl(), lldb_private::npdb::GlobalSym, lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::PdbSymUid::kind(), m_clang, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), and lldb_private::npdb::Type.
Referenced by lldb_private::npdb::SymbolFileNativePDB::GetDeclContextContainingUID(), GetOrCreateBlockDecl(), GetOrCreateFunctionDecl(), GetOrCreateSymbolForId(), GetOrCreateTypedefDecl(), and GetParentDeclContext().
lldb_private::CompilerDeclContext PdbAstBuilder::GetTranslationUnitDecl | ( | ) |
Definition at line 164 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::GetTranslationUnitDecl(), m_clang, and ToCompilerDeclContext().
Referenced by CreateDeclInfoForUndecoratedName(), CreateFunctionDeclFromId(), GetOrCreateDeclContextForUid(), GetOrCreateVariableDecl(), and GetParentDeclContext().
|
private |
Definition at line 1293 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbIndex::compilands(), lldb_private::npdb::PdbIndex::dbi(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::npdb::CompileUnitIndex::GetOrCreateCompiland(), GetOrCreateFunctionDecl(), GetOrCreateVariableDecl(), lldb_private::TypeSystem::GetSymbolFile(), m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_parse_functions_and_non_local_vars, and lldb_private::npdb::PdbCompilandSymId::offset.
Referenced by ParseDeclsForContext(), and ParseNamespace().
|
private |
Definition at line 1275 of file PdbAstBuilder.cpp.
References lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateType(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::npdb::IsTagRecord(), m_clang, m_parse_all_types, and lldb_private::npdb::PdbIndex::tpi().
Referenced by ParseDeclsForContext().
|
private |
Definition at line 1354 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbIndex::compilands(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::npdb::CompileUnitIndex::GetOrCreateCompiland(), GetOrCreateSymbolForId(), lldb_private::TypeSystem::GetSymbolFile(), lldbassert, m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_uid_to_decl, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbCompilandSymId::offset, ParseBlockChildren(), lldb_private::npdb::PdbIndex::ReadSymbolRecord(), skipFunctionParameters(), and lldb_private::npdb::toOpaqueUid().
Referenced by ParseBlockChildren(), and ParseDeclsForSimpleContext().
void PdbAstBuilder::ParseDeclsForContext | ( | clang::DeclContext & | context | ) |
Definition at line 1404 of file PdbAstBuilder.cpp.
References isBlockDecl(), isFunctionDecl(), isTagDecl(), ParseAllFunctionsAndNonLocalVars(), ParseAllTypes(), ParseDeclsForSimpleContext(), and ParseNamespace().
Referenced by lldb_private::npdb::SymbolFileNativePDB::ParseDeclsForContext().
|
private |
Definition at line 1385 of file PdbAstBuilder.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), CompleteTagDecl(), isBlockDecl(), isFunctionDecl(), lldbassert, m_decl_to_status, and ParseBlockChildren().
Referenced by ParseDeclsForContext().
|
private |
Definition at line 1236 of file PdbAstBuilder.cpp.
References lldb_private::npdb::CVTagRecord::asTag(), lldb_private::npdb::CVTagRecord::create(), CreateDeclInfoForType(), lldb_private::SymbolFile::GetBackingSymbolFile(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), GetOrCreateType(), lldb_private::TypeSystem::GetSymbolFile(), lldb_private::npdb::IsTagRecord(), m_clang, m_parsed_namespaces, ParseAllFunctionsAndNonLocalVars(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by ParseDeclsForContext().
CompilerDecl PdbAstBuilder::ToCompilerDecl | ( | clang::Decl & | decl | ) |
Definition at line 1428 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::GetCompilerDecl(), and m_clang.
Referenced by GetOrCreateDeclForUid().
CompilerDeclContext PdbAstBuilder::ToCompilerDeclContext | ( | clang::DeclContext & | context | ) |
Definition at line 1437 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::CreateDeclContext(), and m_clang.
Referenced by lldb_private::npdb::SymbolFileNativePDB::GetDeclContextContainingUID(), lldb_private::npdb::SymbolFileNativePDB::GetDeclContextForUID(), GetOrCreateTypedefDecl(), and GetTranslationUnitDecl().
CompilerType PdbAstBuilder::ToCompilerType | ( | clang::QualType | qt | ) |
Definition at line 1432 of file PdbAstBuilder.cpp.
References m_clang.
Referenced by lldb_private::npdb::UdtRecordCompleter::AddMember(), lldb_private::npdb::UdtRecordCompleter::AddMethod(), CompleteTagDecl(), lldb_private::npdb::SymbolFileNativePDB::CreateAndCacheType(), CreateArrayType(), CreateEnumType(), CreateFunctionDecl(), CreateFunctionDeclFromId(), CreateFunctionType(), GetOrCreateFunctionDecl(), and GetOrCreateTypedefDecl().
|
private |
Definition at line 635 of file PdbAstBuilder.cpp.
References m_uid_to_decl, and lldb_private::npdb::toOpaqueUid().
Referenced by GetOrCreateBlockDecl(), GetOrCreateDeclForUid(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateTypedefDecl(), and GetOrCreateVariableDecl().
|
private |
Definition at line 139 of file PdbAstBuilder.h.
Referenced by clang(), CompleteTagDecl(), CreateArrayType(), CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), CreateEnumType(), CreateFunctionDecl(), CreateFunctionDeclFromId(), CreateFunctionParameters(), CreateFunctionType(), CreatePointerType(), CreateRecordType(), CreateSimpleType(), CreateType(), CreateVariableDecl(), Dump(), GetBasicType(), GetOrCreateBlockDecl(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateNamespaceDecl(), GetOrCreateSymbolForId(), GetOrCreateType(), GetOrCreateTypedefDecl(), GetOrCreateVariableDecl(), GetParentDeclContext(), GetTranslationUnitDecl(), ParseAllFunctionsAndNonLocalVars(), ParseAllTypes(), ParseBlockChildren(), ParseNamespace(), ToCompilerDecl(), ToCompilerDeclContext(), and ToCompilerType().
|
private |
Definition at line 152 of file PdbAstBuilder.h.
Referenced by CompleteTagDecl(), and CreateFunctionDecl().
|
private |
Definition at line 144 of file PdbAstBuilder.h.
Referenced by CompleteTagDecl(), CreateVariableDecl(), GetOrCreateBlockDecl(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateSymbolForId(), GetOrCreateType(), GetOrCreateTypedefDecl(), and ParseDeclsForSimpleContext().
|
private |
Definition at line 141 of file PdbAstBuilder.h.
Referenced by GetClangASTImporter().
|
private |
Definition at line 143 of file PdbAstBuilder.h.
Referenced by ParseAllTypes().
|
private |
Definition at line 142 of file PdbAstBuilder.h.
Referenced by ParseAllFunctionsAndNonLocalVars().
|
private |
Definition at line 153 of file PdbAstBuilder.h.
Referenced by ParseNamespace().
|
private |
Definition at line 145 of file PdbAstBuilder.h.
Referenced by CreateFunctionParameters(), CreateVariableDecl(), GetOrCreateBlockDecl(), GetOrCreateDeclForUid(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), ParseBlockChildren(), and TryGetDecl().
|
private |
Definition at line 146 of file PdbAstBuilder.h.
Referenced by GetOrCreateType().