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 163 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 436 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 422 of file PdbAstBuilder.cpp.
References CompleteTagDecl().
Referenced by lldb_private::npdb::SymbolFileNativePDB::CompleteType().
|
private |
Definition at line 1166 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 170 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 323 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 1143 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 852 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 962 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 1068 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 1182 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 589 of file PdbAstBuilder.cpp.
References GetOrCreateType().
Referenced by CreateType().
|
private |
Definition at line 517 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::getASTContext(), GetOrCreateType(), and m_clang.
Referenced by CreateType().
|
private |
Definition at line 602 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 496 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 754 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 671 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 1452 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 1443 of file PdbAstBuilder.cpp.
References lldb_private::ClangUtil::GetDecl().
Referenced by GetOrCreateDeclContextForUid().
clang::DeclContext * PdbAstBuilder::FromCompilerDeclContext | ( | CompilerDeclContext | context | ) |
Definition at line 1448 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 749 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 653 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 307 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 278 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 1014 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 923 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 645 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::GetUniqueNamespaceDeclaration(), IsAnonymousNamespaceName(), and m_clang.
Referenced by CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), and CreateFunctionDeclFromId().
|
private |
Definition at line 242 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 808 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 719 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 690 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 706 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 359 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 165 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 1295 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 1277 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 1356 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 1406 of file PdbAstBuilder.cpp.
References isBlockDecl(), isFunctionDecl(), isTagDecl(), ParseAllFunctionsAndNonLocalVars(), ParseAllTypes(), ParseDeclsForSimpleContext(), and ParseNamespace().
Referenced by lldb_private::npdb::SymbolFileNativePDB::ParseDeclsForContext().
|
private |
Definition at line 1387 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 1238 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 1430 of file PdbAstBuilder.cpp.
References lldb_private::TypeSystemClang::GetCompilerDecl(), and m_clang.
Referenced by GetOrCreateDeclForUid().
CompilerDeclContext PdbAstBuilder::ToCompilerDeclContext | ( | clang::DeclContext & | context | ) |
Definition at line 1439 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 1434 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 637 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().